特性

  • 片上启动 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 自行加载固件并检查签名(可选)。

../../rst_rtos/1_boot_process/figures/smart_boot_flow.svg

引导加载程序控制复位或上电后的初始操作,并提供编程闪存的方法。这可以是空白设备的初始编程,也可以是对已编程设备的擦除和重新编程。

当 RESET 引脚上的上升沿产生时,假设电源引脚处于其标称电平,则会对引导引脚进行采样,并决定是继续执行用户代码还是 ISP 处理程序。如果引导引脚被采样为低电平,则忽略启动 ISP 命令处理程序的外部硬件请求。如果没有请求执行 ISP 命令处理程序,则会搜索有效的用户程序。如果找到有效的用户程序,则将执行控制权转移给它。如果未找到有效的用户程序,则进入死循环。

是否从 NOR 或 NAND 闪存启动取决于 OTP 中的设置。此外,可以选择 PSRAM 或 DDR 来存储代码和数据。