大家好、
我在 其中一个应用中使用的是 CC2430 (128KB)版本的 SoC。 我想锁定闪存并使用调试端口重新验证闪存是否已锁定。
因此、在编程后、我将 LSIZE 设置为"000"以锁定所有闪存页。 然后、我使用调试端口执行了写入命令(写入前不擦除)、并且仍然能够写入闪存。 现在、由于闪存现在被锁定、我在这里期待写入错误。 但我没有遇到错误。
我在这里做了些什么问题吗?
我正在使用 Elptronic 的 FlashPro-CC (XS)调试器。
谢谢、
Sanket
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.
大家好、
我在 其中一个应用中使用的是 CC2430 (128KB)版本的 SoC。 我想锁定闪存并使用调试端口重新验证闪存是否已锁定。
因此、在编程后、我将 LSIZE 设置为"000"以锁定所有闪存页。 然后、我使用调试端口执行了写入命令(写入前不擦除)、并且仍然能够写入闪存。 现在、由于闪存现在被锁定、我在这里期待写入错误。 但我没有遇到错误。
我在这里做了些什么问题吗?
我正在使用 Elptronic 的 FlashPro-CC (XS)调试器。
谢谢、
Sanket
你好、Sanket、
您是否已读取 LSIZE 以确认其设置为0x000、并且是否确定调试器除了写入之外没有执行任何其他命令? 清除 DBGLOCK 将防止调试器干扰闪存。
锁定保护位作为对 FWDATA 的正常闪存写入(请参阅第13.3.2节)、但调试接口需要首先选择闪存信息页、而不是默认设置闪存主页。 信息页面通过调试配置进行选择、调试配置仅通过调试接口写入。 有关如何使用调试接口选择闪存信息页面的详细信息、请参阅第12.4.1节和表36。
这是 数据表 和 类似的 E2E 主题。 请注意、TI 将不再支持此器件、因为它是 NRND。
此致、
Ryan
您好、Ryan、
我通过读取 LOCK 位状态来确认 LSIZE 为'000'。 对于测试、我只想锁定128KB (全部)闪存、并希望保持调试端口打开(DBGLOCK = 1)、以通过调试端口验证闪存锁定操作。
编程并将 LSIZE 保持为"000"后、我将仅执行闪存写入操作(使用相同的程序)。 我能够进行编程、意味着写入闪存。 在这里、我期望写入周期失败、因为闪存被锁定。