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:如何在 BLE_Examples 中配置闪存保护设置?

Guru**** 2589275 points
Other Parts Discussed in Thread: CC2340R5, UNIFLASH, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1384916/cc2340r5-how-to-configure-the-flash-protection-settings-in-ble_examples

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

工具与软件:

尊敬的 TI:

我对 CC2340R5的闪存保护设置有疑问。 我想在闪存中设置一个安全块来存储密钥、这个闪存块需要具有写入/擦除保护。 例如、我在固件中对密钥进行硬编码、并将该密钥存储在闪存的特定地址中。 之后、即使使用 OTA、也应该无法更新该安全块中的数据。

目前、我正在使用 SDK:"simplelink_lowpower_f3_sdk_8_10_01_02\examples\rtos\LP_EM_CC2340R5\ble5stack\basic_ble"

如何在 syscfg 文件的闪存保护设置中配置参数?


目前、我0~255闪存的总容量为512KB、每个扇区为2kB、因此总共能够配置 μ W 扇区。

我已经尝试填充各种值、但每当我使用 Uniflash 擦除芯片时、最初设置的闪存块似乎就会被擦除。 是否有办法防止 Uniflash 擦除指定的安全块? 如何正确设置它? 或者我是否需要调用代码中的任何函数、例如 SACI 命令? 谢谢你。

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

    尊敬的 Aki:

    您是否尝试过在 SysConfig 的 Settings & Utilities 选项卡中的 Program Load 下设置芯片擦除(CCFG 中指定的 RETAIN 扇区)?

    此致、
    Tanguy

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

    唐古伊:

    否、我使用"芯片擦除"、 看起来像是强制执行闪存擦除?  
     在 CC23xx SimpleLink 无线 MCU 中、P.423表示:

           

    阅读上图中突出显示的三句话后、我有一些问题、
    "Program Load"中的三个选项"Chip Erase、 Chip Erase (retain Sectors in CCFG specified )、Do not erase Sectors (program load only)"由 ROM 引导加载程序控制? SACI 也由 ROM 引导加载程序发送? 所以"ROM 引导加载程序使用 SACI 来执行闪存擦除"、我的理解是否正确?


    以及其他问题、如 syscfg 文件中的闪存保护设置、

    如何设置应在扇区0-31中填充的十六进制值? 这里说的是" 1个扇区/位"、是否意味着1个十六进制数等于4个扇区?
    例如、如果我想保护扇区4~扇区7、二进制值将是"0000 0000 0000 0000 0000 0000 1111 0000"、然后将二进制数传输到十六进制数、它将是"0x000000F0"、因此我应填写的值为"0x000000F0"。 我的计算结果是否正确?


    此致、

    Aki

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

    尊敬的 Aki:

    如8.2节"闪存编程"中所述、可以通过3种 方法对 CC23xx 的闪存进行编程:

    •  使用 SWD 器件管理命令接口、该接口表示 SACI 命令。
    •  使用串行引导加载程序时、此接口将使用"SACI like "命令。
    •  使用闪存中用户定义的引导加载程序

    使用 Uniflash 或 CCS 刷写器件时 使用 SWD 接口 .

    您的计算正确、为保护扇区4 ~扇区7、 应写入二进制值0x000000F0。

    此致、
    Tanguy