임베디드 리눅스 노트
화면, 네트워크, 카메라가 필요한 기기는 MCU 대신 리눅스를 씁니다.
임베디드 리눅스
리눅스와 셸 기초
임베디드 리눅스 보드를 다루려면 파일 시스템, 권한, 프로세스, 셸 스크립트가 손에 익어야 합니다. 자주 쓰는 명령 정리.
임베디드 리눅스크로스 컴파일: PC에서 ARM 보드용 빌드
성능이 좋은 PC에서 다른 아키텍처용 실행 파일을 만드는 툴체인. sysroot와 라이브러리 버전이 맞아야 보드에서 돕니다.
임베디드 리눅스부트 과정: 전원부터 로그인까지
부트 ROM, U-Boot, 리눅스 커널, 루트 파일 시스템, init 순서로 올라옵니다. 어디서 멈췄는지 알면 문제가 좁혀집니다.
임베디드 리눅스디바이스 트리: 보드 구성을 커널에 알리기
어떤 장치가 어떤 주소와 핀에 붙어 있는지 적은 파일. 같은 커널이 여러 보드에서 돌 수 있는 이유.
임베디드 리눅스디바이스 드라이버: 커널 모듈 만들기
커널 안에서 하드웨어를 다루는 코드. 가장 단순한 모듈부터 플랫폼 드라이버, I2C 드라이버의 구조까지.
임베디드 리눅스사용자 공간 I/O: 앱에서 하드웨어 다루기
드라이버를 직접 만들지 않고 /dev, sysfs, ioctl, libgpiod로 GPIO, I2C, SPI, UART를 다루는 방법.
임베디드 리눅스Yocto와 Buildroot: 내 보드용 리눅스 통째로 빌드하기
부트로더, 커널, 루트 파일 시스템, 내 앱까지 하나의 이미지로 재현 가능하게 빌드하는 도구.
임베디드 리눅스실시간 리눅스: PREEMPT_RT와 역할 나누기
리눅스도 실시간에 가까워질 수 있지만 MCU와는 다릅니다. 지연 측정 방법과 MCU에 맡길 일을 정하는 기준.