●地址映射
● IRAM
● IROM启动方式:
• NAND Flash
• OneNAND
• MMC or SD Memory including MoviNAND and iNAND
• USB
不支持大于2G MMC卡起动。
● 起动过程:
引导代码分为BL0 (1st boot loader) 和 BL1(2nd boot loader). BL0固化在内部IROM,CPU复位后首先运行BL0,将存放在外部存储设备中的BL1加载到内部IRAM然后运行BL1。BL1初始化动态内存DRAM,然后将OS加载到DRAM运行OS。 ● BL0引导顺序: 1. 初始化PLL和时钟,将其设定为固定值; 2. 初始化栈和堆区域; 3. 初始化指令Cache 控制器; 4. 从外部起动设备中加载BL1; 5. 如果起动安全机制开启,则检查BL1数据完整性; 6. 如果校验通过,则跳转到0x34010地址处运行; 7. 如果校验失败则停止。 •如果从SD/MMC起动,BL0将SD/MMC最后的9KB数据加载到0x34000处运行。 •如果从OneNAND 和NAND起动,BL0将开始的16KB数据加载到0x34000处运行。 •坏块标记位置:如果是512B页的NAND,块坏标记在附加区域的第6个字节,如果是其它NAND,块坏标记在附加区域的第一个字节。 •如果从其它起动设备起动失败,BL0会将一个错误代码写入内部一个寄存器(0xE010841C),然后从USB起动。