您好,
我们正在测试OTP存储器编程,存在以下问题。
我们希望将OTP的_EMAC_Address0编程为一位时间,以验证是否可以按以下所述完成: http://processors.wiki.ti.com/index.php/C2000_Flash_Common_Issues/FAQs#OTP_.28one_time_programmable.29_Memory。
使用的命令是
DSLite flash -a OTPProgram -c user_files/configs/f28m35h52c1.ccXML -l user_files/settings/generated.ufsettings
其中generated.ufsettings contains:
{"Texas Instruments XDS100v2 USB调试探头/Cortex_M3_0":{"FlashM3EMACID1":"FFFFFFFE","FlashVerboseMode":TRUE},"Texas Instruments XDS100v2 USB调试探头/C28xx_0":{}}
这很顺利,我们可以用正确的值读回内存(位0 = 0)
然后,我们将generated.ufsettings修改为:
{"Texas Instruments XDS100v2 USB调试探头/Cortex_M3_0":{"FlashM3EMACID1":"FFFFFFFC","FlashVerboseMode":TRUE},"Texas Instruments XDS100v2 USB调试探头/C28xx_0":{}}
要编程下一位,但出现以下错误:
错误:Cortex_M3_0:闪存编程期间出错(闪存算法返回错误代码)。 操作已取消。
错误:Cortex_M3_0:请确保您正在编程的内存位置尚未编程。
错误:Cortex_M3_0:请确保您正在编程的内存位置尚未编程。
失败:未知错误
尝试写入FlashM3EMACID2时出现相同错误(OTP_EMAC_Address1)。
为什么会发生这种情况? 我们的DSlite命令是否有问题?
感谢你的帮助。
RIL