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.

[参考译文] LP-EM-CC2340R5:如何启用闪存保护

Guru**** 1809840 points
Other Parts Discussed in Thread: LP-EM-CC2340R5, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1422569/lp-em-cc2340r5-how-to-enable-flash-memory-protection

器件型号:LP-EM-CC2340R5
主题中讨论的其他器件: SysConfig

工具与软件:

我已经定义了一个从闪存地址0x7A000开始的 NVS 段 、其区域大小为一个扇区- 0x800字节。 通过 NVS 驱动程序读取和写入该扇区没有问题、但我想在调试会话中保留该扇区的内容。 目前、当我启动调试会话时、无论我是否启用了以下闪存保护、该扇区都正在被擦除:

您可以看到、我使用的是 XDS110 USB 调试探针与标准 LP-EM-CC2340R5开发板和 CCS Theia 版本1.5.1.3搭配使用。 我在做什么错?

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

    您好!

    请您指定您使用的 SDK 版本。 我跟在 SDK 8.10之前一样要求、 "擦除/保留、主扇区32-255"值应设置为0x 8. xxxxxxx (在更新的 SDK 8.10中、此值由场景后的 SysConfig 更改)。

    其余部分 似乎是 SysConfig 中的设置将最终保护扇区244 (即地址0x7A000)。

    在"擦除/保留、主扇区32-255"字段中、每个位代表32-255范围内的八个扇区、如果设置为1、在执行闪存擦除时会保留扇区范围。 例如、当器件闪存被擦除时、将该字段设置为0x00000005会保留扇区32至39和48至55、即地址范围0x10000至0x13FFF 和0x18000至0x1BFFF。

    扇区 xxxx 255-224 223-192 191-160 159-128. 127-96. 95-64 63-32.
    擦除/保留字段 主扇区32-255 X------ -X------- --x---- --X -- -----X--- ---X-- ---X-- ---X

    在"Erase/retain field Main Sectors 32-255"(擦除/保留主扇区32-255)中设置-X--时:

    • 如果 X = 0x0 = b0000 =>无受保护的扇区
    • 如果 X = 0x1 = B0001 =>扇区224-231受保护
    • 如果 X = 0x2 = b0010 =>扇区232-239受保护
    • 如果 X = 0x4 = b0100 =>扇区240-247受保护
    • 如果 X = 0x8 = b1000 => 扇区248-255 受保护

    此致、  

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

    您好、Clement、

    感谢您的答复。 我正在使用 simpelink_lowpower_f3 SDK 版本8.10.01、并且我正在尝试保护从地址0x7A000开始的扇区244、那么我的配置不应该起作用吗? 我可以看到该扇区中的数据、但在 CCS Theia 中点击 Start Debugging 按钮后、该扇区被擦除。

    谢谢!

    Rob

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

    我刚刚尝试了 将 Erase/retain Main Sectors 32-255设置为0xFF000000的同一个工程、当我加载一个新的调试会话闪存地址0x7A000时、该地址仍被擦除。 该功能是否起作用、因为擦除/保留似乎什么也没有作用。