본문 바로가기

전체 글

(35)
Jetson 에서 Yocto Linux 탑재하기 [2] 지난번에 meta-tegra를 이용한 기초 빌드가 완료되었다. 이번엔 기초 빌드 이후 kernel 단 수정이나, pinmux 변경 등 커스터마이징에 대해서 작성하겠다.빌드가 완료되면 /yocto/poky/build/tmp 해당 경로에 빌드가 완료된 패키지나 소스코드를 확인할 수 있다. 나같은 경우는 하기의 경로에서 kerner source 를 수정하였다./yocto/poky/build/tmp/work-shared/jetson-agx-xavier-industrial/kernel-source/nvidia해당 경로는 bitbake를 이용하여 쉽게 찾을 수도있다.$ bitbake -c devshell virtual/kernel Device Tree 수정agx-xavier-industrial 의 경우 t19x 플..
Jetson 에서 Yocto Linux 탑재하기 H/W 선정이번 프로젝트에서 사용될 Nvidia 社 의 Jetson-agx-xavier-industrial 모델과 해당 모델을 통해 개발을 하기위한 캐리어보드를 같이 구매했다.캐리어보드는 하드웨어를 커스터마이징해서 프로젝트에 맞게 재구성할 예정이지만.. 체험을 위해 에버미디어 社의 캐리어보드를 미리 준비하여 다루어보았다.캐리어 보드에는 기본적으로 전원을 넣기위한 파워 어댑터,  USB Port, HDMI Port 등 기본적인 인터페이스가 구성되어있어 바로 개발해볼 수 있다. L4T Ubuntu vs Yocto LinuxNvidia 에서는 Jetson 을 좀 더 쉽게 쓸수있게 공식적으로 L4T Ububtu 를 제공한다. 이를 사용하여 별도의 운영체제를 구성할 필요없이 바로 사용할 수도 있다.아래 사진처럼 ..
Jetson 에서 I2C 통신 하기 I2C(Inter-Integrated Circuit)는 저속의 직렬 통신 방식으로, 마이크로컨트롤러(MCU) 및 주변장치(센서, 디스플레이, EEPROM 등) 를 연결하는데 사용되고 있는 프로토콜이다.I2C는 보통 두개 (SCL,SDA)의 선을 사용하여 여러가지 장치를 동일한 버스에 연결할 수 있는 특징이 있다.SCL(Serial Clock Line): 클럭 신호를 보내는 선입니다. 이 클럭 신호에 맞춰 데이터가 전송됩니다.SDA(Serial Data Line): 데이터가 전송되는 선입니다. 각 장치 간의 데이터 전송은 이 선을 통해 이루어집니다.I2C의 주요 특징 마스터-슬레이브 구조: I2C 버스에는 마스터와 슬레이브가 있습니다. 마스터는 클럭 신호를 제어하며 슬레이브와 통신을 시작하고 종료할 수 있..
Jetson과 NVRAM 간의 SPI 통신 [2] 1편에 이어서 Jetson 보드에서 Nvram 과 SPI 통신을 하기위한 예제를 이어서 다룬다. 1편 과정을 진행했을때 Jetson 보드에 해당 Yocto 이미지를 플래시해서 부팅했더니 /dev 경로내에 SPI 관련 장치들이 표시되었다. NVRAM과 연결된 장치는 spidev2.0 이며, 테스트를 위해 구글링을 통해 spi-tool  소스코드를 얻을 수 있어 해당 코드를 수정후에 사용하였다.출처 : https://github.com/cpb-/spi-tools/blob/master/src/spi-tools.c spi-tools/src/spi-tools.c at master · cpb-/spi-toolsSimple command line tools to help using Linux spidev device..
Jetson과 NVRAM 간의 SPI 통신 [1] SPI(Serial Peripheral Interface) 통신은 직렬 주변 기기 인터페이스이다.마스터와 슬레이브 간의 데이터를 동기식 직렬 방식으로 교환하는 통신프로토콜로써 짧은 거리에서 높은 속도의 통신이 필요할때 주로 사용되며 마이크로컨트롤러, NVRAM, Discrete 칩 등 소형 주변 장치 사이에 데이터를 전송하기위해 많이 사용딘다.다수의 슬레이브 장치 지원 : 여러 슬레이브 장치를 연결할 수 있습니다. 마스터는 각각의 슬레이브를 선택할 때 해당 장치의 SS(CS) 라인을 활성화시켜 통신을 시작합니다. 다만, 다수 통신을 위해서는 그만큼 회로가 구성되어야 한다.전송 방식 : 풀-듀플렉스 통신 방식을 지원합니다. 즉, 데이터가 동시에 양방향으로 전송될 수 있습니다. 마스터가 MOSI 라인을 통해..
YOCTO Project 란 ? YOCTO Project 란 ? Yocto는 다양한 하드웨어 아키텍처에 맞춰 최적화된 리눅스 배포판을 생성할 수 있도록 개발자에게 다양한 도구와 메타데이터를 제공하는 오픈소스 협업 프로젝트이다. ARM, ARM64, x86, x86-64 등 대부분의 아키텍처를 지원하므로, Yocto는 하드웨어 플랫폼에 쉽게 포팅할 수 있는 유연성을 제공한다. 이를 통해 다양한 임베디드 시스템 환경에서 활용될 수 있다. Yocto 는 크게 메타데이터와 레시피로 구성됩니다.레시피는 패키지를 어떻게 다운로드, 빌드, 설치할지에 대한 지침을 포함하고 있습니다. 이 메타데이터는 패키지 관리, 파일 시스템 이미지 생성, 툴체인 관리 등을 자동화합니다. 그리고 이러한 메타데이터와 레시피를 Bitbake 라는 빌드 도구를 활용하여 레..
[JAVA] Android BroadcastReceiver Android 4대 컴포넌트 액티비티(Activity), 서비스(Service), 방송 수신자(BroadCast Receiver), 콘텐츠 제공자(Content Provider) 중 한개인 BroadcastReceiver 의 기초에 대해서 공부해보았습니다. 이번에 진행한 예제는 SMS 수신시 새로운 Activity에 송신자의 번호(address) 와 내용(content)를 보여주는 예제이다. 먼저 SMS메시지를 수신하는 SmsReceiver class 전문이다. package com.example.reciever; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; im..
임베디드 S/W 공부 컴퓨터 부팅순서 BIOS -> 1차 부트로더 -> 2차 부트로더 -> 커널 -> 운영체제 부트로더 (부트스트랩 로더,bootstrap loader ) 컴퓨터를 동작시키기 위해서는 미리 소프트웨어를 입력하지 않으면 안 되는데, 그것을 하기 위한 소프트웨어를 먼저 입력할 필요가 있다. 그를 위한 프로그램이 부트스트랩 로더이며, 통상의 개인용 컴퓨터에서는 ROM으로서 당초부터 중앙 처리 장치(CPU) 속에 내장되어 있다 커널 kernel 운영 체제의 기능 가운데 운영 체제를 구성하는 프로세서와 운영 체제의 제어로 수행되는 프로그램에 대하여 자원 할당을 수행하는 부분 프로세스 관리 : 프로세스에 CPU를 배분하고 작업에 필요한 환경 제공 메모리 관리 : 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상공..