Rockchip RK3568 TRM Part1 V1.1-20210301.pdf
1.1 Address Mapping(这一小节非常重要)
RK3568 boot from internal BootRom, which supports remap function by software
programming. Remap is controlledbyPMU_SGRF_SOC_CON1[12:11]. When remap is set to
2’b01, the BootRom is un-accessible and PMU_SRAM is mapped to address 0xFFFF0000.
When remap is set to 2’b10, the BootRom is un-accessible andSYSTEM_SRAM is mapped to
address 0xFFFF0000.
中文意思:
RK3568从内部BootRom引导,并且支持通过代码来进行地址重映射。
代码可以通过修改 PMU_SGRF_SOC_CON1[12:11] 寄存器值来进行重映射。
当设置为 01 时:BootRom 不可访问,PMU_SRAM 被映射到 0xFFFF0000
当设置为 10 时:BootRom 不可访问,SYSTEM_SRAM 被映射到 0xFFFF0000
RK3568 启动流程
RK3568 boot from internal BootRom
上电时 BootRom 的20KB空间被映射到 0xFFFF0000,
同时SYSTEM_SRAM (64KB)被映射到 0xFDCC0000
PMU_SRAM(8KB) 被映射到 0xFDCD0000
这就是上电时代码凄惨的运行环境。
BootRom 中的代码会按照上面的流程图,查找可用的loader,如果都没有,
就进入otg下载模式,等待着从上位机软件下载loader来运行。
我的 ROC-RK3568-PC 板子上只有 spi nor flash 和 external eMMC flash。
而且到手的时候,
spi nor flash 是没有数据的。
external eMMC flash 中是个可以启动的完整的 Station OS。