ZHCAAD3A September 2020 – June 2026 F29H850DM , F29H850TU , F29H859TU-Q1 , F29P329SM-Q1 , TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
与应用程序闪存启动相关的 DCSM 特性之一是能够在执行闪存中的用户应用程序代码之前对其进行身份验证。这样可确保应用程序代码在被编程到闪存存储器后未被篡改,以此确定应用程序代码的完整性。当应用于 Zone1 EXEONLY 闪存扇区时,此特性可用作关键用户应用程序代码的附加安全层。除了传统的闪存启动选项外,安全闪存启动特性还提供了一组额外的启动选项。
安全闪存启动是通过使用 128 位 AES-CMAC 身份验证算法实现的,该算法在会返回通过/失败状态的应用程序代码内容上运行,并且只有在身份验证成功时才继续执行应用程序代码。表 2-1 概述了此特性在器件不同子系统上的情况。每个 CPU 子系统的 BootROM 发起针对该子系统应用代码前 16KB 的身份验证,这称为“主要安全启动”。超出每个 CPU 子系统前 16KB 的应用程序代码的身份验证称为“扩展安全启动”。此过程可由预先进行了身份验证的应用程序代码选择性地发起。
由于在安全闪存启动期间会执行 CMAC 身份验证算法,该启动序列与正常(非安全)闪存启动相比需要更多的时间才能进入用户应用程序。请注意,与 CPU1 或 CPU2 安全闪存启动实现方案相比,器件 CM 内核安全闪存启动需要的时间更少,因为 CM 会使用硬件 AES 加速器。
|
子系统(内核) |
安全启动特性 |
CMAC 算法实现方案 |
对闪存启动代码前 16KB 进行身份验证所需的额外时间 |
|---|---|---|---|
| CPU1 SS (C28_1) | 是 | 软件(安全 ROM 实用程序)+ AES ROM 表 | ~400ms(在 INTOSC 上以 10MHz 运行) |
| CPU2 SS (C28_2) | 是 | 软件(安全 ROM 实用程序)+ AES ROM 表 | ~20ms(在 PLL 上以 200MHz 运行) |
|
CMSS (CM4) |
是 |
软件(安全 ROM 实用程序)+ 硬件 AES 加速器 |
~6ms(在 PLL 上以 125MHz 运行) |