부트 순서

2019. 4. 29. 18:30임베디드/임베디드리눅스

1. 롬 코드

 - 믿을 만한 외부 메모리가 없으므로, 리셋이나 전원을 켠 직후에 실행되는 코드는 SoC의 칩상에 저장돼야 한다. 이를 롬 코드라고 한다. 그 중 메모리 컨트롤러가 필요없는 SRAM만 사용할 수 있다

롬 코드는 소량의 코드를 사전에 프로그램된 여러 메모리 위치 중 하나로부터 SRAM으로 로드할 수 있다. SRAM이 U-Boot 같은 완전한 부트로더를 로드할 정도로 충분히 크지 않는 SoC에는 SPL이라는 중간 로더가 있다

 

2. SPL

- SPL은 메모리 컨트롤러와 기타 TPL을 DRAM에 로드하기 위해 필요한 시스템의 필수적인 부분들을 시작해야 한다. SPL의 기능은 크기로 인해 제한된다. 

3. TPL

- 마침내 U-Boot나 Barebox 같은 완전한 부트로더를 실행할 것이다

 

[출처] http://git.eti.pg.gda.pl/intel-grant/pliki/esp/ESP_Bootloaders_ENG.pdf

COPYRIGHT 임베디드 리눅스 프로그래밍 완전정복 / 크리스 시먼즈