特性
片上启动 ROM。
包含具有系统内编程 (ISP) 功能的引导加载程序。
使用多种硬件或软件引擎的加密算法进行安全启动过程。
挂起恢复过程。
从 NAND 或者 NOR 闪存启动。
PSRAM 或者 DDR 内存。
启动地址
重置后,CPU 将从由硬件固定的向量表起始地址启动。KM0、KM4 (NP) 和 CA32 (AP) 均从地址 0x0000_0000 启动,如下表列。
CPU |
地址 |
类型 |
---|---|---|
KM0 |
0x0000_0000 |
KM0 ITCM ROM |
KM4 |
0x0000_0000 |
KM4 ITCM ROM |
CA32 |
0x0000_0000 |
CA32 BUS ROM |
引脚描述
这些部件支持通过 LOGUART(PB23 和 PB24)和 USB 的 ISP。ISP 模式由启动时 PB24 引脚的状态决定,如下表所示。
启动模式 |
PB24 (UART_DOWNLOAD) |
描述 |
---|---|---|
非 ISP |
高 |
ISP 被绕过。部件尝试从闪存启动。 |
ISP |
低 |
部件通过 LOGUART 或 USB 进入 ISP 模式。 |
启动流程
启动流程在下图中进行了说明。在上电或硬件复位后,硬件将以 200MHz 的时钟频率启动 KM4。启动过程由片上启动 ROM 处理,并始终由 KM4 内核执行。在 KM4 引导程序代码之后,KM4 将为 KM0 和 CA32 设置环境。
KM4 启动 ROM
KM4 安全启动(可选)
KM4 启动到 SRAM
KM4 帮助 KM0 加载固件并检查签名(可选)。
KM4 帮助 CA32 加载 BL1 固件并检查签名,然后 CA32 自行加载固件并检查签名(可选)。
引导加载程序控制复位或上电后的初始操作,并提供编程闪存的方法。这可以是空白设备的初始编程,也可以是对已编程设备的擦除和重新编程。
当 RESET 引脚上的上升沿产生时,假设电源引脚处于其标称电平,则会对引导引脚进行采样,并决定是继续执行用户代码还是 ISP 处理程序。如果引导引脚被采样为低电平,则忽略启动 ISP 命令处理程序的外部硬件请求。如果没有请求执行 ISP 命令处理程序,则会搜索有效的用户程序。如果找到有效的用户程序,则将执行控制权转移给它。如果未找到有效的用户程序,则进入死循环。
是否从 NOR 或 NAND 闪存启动取决于 OTP 中的设置。此外,可以选择 PSRAM 或 DDR 来存储代码和数据。