This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2340R5:CC2340R5 - ROM 串行引导加载程序刷写。

Guru**** 2421610 points
Other Parts Discussed in Thread: CC2340R5, CC2640

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1536238/cc2340r5-cc2340r5---rom-serial-bootloader-flashing

器件型号:CC2340R5
主题中讨论的其他器件: CC2640

工具/软件:

尊敬的专家:

我目前正在使用 CC2340R5 BLE 芯片、并通过 UART 的串行 ROM 引导加载程序实现固件刷写。 刷写过程成功完成、应用程序按预期运行。

我的过程涉及使用专用引导引脚进入引导模式、然后是典型的命令序列:ping 状态、获取 ID 状态和获取器件 ID。 之后、我发出芯片擦除命令、该命令将成功执行并擦除应用扇区以及 CCFG 扇区。 然后、我继续刷写应用程序文件。

由于芯片擦除命令还会擦除包含引导加载程序配置的 CCFG 扇区、因此刷写期间的任何中断都会导致该过程停止、随后我无法重新进入串行 ROM 引导加载程序模式。

我查看了技术参考手册、发现可以使用以下命令来保护 CCFG 和 FCFG 扇区:
.flashProt.writeEraseProt.ccfgSector = 0 和.flashProt.writeEraseProt.fcfgSector = 0。   但这不起作用。

但是、我注意到 CC2340 ROM 引导加载程序不支持扇区擦除命令、仅支持芯片擦除命令、遗憾的是这也擦除 CCFG 扇区。

您能否建议是否有可在刷写期间保护 CCFG 扇区的受支持方法或权变措施? 我想确保应用程序可以多次刷新、而不会丢失引导加载程序配置或遇到由 CCFG 擦除引起的不可恢复状态。

此致、

Muthuraj K

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Muthuraj、

    我希望您做得好。 解决您的第一个问题/疑虑“我随后无法重新进入串行 ROM 引导加载程序模式。“ 这里发生的情况是、如果擦除 CCFG、器件不知道其配置、在这种情况下、可能会出现默认值为 TRM 中定义的默认引导加载程序 IO 引脚和索引 (FCFG)、而不是用户设置的引脚。  

    由于安全原因、串行 ROM 引导加载程序是一种“全选“或“全无“方法、这意味着我们无法扇区擦除、要么擦除整个器件、要么不使用串行 ROM 引导加载程序。  

    您能否说明在刷写期间是否有支持的方法或权变措施来保护 CCFG 扇区? 我想确保应用程序可以多次刷新、而不会丢失引导加载程序配置或遇到由 CCFG 擦除引起的不可恢复状态。

    默认 串行 ROM 引导加载程序的替代方法是使用自定义引导加载程序、通常我建议先使用 MCUBoot、然后在 MCUBoot 自身接管之前添加一些额外功能;例如、您可以添加功能来检查引脚以进入自定义引导加载程序、输入安全密钥、扇区擦除等、但这些功能必须由您实现。  

    谢谢、
    Alex F

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Alex、

    正如您在之前的使用自定义引导加载程序中所说、是否有在 CC2340R5 上开发自定义引导加载程序的示例或推荐方法?

    当存在自定义引导加载程序时、将指定哪些存储器扇区用于 ROM 擦除、写入和验证应用程序?

    技术参考手册 (TRM) 中提到了一个 CCFG 配置表。 您能就如何有效地设置和控制 CCFG 字段提供建议吗?

    在 UART 刷写期间、CC2340 有哪些电源故障安全模式机制?

    如果不支持这种电源故障安全模式、这是否会给从 CC2640 迁移到 CC2340 的终端用户带来模块故障的重大风险?

    此致、

    Muthuraj K

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Muthu Raj、

    我们在 SDK 中已提供 MCUBoot 示例、因此我建议客户从该示例开始。  

    (C:\ti\simplelink_lowpower_f3_SDK_9_10_00_83\examples\nortos\LP_EM_CC2340R5\mcuboot) l

    我们控制 syscfg 中 CCFG 和引导加载程序的各个方面、下面提供了一个示例、从中我们可以更改引导加载程序:  

    谢谢、
    Alex F