ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
表 1-36 列出了 NONMAIN_TYPEC 寄存器的存储器映射寄存器。表 1-36 中未列出的所有寄存器偏移地址都应视为保留的位置,并且不应修改寄存器内容。
| 偏移 | 首字母缩写词 | 寄存器名称 | 组 | 部分 |
|---|---|---|---|---|
| 41C00000h | BCRCONFIGID | BCR 结构的配置 ID | 转到 | |
| 41C00004h | BOOTCFG0 | 串行线调试 (SWD) 锁定策略。 | 转到 | |
| 41C00008h | BOOTCFG1 | TI 失效分析 (FA) 模式和 BSL 调用引脚策略 | 转到 | |
| 41C0000Ch | FLASHSWP0 | 前 32kB 闪存的静态写保护策略。 受保护时,扇区将无法通过引导加载程序或应用程序代码进行编程或擦除 | 转到 | |
| 41C00010h | FLASHSWP1 | 闪存其他扇区的静态写保护策略。 受保护时,扇区将无法通过引导加载程序或应用程序代码进行编程或擦除 | 转到 | |
| 41C00014h | BOOTCFG4 | 为配置闪存 (NONMAIN) 和调试保持策略配置静态写保护策略 | 转到 | |
| 41C00018h | BOOTCFG5 | 配置是否存在客户安全代码 (CSC) 和闪存存储体交换策略 | 转到 | |
| 41C0001Ch | BOOTCFG2 | 快速引导模式策略和 BSL 模式策略 | 转到 | |
| 41C00020h | BOOTCFG3 | 批量擦除和恢复出厂设置模式策略。 这些策略会影响 SWD 启动和 BSL 启动的批量擦除和恢复出厂设置命令。 如果 SW-DP 被禁用(SWDP_MODE 被禁用),则不允许执行 SWD 启动的命令,因为 SW-DP 被完全禁用。 如果 BSL 被禁用(BSLMODE 被禁用),则这些设置对于 BSL 启动的命令无关紧要,因为 BSL 不允许被调用。 | 转到 | |
| 41C00024h + 公式 | PWDMASSERASE[y] | SWD 批量擦除命令密码的 SHA2-256 摘要(必须通过 DSSM 提供,以便验证批量擦除命令)。 | 转到 | |
| 41C00044h + 公式 | PWDFACTORYRESET[y] | SWD 恢复出厂设置命令密码的 SHA2-256 摘要(必须通过 DSSM 提供,以便验证恢复出厂设置命令)。 | 转到 | |
| 41C00064h + 公式 | PWDDEBUGLOCK[y] | 调试锁定密码的 SHA2-256 摘要。 当 BOOTCFG0.DEBUGACCESS 字段配置为“通过密码启用”时,使用此密码。 | 转到 | |
| 41C00084h | BOOTCFG6 | 应用摘要校验策略 | 转到 | |
| 41C00088h | APPDIGESTSTART | 应用程序 CRC/SHA 摘要校验的起始地址(必须是 MAIN 闪存区域中的地址)。 | 转到 | |
| 41C0008Ch | APPDIGESTLENGTH | 要包括在应用 CRC/SHA 摘要校验中的应用程序长度(以字节为单位),从 APPDIGESTSTART 开始 | 转到 | |
| 41C00090h + 公式 | APPDIGEST[y] | 引导期间要测试的预期应用 CRC32/SHA2-256 摘要。 注意:如果启用了 CRC 校验,则仅使用此摘要的第一个 32 位字。 | 转到 | |
| 41C000B0h | FLASHSWP2 | 闪存其他扇区的静态写保护策略。 受保护时,扇区将无法通过引导加载程序或应用程序代码进行编程或擦除 | 转到 | |
| 41C000B4h | BOOTCRC | NONMAIN 存储器 BCR 配置部分的 CRC 摘要。 | 转到 | |
| 41C00100h | BSLCONFIGID | BSL 结构的配置 ID | 转到 | |
| 41C00104h | BSLPINCFG0 | BSL UART 引脚配置。 这些字段的复位值对于每个器件都不同,具体取决于使用的引脚。 | 转到 | |
| 41C00108h | BSLPINCFG1 | BSL I2C 引脚配置。 这些字段的复位值对于每个器件都不同,具体取决于使用的引脚。 | 转到 | |
| 41C0010Ch | BSLCONFIG0 | BSL 调用引脚配置和存储器读出策略。 | 转到 | |
| 41C00110h + 公式 | PWDBSL[y] | BSL 密码的 SHA2-256 摘要。 | 转到 | |
| 41C00130h | BSLPLUGINCFG | 定义 MAIN 闪存中是否存在 BSL 插件及其类型。 | 转到 | |
| 41C00134h + 公式 | BSLPLUGINHOOK[y] | 用于插件初始化、接收、发送和取消初始化函数的函数指针。 | 转到 | |
| 41C00144h | BSLCONFIG1 | 转到 | ||
| 41C00148h | SBLADDRESS | 备用 BSL 的地址。 | 转到 | |
| 41C0014Ch | BSLAPPVER | 应用版本字的地址。 | 转到 | |
| 41C00150h | BSLCONFIG2 | 配置 BSL 的 BSL 警报配置和 I2C 目标器件地址。 | 转到 | |
| 41C00154h | BSLCRC | NONMAIN 存储器 BSL_CONFIG 部分的 CRC 摘要。 | 转到 |
复杂的位访问类型经过编码可适应小型表单元。表 1-37 展示了适用于此部分中访问类型的代码。
| 访问类型 | 代码 | 说明 |
|---|---|---|
| 读取类型 | ||
| R | R | 读取 |
| 写入类型 | ||
| W | W | 写入 |
| 复位或默认值 | ||
| -n | 复位后的值或默认值 | |
| 寄存器数组变量 | ||
| i、j、k、l、m、n | 当这些变量用于寄存器名称、偏移或地址时,它们指的是寄存器数组的值,其中寄存器是一组重复寄存器的一部分。寄存器组构成分层结构,数组用公式表示。 | |
| y | 当该变量用于寄存器名称、偏移或地址时,它指的是寄存器数组的值。 | |
图 1-29 展示了 BCRCONFIGID,表 1-38 中对此进行了介绍。
返回到汇总表。
BCR 结构的配置 ID
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CONFIG | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | CONFIG | R/W | 0h | BCR 结构的配置 ID |
图 1-30 显示了 BOOTCFG0,且在表 1-39 中对其进行了介绍。
返回到汇总表。
串行线调试 (SWD) 锁定策略。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SWDP_MODE | DEBUGACCESS | ||||||||||||||||||||||||||||||
| R/W-0h | W-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | SWDP_MODE | R/W | AABBh | 串行线调试端口 (SW-DP) 访问策略。该策略设置是否允许通过 SWD 引脚(连接到任何 DAP)与器件进行任何通信。禁用时,无论 DEBUGACCESS 字段的配置如何,都无法进行 SWD 通信。
|
| 15-0 | DEBUGACCESS | W | AABBh | 用于访问 AHB-AP、ET-AP 和 PWR-AP 调试访问端口的调试访问策略。请注意,如果 SWDP_MODE 设置为禁用,则会忽略该字段的值,调试端口将保持完全锁定
|
图 1-31 显示了 BOOTCFG1,且在表 1-40 中对其进行了介绍。
返回到汇总表。
TI 失效分析 (FA) 模式和 BSL 调用引脚策略
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| BSL_PIN_INVOKE | TI_FA_MODE | ||||||||||||||||||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | BSL_PIN_INVOKE | R/W | AABBh | 引导加载程序 (BSL) 引脚调用方法启用/禁用策略
|
| 15-0 | TI_FA_MODE | R/W | AABBh | 设置 TI 失效分析启用/禁用策略。如果启用,则允许通过 DSSM 重新测试请求,否则不允许。请注意 ,如果 SWDP_MODE 设置为禁用,则会忽略该字段并且无法进行失效分析。
|
图 1-32 显示了 FLASHSWP0,且在表 1-41 中对其进行了介绍。
返回到汇总表。
前 32kB 闪存的静态写保护策略。受保护时,扇区将无法通过引导加载程序或应用程序代码进行编程或擦除
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DATA | R/W | FFFFFFFFh | 每个扇区 1 位
|
图 1-33 显示了 FLASHSWP1,且在表 1-42 中对其进行了介绍。
返回到汇总表。
闪存其他扇区的静态写保护策略。受保护时,扇区将无法通过引导加载程序或应用程序代码进行编程或擦除
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DATA | R/W | FFFFFFFFh | 每 8 个扇区 1 位。这用于保护闪存存储器(0 至 256kb)
|
图 1-34 显示了 BOOTCFG4,且在表 1-43 中对其进行了介绍。
返回到汇总表。
为配置闪存 (NONMAIN) 和调试保持策略配置静态写保护策略
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DEBUGHOLD | NONMAINSWP | ||||||||||||||||||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | DEBUGHOLD | R/W | AABBh | 控制调试访问的释放,直到客户安全代码 (CSC) 发出 INITDONE。仅当启用了 DEBUGACCESS 和 CSCEXISTS 时,此配置才适用。
|
| 15-0 | NONMAINSWP | R/W | AABBh | 整个 NONMAIN 器件配置存储器的静态写保护策略。
|
图 1-35 显示了 BOOTCFG5,且在表 1-44 中对其进行了介绍。
返回到汇总表。
配置是否存在客户安全代码 (CSC) 和闪存存储体交换策略
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| FLASHBANKSWAPPOLICY | |||||||||||||||
| R/W-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CSCEXISTS | |||||||||||||||
| R/W-0h | |||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | FLASHBANKSWAPPOLICY | R/W | AABBh | 控制闪存存储体交换策略。仅当启用 CSCEXISTS 时,该配置才有效。
|
| 15-0 | CSCEXISTS | R/W | AABBh | 控制是否存在客户安全代码 (CSC)。
|
图 1-36 显示了 BOOTCFG2,且在表 1-45 中对其进行了介绍。
返回到汇总表。
快速引导模式策略和 BSL 模式策略
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| BSLMODE | FASTBOOTMODE | ||||||||||||||||||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | BSLMODE | R/W | AABBh | BSLMODE 配置引导加载程序启用/禁用策略
|
| 15-0 | FASTBOOTMODE | R/W | FFFFh | FASTBOOTMODE 配置快速引导模式启用/禁用策略
|
图 1-37 显示了 BOOTCFG3,且在表 1-46 中对其进行了介绍。
返回到汇总表。
批量擦除和出厂复位模式策略。这些策略会影响 SWD 启动和 BSL 启动的批量擦除和恢复出厂设置命令。如果 SW-DP 被禁用(SWDP_MODE 被禁用),则不允许 SWD 启动的命令,因为 SW-DP 被完全禁用。如果 BSL 被禁用(BSLMODE 被禁用),则这些设置对于 BSL 启动的命令是无关紧要的,因为 BSL 不允许被调用。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| FACTORYRESETCMDACCESS | |||||||||||||||
| R/W-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MASSERASECMDACCESS | |||||||||||||||
| R/W-0h | |||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | FACTORYRESETCMDACCESS | R/W | AABBh | 恢复出厂设置命令策略
|
| 15-0 | MASSERASECMDACCESS | R/W | AABBh | 批量擦除命令策略
|
图 1-38 展示了 PWDMASSERASE[y],表 1-47 中对此进行了介绍。
返回到汇总表。
SWD 批量擦除命令密码的 SHA2-256 摘要(必须通过 DSSM 提供,以便验证批量擦除命令)。
偏移 = 41C00024h + (y * 4h);其中 y = 0h 至 7h
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DIGEST | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DIGEST | R/W | FFFFFFFFh | 128 位批量擦除密码的 SHA2-256 位摘要 |
图 1-39 展示了 PWDFACTORYRESET[y],表 1-48 中对此进行了介绍。
返回到汇总表。
SWD 恢复出厂设置命令密码的 SHA2-256 摘要(必须通过 DSSM 提供,以便验证恢复出厂设置命令)。
偏移 = 41C00044h + (y * 4h);其中 y = 0h 至 7h
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DIGEST | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DIGEST | R/W | FFFFFFFFh | 128 位恢复出厂设置密码的 SHA2-256 位摘要 |
图 1-40 展示了 PWDDEBUGLOCK[y],表 1-49 中对此进行了介绍。
返回到汇总表。
调试锁定密码的 SHA2-256 摘要。当 BOOTCFG0.DEBUGACCESS 字段配置为“通过密码启用”时,使用此密码。
偏移 = 41C00064h + (y * 4h);其中 y = 0h 至 7h
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DIGEST | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DIGEST | R/W | FFFFFFFFh | 128 位调试锁定密码的 SHA2-256 位摘要 |
图 1-41 显示了 BOOTCFG6,且在表 1-50 中对其进行了介绍。
返回到汇总表。
应用摘要校验策略
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| APPDIGESTMODE | RESERVED | ||||||||||||||||||||||||||||||
| R/W-0h | R-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | APPDIGESTMODE | R/W | FFFFh | APPDIGESTMODE 配置 MAIN 闪存存储器中某一段的引导时间 CRC/SHA 摘要校验。
|
| 15-0 | RESERVED | R | FFFFh |
图 1-42 显示了 APPDIGESTSTART,表 1-51 中对其进行了介绍。
返回到汇总表。
应用程序 CRC/SHA 摘要校验的起始地址(必须是 MAIN 闪存区域中的地址)。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 地址 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 地址 | R/W | FFFFFFFFh | 应用 CRC/SHA 摘要校验起始地址 |
图 1-43 显示了 APPDIGESTLENGTH,表 1-52 中对其进行了介绍。
返回到汇总表。
要包括在应用 CRC/SHA 摘要校验中的应用程序长度(以字节为单位),从 APPDIGESTSTART 开始
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 长度 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 长度 | R/W | FFFFFFFFh | 应用 CRC/SHA 摘要校验源数据长度 |
图 1-44 展示了 APPDIGEST[y],表 1-53 中对其进行了介绍。
返回到汇总表。
引导期间要测试的预期应用 CRC32/SHA2-256 摘要。
注意:如果启用了 CRC 校验,则仅使用此摘要的第一个 32 位字。
偏移 = 41C00090h + (y * 4h);其中 y = 0h 至 7h
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DIGEST | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DIGEST | R/W | FFFFFFFFh | 主闪存中的应用程序的 CRC-32 位/SHA-256 位摘要 |
图 1-45 显示了 FLASHSWP2,且在表 1-54 中对其进行了介绍。
返回到汇总表。
闪存其他扇区的静态写保护策略。受保护时,扇区将无法通过引导加载程序或应用程序代码进行编程或擦除
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DATA | R/W | FFFFFFFFh | 每 8 个扇区 1 位。这用于保护闪存存储器(256 至 512kb)。它不适用于闪存存储器小于 256KB 的器件。
|
图 1-46 展示了 BOOTCRC,表 1-55 中对此进行了介绍。
返回到汇总表。
NONMAIN 存储器 BCR 配置部分的 CRC 摘要。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DIGEST | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DIGEST | R/W | 0h | BCR 配置数据 CRC 摘要。如果器件支持 CRC32-ISO3309,则为 32 位 CRC 摘要。否则为 16 位 CRC 摘要,使用多项式 CRC16-CCITT。用于 CRC 计算的配置:1.多项式应符合所选标准, 2.输入得到反映,3.输出得到反映,4.初始值应为 0xFFFFFFFF,5.最终 XOR 值应为0x0。 |
图 1-47 展示了 BSLCONFIGID,表 1-56 中对此进行了介绍。
返回到汇总表。
BSL 结构的配置 ID
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CONFIG | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | CONFIG | R/W | 0h | BSL 结构的配置 ID |
图 1-48 显示了 BSLPINCFG0,且在表 1-57 中对其进行了介绍。
返回到汇总表。
BSL UART 引脚配置。这些字段的复位值对于每个器件都不同,具体取决于使用的引脚。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| UARTTX_MUX_SEL | UARTTX_PAD_NUM | ||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| UARTRX_MUX_SEL | UARTRX_PAD_NUM | ||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-24 | UARTTX_MUX_SEL | R/W | 0h | UART TX IOMUX PINCM 多路复用器选择。 |
| 23-16 | UARTTX_PAD_NUM | R/W | 0h | UART TX IOMUX PINCM 寄存器 |
| 15-8 | UARTRX_MUX_SEL | R/W | 0h | UART RX IOMUX PINCM 多路复用器选择 |
| 7-0 | UARTRX_PAD_NUM | R/W | 0h | UART RX IOMUX PINCM 寄存器 |
图 1-49 显示了 BSLPINCFG1,且在表 1-58 中对其进行了介绍。
返回到汇总表。
BSL I2C 引脚配置。这些字段的复位值对于每个器件都不同,具体取决于使用的引脚。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| I2CSCL_MUX_SEL | I2CSCL_PAD_NUM | ||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| I2CSDA_MUX_SEL | I2CSDA_PAD_NUM | ||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-24 | I2CSCL_MUX_SEL | R/W | 0h | I2C SCL IOMUX PINCM 多路复用器选择 |
| 23-16 | I2CSCL_PAD_NUM | R/W | 0h | I2C SCL IOMUX PINCM 寄存器 |
| 15-8 | I2CSDA_MUX_SEL | R/W | 0h | I2C SDA IOMUX PINCM 多路复用器选择 |
| 7-0 | I2CSDA_PAD_NUM | R/W | 0h | I2C SDA IOMUX PINCM 寄存器 |
图 1-50 显示了 BSLCONFIG0,且在表 1-59 中对其进行了介绍。
返回到汇总表。
BSL 调用引脚配置和存储器读出策略。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| READOUTEN | |||||||
| R/W-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| READOUTEN | |||||||
| R/W-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | BSLIVK_GPIOPORT | BSLIVK_GPIOPIN | |||||
| R-0h | R/W-0h | R/W-0h | |||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| BSLIVK_LVL | RESERVED | BSLIVK_PAD_NUM | |||||
| R/W-0h | R-0h | R/W-0h | |||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | READOUTEN | R/W | FFFFh | 设置 BSL 接口的存储器读出策略
|
| 15-14 | RESERVED | R | 0h | |
| 13 | BSLIVK_GPIOPORT | R/W | 0h | 与用于 BSL_invoke 的焊盘对应的 BSL_invoke GPIO 端口索引
|
| 12-8 | BSLIVK_GPIOPIN | R/W | 0h | 与用于 BSL_invoke 的焊盘对应的 BSL_invoke GPIO 引脚索引。有效值为 0 至 31。 |
| 7 | BSLIVK_LVL | R/W | 1h | 将调用 BSL 的 BSL_invoke 输入逻辑电平
|
| 6 | RESERVED | R | 0h | |
| 5-0 | BSLIVK_PAD_NUM | R/W | 40h | 与用于 BSL_invoke 的焊盘对应的 IOMUX PINCM 寄存器 |
图 1-51 展示了 PWDBSL[y],表 1-60 中对此进行了介绍。
返回到汇总表。
BSL 密码的 SHA2-256 摘要。
偏移 = 41C00110h + (y * 4h);其中 y = 0h 至 7h
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DIGEST | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DIGEST | R/W | 0h | 256 位 BSL 访问密码的 SHA2-256 位摘要。当器件出厂时,默认密码(密码的所有 256 位全为 1)的哈希值默认存储在此处。 |
图 1-52 展示了 BSLPLUGINCFG,表 1-61 中对此进行了介绍。
返回到汇总表。
定义 MAIN 闪存中是否存在 BSL 插件及其类型。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| SRAMUSED | FLASHPLUGINEXISTS | ||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PLUGINTYPE | |||||||||||||||
| R/W-0h | |||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-24 | SRAMUSED | R/W | FFh | 闪存插件消耗的 SRAM,从 0x00 到 0xFF。 |
| 23-16 | FLASHPLUGINEXISTS | R/W | FFh | 该字段指示闪存插件是否存在
|
| 15-0 | PLUGINTYPE | R/W | FFFFh | 插件类型指定闪存中添加的接口插件。ROM 引导加载程序支持同一接口时,ROM 接口将被闪存接口覆盖。如果应将 ROM BSL 中的相同接口添加为附加接口而不覆盖 ROM 接口,则应选择此列表中没有的新值。
|
图 1-53 展示了 BSLPLUGINHOOK[y],表 1-62 中对此进行了介绍。
返回到汇总表。
用于插件初始化、接收、发送和取消初始化函数的函数指针。
偏移 = 41C00134h + (y * 4h);其中 y = 0h 至 3h
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| BSLPLUGININIT | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 127-96 | BSLPLUGINDEINIT | R/W | FFFFFFFFh | Deinit API 的函数指针 |
| 95-64 | BSLPLUGINSEND | R/W | FFFFFFFFh | Send API 的函数指针 |
| 63-32 | BSLPLUGINRECEIVE | R/W | FFFFFFFFh | Receive API 的函数指针 |
| 31-0 | BSLPLUGININIT | R/W | FFFFFFFFh | Init API 的函数指针 |
图 1-54 显示了 BSLCONFIG1,且在表 1-63 中对其进行了介绍。
返回到汇总表。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ALTBSLCONFIG | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | ALTBSLCONFIG | R/W | FFFFFFFFh | 控制在 MAIN 闪存区域中对备用 BSL 的调用。
|
图 1-55 展示了 SBLADDRESS,表 1-64 中对此进行了介绍。
返回到汇总表。
备用 BSL 的地址。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 地址 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 地址 | R/W | FFFFFFFFh | 备用 BSL 的地址(如果存在)。 |
图 1-56 展示了 BSLAPPVER,表 1-65 中对此进行了介绍。
返回到汇总表。
应用版本字的地址。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 地址 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | 地址 | R/W | FFFFFFFFh | 应用版本字的地址(必须是要返回的有效闪存地址)。如果未对给定的闪存地址进行编程,则将返回 0h。 |
图 1-57 显示了 BSLCONFIG2,且在表 1-66 中对其进行了介绍。
返回到汇总表。
配置 BSL 的 BSL 警报配置和 I2C 目标器件地址。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| I2CTARGETADDR | ALERTACTION | ||||||||||||||||||||||||||||||
| R/W-0h | R/W-0h | ||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-16 | I2CTARGETADDR | R/W | 48h | 用于 ROM BSL I2C 通信的 I2C 目标地址。 |
| 15-0 | ALERTACTION | R/W | FFFFh | 在出现安全警报条件时采取的措施。
|
图 1-58 显示了 BSLCRC,表 1-67 中对其进行了介绍。
返回到汇总表。
NONMAIN 存储器 BSL_CONFIG 部分的 CRC 摘要。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DIGEST | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|
| 31-0 | DIGEST | R/W | 0h | BSL 配置数据 CRC 摘要。如果器件支持 CRC32-ISO3309,则为 32 位 CRC 摘要。否则为 16 位 CRC 摘要,使用多项式 CRC16-CCITT。用于 CRC 计算的配置:1.多项式应符合所选标准, 2.输入得到反映,3.输出得到反映,4.初始值应为 0xFFFFFFFF,5.最终 XOR 值应为0x0。 |