동바리 2022. 3. 3. 23:32

프로세서의 메모리 모델은 다음과 같습니다.

메모리 맵

우선은 Code 영역을 분석하겠습니다.(한꺼번에 포스팅하기에는 내용이 넘 많은것같네요 ㅜ.)

code region은 아래와 같이 설명하고 있습니다.

Instruction fetches are performed over the ICode bus. Data accesses are performed over the DCode bus.

그리고 code region의 디테일은 아래와 같습니다.

디테일

  • Flash : 프로그래머가 작성할 코드는 이 영역에 저장됩니다. Flash의 사이즈 또한 offset을 이용해 확인할 수 있습니다.
  • System memory + OTP : 일단 system memory은 ROM입니다. ROM에는 bootloader라고 불리우는 프로그램이 저장돼 있습니다. bootloader는 각각의 vendor(TI, ST 등등)들이 chip을 생산할때 자체적으로 제작해서 집어넣습니다.
    또한 0x1fff 0000 ~ 0x1fff ffff는 bootloader를 위해서 예약된 ROM region입니다.

    The boot loader is located in system memory. It is used to reprogram the Flash memory by using USART1 (PA9/PA10), USART3 (PC10/PC11 or PB10/PB11), CAN2 (PB5/PB13), USB OTG FS in Device mode (PA11/PA12) through DFU (device firmware upgrade).