운영체제
2019.10.21 21:41

임베디드 리눅스 부팅 절차

조회 수 10705 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

임베디드 리눅스 시스템에서 커널이 장치에서 실행되기 전에 실행되는 단계들을 알아보자.

 

boot_process.png

 

1) ROM

2) SPL

3) TPL 

4) Linux Kernel

 

부팅 순서. 1 단계 : ROM 코드

ROM 코드는 사전 프로그래밍 된 여러 위치 중 하나에서 SRAM으로 작은 부트코드를 로드한다.

예를 들면 NAND 플래시 메모리, SPI (Serial Peripheral Interface)를 통해 연결된 플래시 메모리, MMC 장치의 첫 번째 섹터 (SD 카드) 등에서 SPL을 읽는다.

 

부팅 순서. 2 단계 : SPL(Secondary Program Loader)

일반적으로 SRAM이 U-Boot와 같은 전체 부트로더를 로드하기에 충분히 크지 않기 때문에 보조 프로그램 로더 (SPL)가 있어야한다.

SPL은 TPL을 주 메모리 (DRAM)에 로드하도록 메모리 컨트롤러 및 시스템의 기타 필수 부분의 초기화를 수행한다.

그 다음 플래시 장치의 시작 부분에서 사전 프로그래밍 된 오프셋 또는 u-boot.bin 등과 같은 알려진 파일 이름을 사용하여 ROM 코드와 마찬가지로 저장 장치 목록에서 프로그램을 주 메모리에 올린다.

 

부팅 순서. 3 단계 : TPL(Tertiary Program Loader)

U-Boot 또는 Barebox와 같은 전체 부트 로더는 간단한 명령 줄 사용자 인터페이스, 커널 이미지를 네트웍 또는 플래시 저장소에서 로드 및 부팅과 같은 유지 관리 작업을 수행한다. 커널이 실행되면 부트로더는 일반적으로 메모리에서 사라지고 시스템 작동에 더 이상 참여하지 않는다.

 

부팅 순서. 4 단계 : Kernel

비로소 커널이 실행되고 시스템의 제어권을 갖는다.

 

ROM 및 SPL 부트 로더는 내부 RAM을 사용하여 실행하는 반면 U-Boot 및 커널은 DDR(각각 0x80000000 및 0x82000000)에서 실행된다.

ram.png

 

아래 이미지는 wandboard 용 SD카드에 있는 rootfs의 boot디렉토리 내용이다. SPL, U-Boot를 비롯하여 커널이미지, 디바이스 트리등을 확인 할 수 있다.

boot_directory.png

 


  1. HelloWorld 커널 모듈과 yocto 레시피 추가 방법

  2. ESP32 블루투스 스피커(A2DP Sink)

  3. ESP-IDF 의 A2DP리뷰 (ESP32)

  4. 임베디드 리눅스 부팅 절차

  5. mainline 커널 및 etnaviv 를 사용하는 Wandboard(Freescale i.MX6Q)에서 eglfs를 사용

  6. Yocto를 이용한 wandboard BSP 및 Qt5 SDK 빌드

  7. STM32 & LibOpenCM3, printf함수사용

  8. STM32(Cortex-M3) LED Blink with PlatformIO

  9. 블루투스(Bluetooth) 기초

  10. STM32(Cortex-M3) 개발환경구축 with PlatformIO

  11. STM32(Cortex-M3) 개발 - Firmware Flashing

  12. libopencm3 활용, Cortex-M 펌웨어 개발

  13. yocto의 몇가지 중요한 용어 및 개념

  14. 라즈베리파이3와 PC간 Serial 통신 테스트

  15. 욕토 프로젝트를 이용한 Qt SDK 빌드 for 라즈베리파이3

  16. yocto project, 라즈베리파이를 위한 Qt + 임베디드리눅스 빌드

  17. STM32(Cortex-M3) 개발환경구축 with Eclipse

  18. ST, STM32 MCU용 ‘통합 개발 환경(IDE)’ 무료 제공

  19. USB OTG 기술의 개념

  20. USB 핀아웃

Board Pagination Prev 1 2 3 Next
/ 3