arm 부팅 과정(2)
-
ARM Core - 5. ARM 기반의 OS와 임베디드 시스템 개발 (1. ARM에서 리눅스 커널 실행)
1. ARM에서 리눅스 커널 실행ARM 아키텍처는 임베디드 시스템, 모바일, 서버 등 다양한 환경에서 리눅스 커널을 실행하는 데 널리 활용된다.특히 Device Tree를 통해 하드웨어 구성을 동적으로 설정하며, 안드로이드에서는 JIT/AOT 컴파일을 활용하여 성능을 최적화한다.1. Device Tree 구조 분석1) Device Tree란?ARM 기반 시스템은 x86과 달리 하드웨어 구성이 정형화되어 있지 않기 때문에,커널이 실행될 때 하드웨어 정보를 직접 인식하지 못한다.이를 해결하기 위해 **Device Tree(DT, 기기 트리)**가 도입되었으며,하드웨어 구성을 별도의 데이터 구조로 저장하고 커널이 이를 참고하여 초기화하는 방식이다.2) Device Tree의 필요성기존 방식: 커널 내에서 보드..
2025.03.07 -
ARM Core - 4. ARM 프로세서의 운영 모드 및 시스템 프로그래밍 (3. 부트로더 및 시스템 초기화 실습)
3. 부트로더 및 시스템 초기화 실습: U-Boot 실습 (부트 메시지 출력)1. U-Boot란?U-Boot(Universal Bootloader)는 ARM 기반 임베디드 시스템에서 널리 사용되는 오픈소스 부트로더로, 운영체제가 실행되기 전에 하드웨어를 초기화하고 커널을 로드하는 역할을 한다.U-Boot의 주요 기능 기능 설명하드웨어 초기화CPU, RAM, 클럭, I/O 설정부팅 모드 지원SD 카드, eMMC, 네트워크(TFTP) 부팅커널 및 루트파일시스템 로드Linux 커널 및 Device Tree 로드디버깅 지원U-Boot 콘솔을 통한 시스템 진단2. U-Boot 환경 설정 및 빌드1) 필요 패키지 설치 (Ubuntu 기준)sudo apt updatesudo apt install gcc-arm-li..
2025.03.07