전체 글
read enter 키 입력
shell script를 사용하여 프로그램을 작성하던 중 read를 사용하여 입력 값 중 enter 키 입력 시 프로그램이 에러가 발생한다. 그래서 예외 처리를 해야한다. 본 글은 그러한 방법에 대해 정리한 글이다. 일반적으로 read 명령어는 enter 키가 입력되면 입력을 중단한다.왜냐하면 enter 키만 입력을 하면 빈 값을 변수에 저장하게 되기 때문에 input 에 빈 값이 있는 것으로 검사를 한다.if [ $input == "^[" ]위 코드의 경우 read input 에서 enter 만 입력을 했다면 input 에는 아무값도 할당이 되지를 않습니다.그러므로 위의 코드는 다음과 같이 해석이 되어 버립니다.if [ == "" ] if 문에서 사용하는 test 기호 "[" 는 실제 syntax 가 ..
GMSL이란
높은 대역폭, 장거리 지원, 데이터 무결성, 더 나은 성능 및 카메라의 안정성은 자동차, 로봇, 스마트 시티 등 다양한 산업에서 임베디드 비전 애플리케이션에 대한 핵심 요구 사항이 될 것입니다. 이러한 애플리케이션에서 사용되는 가장 인기 있는 카메라 인터페이스 중 일부는 MIPI CSI-2 , USB 3.0 및 GigE 입니다. 그러나 이러한 인터페이스는 대량의 고해상도 디지털 비디오 데이터를 전송할 만큼 빠르지 않습니다. 여기서 Serializer/Deserializer(SerDes)가 사용됩니다. Serializer/Deserializer(SerDes) 기술을 사용하여 서로 다른 구성 요소 간에 데이터를 변환하고 전송합니다. Serializer 및 Deserializer 구성 요소는 GMSL의 핵심입..
Synology File Station에서 공유 링크를 wget/curl로 다운받는 방법
Synology File Station에 올라와 있는 파일을 외부에서 다운받기 위해 공유 링크를 생성 후 해당 링크를 wget 혹은 curl로 받으면 원하는 파일이 다운로드 되지 않고, HTML 파일만 생긴다. 아래 링크를 참고하여 직링크를 만들어도 증상은 동일했다.https://jgpark.kr/6 Synology File Station에서 다운로드 직링크(Direct Link) 만들기*본 포스팅은 2020년 4월 7일에 작성되었습니다. *본 포스팅은 Synology DS218+ (Version : DSM 6.2.2-24922 Update 4)을 기준으로 작성되었습니다. *2020년 11월 26일 업데이트 : URL 인코더/디코더 작동 오류 개선 및jgpark.kr 그 때 발견한 것이 CurlWge..
CLOCK TREE TOOL
ARM 프로세서 및 디지털 신호 프로세서용 Clock Tree Tool(CTT)은 장치 클록 트리 아키텍처에 대한 정보를 제공하는 대화형 구성 소프트웨어 도구입니다. 이 도구를 사용하면 장치 클록 트리를 시각화할 수 있습니다. 또한 특정 구성을 얻기 위한 정확한 레지스터 설정을 결정하는 데 사용할 수도 있습니다. https://www.ti.com/tool/CLOCKTREETOOL CLOCKTREETOOL Calculation tool | TI.comopen-in-new View all versionswww.ti.com 위 링크에 들어가 사용자가 사용중인 SOC에 맞게 선택해줍니다. * 해당 툴은 로그인이 되어야만 사용할 수 있습니다. 본 글에서는 AM62A 보드에서 진행합니다. 선택 후 나오는 화면은 ..
module verification failed
Jetson 장치에 커스텀 모듈을 등록할시 아래와 같이 에러가 뜬다.[ 4.048159] nvidia: module license 'NVIDIA' taints kernel.[ 4.048160] Disabling lock debugging due to kernel taint[ 4.048164] nvidia: module verification failed: signature and/or required key missing - tainting kernel[ 4.048165] nvidia: module license taints kernel 해당 에러는 현재 Jetson 장치에 있는 서명 키(sig key)와 등록하려는 모듈의 서명 키가 다르기 때문에 발생하는 증상이다. 로그가 남긴 하..
JETSON UEFI DEBUG
테스트 환경Ubuntu 22.04JETPACK 5.X 기준으로 JETSON 보드는 기본적으로 UEFI를 사용한다. 하지만 부팅 후 아래 로그 파일을 살펴 보면 실제 UEFI 로그는 보이지 않는다. 로그를 안 보이게 한 이유는 잘 모르지만, 이럴 경우 보드 부팅 시 UEFI에서 에러가 발생할 시 디버그가 불가능 해진다. 그렇기 때문에 로그를 보기 위해서는 UEFI를 다시 빌드 해주어야 한다. https://github.com/NVIDIA/edk2-nvidia/wiki/Build-without-docker Build without dockerNVIDIA EDK2 platform support. Contribute to NVIDIA/edk2-nvidia development by creating an acc..
[AM62A] GPIO 제어
테스트 환경Ubuntu 22.04SK-AM62A-LP09_01_00_07 Processor SDKAM62A에 GPIO를 사용하기 위해서 PINMUX를 추가합니다. 추가하는 방법은 아래 링크를 참고해서 진행https://e2e.ti.com/support/processors-group/processors/f/processors-forum/927526/faq-ccs-tda4vm-pinmux-guide-for-jacinto-processors [FAQ] CCS/TDA4VM: Pinmux Guide for Jacinto Processors - Processors forum - Processors - TI E2E support forums e2e.ti.com예를 들어 위 이미지에 MCASP0_AXR2(GPIO1_8..
JETPACK 6 Flash
테스트 환경Ubuntu 22.04Set & JETPACK Downloadhttps://developer.nvidia.com/embedded/jetson-linux-r363 Jetson Linux 36.3NVIDIA® Jetson™ Linux Driver Package is the board support package for Jetson. It includes Linux Kernel, UEFI bootloader, NVIDIA drivers, flashing utilities, sample filesystem based on Ubuntu, and more for the Jetson platform.developer.nvidia.com1. 원하는 Jetson Linux 버전 선택 후 아래의 세 항목 다운로..
[AM62A] Falcon Mode
본 글은 AM62A 보드의 부팅시간을 줄이기 위해 Falcon Mode의 사용법을 정리한 글이다.테스트 환경Ubuntu 22.04SK-AM62A-LP09_01_00_07 Processor SDKFalcon Mode는 SPL이 Linux 커널을 직접 시작하고 u-boot 로딩 및 초기화를 완전히 건너뛸 수 있도록 하여 빠른 부팅을 가능하게 하는 u-Boot의 기능입니다.Falcon 모드의 작동 방식을 이해하기 위해 먼저 ARM 프로세서의 일반적인 Linux 부팅 시퀀스를 간략하게 살펴보면 아래와 같다.위 프로세스를 토대로 AM62ax의 부팅 시간, 복잡성 및 저장 공간 요구 사항을 최적화하려면 AM62ax ROM -> R5 SPL -> A53 SPL -> A53 U-Boot -> Linux Kernel 의..
Jetson Sytem Upgrade
Jetson System에서 apt upgrade 진행 시 커널 버전이 바뀌기 때문에 개발 중인 모듈을 빌드할 때 에러가 발생하기도 한다. 그렇기 때문에 linux 상에서 이용하는 apt-mark 기능을 이용한다. apt-mark는 패키지가 자동으로 설치되는 것으로 표시되었는지 여부를 변경 합니다. 패키지 설치를 요청하고 그 결과 종속성을 충족하기 위해 다른 패키지가 설치되면 종속성이 자동으로 설치되는 것으로 표시됩니다. 본 글에서는 apt-mark의 hold 기능을 이용하여 apt update & upgrade 시 L4T 패키지가 업그레이드되는 것을 방지합니다. 터미널을 열어 아래 명령어를 실행합니다.sudo apt-mark hold 'nvidia-l4t-*'위 사진과 같이 hold 기능은 지정된 패키..