[ARM] ARM V7 Architecture-3

개발 공부 블로그·2024년 5월 4일
0

Bootloader와 Memory Budget (MapFile) 어떻게 변수초기화를 할 것인가

  • Bootloader 란?

    • Boot를 하면서 load 를 한다?
    • 하드웨어를 정상적으로 사용가능하게 해주고
    • 실제 동작이 가능하도록 Rom->Ram 으로 load 해준다.
  • 무엇을 Loading 하는가?

    • 실제 바이너리는 ROM에 위와 같이 RO (Code + Const Data), RW(ZI 제외) 로 저장되어 있다.

    • 따라서, 프로그램 실행 시에는 Read, Write 가 가능하도록 RAM 에 저장해야 한다. (NAND+SDRAM : Code 도 RAM 에 저장해야한다. NOR+PSRAM 은 ROM 에서 직접 실행이 가능하므로 RAM 에 안 옮겨도 된다.)

    • 여기서 ZI는 실제 바이너리에는 저장되어 있지 않지만, 실행 시에는 영역을 만들어줘야 한다.

    • 따라서 Bootloader 가 Rom 에서 Ram 으로 로딩을 해준다.

0개의 댓글

관련 채용 정보