
BSP 개발에 대한 정의 및 프로세스

부트로더의 역할전원 켜짐 → SoC의 ROM 코드 실행 → 1차 부트로더(SPL) → 2차 부트로더(U‑Boot) → 커널 로드U‑Boot이 하는 일하드웨어 초기화 (DRAM, 클럭, GPIO, 시리얼 콘솔, 저장장치 인터페이스)커널 이미지/디바이스 트리 로드환경변수에

사용하는 보드는 Cortex-A35 기반 보드 > 1.2.1 Booting message > 1.2.2 printenv > 1.2.3 run bootcmd 1. U-Boot DDR 설정 파악
ubuntu24.04 version(virtualbox)에서 진행했으며Mobaxterm에서 SSH연결해서 진행기존 sd카드에 있던 빌드파일 통째로 백업sd 카드에 U-Boot 쓰기U-Boot 소스코드 빌드SD카드에 복사 (수동으로 쓰기)SD카드에 복사 (NuWriter
ubuntu24.04 version(virtualbox)에서 진행했으며Mobaxterm에서 SSH연결해서 진행git에서 NuWriter 다운로드 후 압축파일 해제python 최신버전 설치NuWriter가 MA35D1과 통신할 때 필요한 libusb 라이브러리 다운로드

<TrustZone이 U-Boot는 아니지만 구분하기 편하게 U-Boot 섹션에 넣음>TrustZone이란?하나의 프로세서를 Secure World와 Non-secure World로 논리적으로 분리해주는 하드웨어 기반 보안 기술TF-A (Trusted Firmwa

빌드 산출물/도구 존재 확인 (BL2/BL31 & fiptool 빌드)fip.bin 생성여러 구성요소를 하나로 묶은 컨테이너 역할BL2 단계에서 로드되고 검증되어 이후 부트 체인에 필요한 각종 펌웨어를 포함fip.bin 내용 검증\+) OP_TEE도 사용하고 싶다면 f

과거 임베디드 시스템 구축은 수동적인 크로스 컴파일과 파편화된 스크립트에 의존하여 재현성과 장기 유지보수에 근본적인 한계를 안고 있었으나최근 임베디드 리눅스 시스템 개발 특히 BSP(Board Support Package) 개발 분야에서 Yocto Project는 필수

시작하기에 앞서서 나는 Docker 환경에서 실행했다.이 페이지는 Yocto Project에서 Bitbake를 하기 위한 과정을 설명하기 위한 글로 Docker에 대해서는 나중에 자세히 다뤄볼 예정이다.그래도 간단하게 설명하자면Docker란?리눅스 컨테이너 기술을 기반

개발 환경 도중에 zImage(kernel image)를 변경한 경우 간단하게 TFTP server로 올려서 test 해볼 수 있다.TFTP 서버 패키지 설치새로운 zImage 생성meuconfig -> Device Drivers -> Graphic support ->
현재 부팅 되고 있는 전체 이미지에 kernel zImage, Device Tree Binary 파일을 보드 내 특정 RAM sector에 올려 그 부분만 Image를 바꾸어 실행하여 kernel 수정사항을 즉각적으로 확인할 수 있게 한다.settingSD 카드 Boo
공간 부족 해결 : 전체 pack파일 .sdcard 형태의 이미지는 작은 크기로 고정하여 원하는 크기 확보가 불가능함수동 fdisk로 3GB rootFs 및 11.8GB DataFs 확보Sector 65536 : MA35D1 보드 Yocto 설계에 따라 RootFs은

디바이스 트리하드웨어의 구성 정보를 명시 (어떻게 연결 되어 있는지)하드웨어를 직접 제어 (하드웨어 초기화, 레지스터 조작, 인터럽트 처리)순서 : 커널이 디바이스 트리 노드를 순회하다가 노드를 찾으면 해당 드라이버의 probe 함수를 호출하드웨어의 구조와 특성을 운영
리눅스 프레임버퍼 및 임베디드 환경에서 터치스크린 사용할 때, 터치 좌표 보정 및 필터링 제공하는 C라이브러리ts_calibrate 및 ts_test 같은 유틸리티로 터치패널을 캘리브레이션 하고 QT에서 터치 이벤트를 안정적으로 받도록 도와줌디렉토리 생성 tslib 설

개발 환경 (호스트 PC) : Ubuntu PC에서 MA35D1 보드용으로 configure, make 명령어를 통해 qt 라이브러리와 애플리케이션 빌드실행 환경 (타겟 보드) : 컴파일된 파일들을 MA35D1 보드에 옮김최종 목표 : MA35D1 보드에서 Qt 애플리

컴파일 속도면에서의 유의미한 차이 (Yocto는 환경체크와 레시피 처리에 많은 시간이 소요됌)세밀한 제어와 커스터마이징 (소스빌드는 즉시 수정후 결과를 덤프하기에 편리함)초기 하드웨어 브링업 테스트 단계에서 오프셋을 직접 제어 하는 것이 부트 스트랩 과정을 검증하는

호스트 PC(Ubuntu)가 작업 서버가 되고, 타겟보드(MA35D1)가 클라이언트가 되어 네트워크로 파일을 읽어오는 구조NFS 서버 패키지 설치RootFs 디렉토리 생성 및 권한 설정Yocto 이미지 압축 및 해제NFS 공유 설정 수정 (/etc/exports)NFS