1. 启动
1.1、存储空间分布
Bootstrap 代码启动时,存储空间上并没有用到太多的外设资源,只需搞清楚
128KROM(baseaddr:0x00400000)
80KSRAM(baseaddr:0x00300000)
16KSRAM0(baseaddr:0x00500000)
80KSRAM 它可以分为三块,
SRAMA(ITCM)、baseaddr:0x00100000
SRAMB(DTCM)、 baseaddr:0x00200000
SRAMC(AHB)baseaddr:0x00300000
如何划花,由协处理器 C15 操作完成。在系统复位后和在执行 Remap 操作之前,这 80K 空
间都为 SRAMC 基址为:0x00300000.并且可以被所有的 AHBMaster 访问。
在 Remap 后,这 80KSRAMC 映射到 地址:0x00000000。可以被 ARM926 指令和数据 AHBbus
访问。
1.2、启动时,情况
1.2.1、从哪里执行
由于我手上的主板,在硬件设计上 BMS(PB3) 通过 1K 的电阻上拉至 3.3V 即 BMS=1 由
下图可以看出,系统启动时未执行 Remap 指令,即 REMAP=0 所以启动时 固化在 ROM 里
的官方固件映射到地址:0x00000000 开始启动执行。
~1~