전체 글

전체 글

    dirty 태그 제거

    테스트 환경Ubuntu 22.04SK-AM62A-LP09_02_00_05 Processor SDKSDK 빌드를 진행하다 보면 커널 버전이나 드라이버 모듈 정보에 "dirty" 태그가 붙는 것을 확인할 수 있다.Git 버전 관리 시스템에서 트래킹하는 커널 소스 파일이 변경되었거나, 새로운 파일이 추가되었지만 아직 커밋되지 않은 경우 "dirty" 태그가 붙게된다. 커널 소스를 빌드할 때, 빌드된 커널의 버전 문자열(uname -r로 확인 가능)에 "dirty"라는 태그가 추가되고, 이 태그는 빌드 당시 커널 소스가 수정된 상태였음을 표시한다. 아래 BSP 파일안에 setlocaleverion이라는 스크립트 파일이 있는데, 파일 내 scm_version 함수 에서 "dirty" 태그를 붙게 한다. 이 스크립..

    Synology File Station Upload & Download API

    테스트 환경Ubuntu 22.04DSM Version 6DSM 로그인 웹 API 개발자 가이드를 확인해 보면 웹 API를 사용하여 DSM 로그인을 수행하는 방법을 설명하고 Synology NAS의 API를 기반으로 응용 프로그램을 확장하여 응용 프로그램이 HTTP/HTTPS 요청 및 응답을 통해 DSM 또는 DSM 패키지와 상호 작용할 수 있다고 한다. 본 글에서는 curl을 이용하여 해당 API를 진행한다. 가이드 문서를 보면 전체 API Work Flow는 아래와 같다.  먼저 애플리케이션이 Synology 프로덕션과 상호 작용하도록 하려면 애플리케이션이 먼저 계정과 비밀번호로 로그인해야 한다. 성공하면 API는 인증된 세션 ID를 반환하게 되는데, 반환한 세션 ID는 보관하고 다른 API 요청을 할..

    [09] TDA4VH - mcu_i2c0 활성화

    테스트 환경Ubuntu 22.04J78S4XG01EVMJ75S4XG01EVM Processor SDK Version 09_02_00_059.2 SDK 기준으로 muc_i2c0은 기본적으로 비활성화되어 있다. 이를 활성화하기 위해서는 dts 파일에 mcu_i2c0 항목을 추가 시켜주어야 한다. 회로도나 데이터시트를 보게 되면 SOC에 M35, G34핀이 mcu_i2c0 핀에 해당한다.현재 EVM 기준으로 mcu_i2c0은 PMIC 칩에 물려 있다.  pmic 데이터 시트를 확인해 보면 i2c1에는 0x48로 주소가 잡히게 되고, i2c2에는 0x12로 주소가 잡히게 된다고 적혀있다.i2c2는 mcu_i2c0을 나타내며, 정상적으로 활성화되어 있다면 0x12 주소가 잡혀야 한다.KERNELmcu_i2c0 활..

    [09] TDA4VH - emmc

    테스트 환경Ubuntu 22.04J78S4XG01EVMJ75S4XG01EVM Processor SDK Version 09_02_00_05먼저 emmc로 부팅하기 위해서는 여러가지 방법이 있는데 그 중에서 USB 장치 펌웨어 업그레이드 즉 DFU를 통한 방법으로 진행한다. 우선 DFU 모드를 구성하기 위해 부팅 스위치를 구성해야 한다. DFU 모드 부팅 스위치를 설정하려면 아래 이미지 확인한다.SW11[1-8] = 1000 0000SW7[1-8] = 0010 0000SW2[1-10] = 0101001010 USB 포트를 통해 보드에 전원이 공급되면 dmesg 명령어를 통해 USB 장치로 확인이 가능하다. 그 외에도 dfu-util을 사용하여 검색할 수 있습니다 .*dfu-util이 설치되어 있지 않다면 ..

    Jetson dynamic overlay

    테스트 환경AGX ORIN DevitJETPACK 6.1Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/overlay 위치에 있는 dynamic.dts 파일은 Orin 모듈을 Flash 할 시 해당 설정 값을 적용하여 부팅하낟.Flash Command:sudo ./flash.sh jetson-agx-orin-devkit internal flash할 때 참조되는 jetson-agx-orin-devkt.conf 파일을 보게 되면, 파일 하단에 OVERLAY_DTB_FILE 항목이 있다. 해당 항목에 Orin Module에 dynamic.dtbo가 설정되어 있다.dynamic.dts 파일을 열어보면 아래와 같이 구성되어 있다.일반적으로 JETSON에서 지원하는 ..

    [Kernel] Device Tree Overlay

    테스트 환경Ubuntu 22.04SK-AM62A-LP09_02_00_05 Processor SDKDevice Tree Overlay장치 트리 오버레이는 장치 트리 구조에 대한 수정 사항을 포함하는 바이너리 파일입니다. 원래 장치 트리 소스(DTS) 파일을 직접 수정하는 대신 오버레이를 사용하면 시스템을 다시 컴파일하거나 재부팅하지 않고도 변경 사항을 동적으로 적용할 수 있습니다. 오버레이 파일(*. dtbo)은 장치 트리 오버레이 소스(DTO) 파일을 컴파일하여 생성됩니다. 장치 트리 오버레이(DTO)를 사용할지 아니면 전체 장치 트리(DT)를 수정할지는 여러 요인에 따라 달라집니다. DTO를 사용하려면 일반적인 DT 구문에 익숙해야 하며, 기본 DT를 참조해야 오버레이 수정 사항을 이해할 수 있습니다...

    [Kernel] Device Tree

    테스트 환경Ubuntu 22.04SK-AM62A-LP09_02_00_05 Processor SDK디바이스 트리 디바이스 트리는 SoC의 내부 메모리 매핑 주변 장치, 외부 하드웨어 및 캐리어 보드를 포함한 시스템 하드웨어를 설명합니다. 일반적으로 칩 제조사는 캐리어 보드에 대한 참조 설계 와 모듈 및 캐리어 보드에 대한 일치하는 장치 트리를 제공하므로 보드 설계를 사용자 정의하고 일부 주변 장치를 연결할 때 설계 기반으로 사용한 캐리어 보드에서 장치 트리를 수정 해야 할 수 있습니다.캐리어 보드(Carrier Board)는 주로 System-on-Module(SoM) 또는 Compute Module과 같은 작은 모듈형 컴퓨터를 확장하고 연결하기 위해 설계된 하드웨어 보드입니다. 이 보드는 SoM에서 제공..

    Zmodem 사용하기

    HOST리눅스 시스템에서 임베디드 보드로 파일을 전송해야 하는데, 사용할 수 있는 것이 직렬 포트뿐인 경우 zmodem을 사용하면 해결이 가능하다. zmodem은 파일 생성을 관리하고 xmodem보다 훨씬 빠르고 안전하게 사용할 수 있어서 용이하다.먼저 lrzsz 를 설치한다. sudo apt install -y lrzsz 그런 다음 원하는 터미널을 사용하여 임베디드 시스템에 로그인합니다.아래는 zmodem을 통해 파일을 가져오는 명령입니다. stty -F /dev/ttyACM0 115200 #configure to the baud rate of the embedded system echo "rz" > /dev/ttyACM0 #run the rz server on the embedded systems..

    Jetson Fan Control

    테스트 환경AGX ORIN DevitJETPACK 6.1NVIDIA에서 제공하는 Devkit에는 Fan이 장착되어 있다. 사용자는 해당 Fan을 제어하여 본인에 설정에 맞게 사용이 가능하다.Jetson Orin 모듈에서는 Fan을 PWM으로 제어하고, Fan 모듈 내부에 장착되어 있는 Fan Tach라는 회전속도계 값을 받아온다. Jetson Orin 모듈은 기본으로 "quite"과 "cool" 두 가지 Fan 작동을 지원한다. 위 설정 값 중 Trip temperature 및 Hysteresis 값을 가지고, Fan 속도 제어 데몬 nvfancontrol은 선택된 속성에 대해 구성된 지점 온도에 따라 Fan 속도를 관리한다. 테이블을 보면 Trip temperature 온도에 따라 pwm 값을 변경하여..

    Orin NX/NANO Lane Polarity

    ORIN NX/NANO 모듈에서 CSI0_D1 P/N과 CSI1_D0 P/N이 Swap 되어 있다. 기존에 진행했던 카메라 센서 디바이스 트리파일을 사용하면 영상 입력이 정상적으로 받아지지 않게된다. ORIN NX/NANO Design Guide문서를 참고하게 되면 CSI 항목에 아래와 같이 나와 있다. 또한 Developer guide 문서에도 해당 Swap에 대한 문구가 나와 있다.  그래서 BSP에 tegra234-p3767-camera-p3768-imx477-A.dts 파일을 보게 되면 lane_polarity라는 옵션에 대한 설명이 있다.* lane_polarity* Based on the camera connector pin.* CSIx_D0 | CSIx_D1 | CSI(X+1)_D0 | CS..