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.

TMS320F28379D: DCSM模块的上锁与解锁

Part Number: TMS320F28379D

您好,我使用C2000_WARE中的例程blinky_with_DCSM的工程环境配置了自定义的密码,并将RAMLS2块与Flash C扇区配置为安全区域Z1以及仅执行保护。采取使用dcsm.c与dcsm.h中提供的函数进行上锁与解锁,并检查安全状态。

目前我又遇到的问题是,Debug并烧录程序至非安全区的RAM后,运行程序之前,使用CCS中的on-chip Flash工具可以正常的上锁与解锁。但是当运行DCSM_unlockZone1CSM(&csmK)函数后,检测此时状态为非安全状态。当运行DCSM_secureZone1()函数进行上锁后,检测安全状态为锁定状态,Z1_CR寄存器中ALLZERO位为1。之后如果读取Flash C扇区后,再次运行CSM_unlockZone1CSM(&csmK)函数进行解锁,其状态变为安全状态Z1_CR寄存器的所有位都为0。如果不读取Flash C扇区,运行CSM_unlockZone1CSM(&csmK)函数进行解锁,其状态始终为锁定状态。

如果运行DCSM_unlockZone1CSM(&csmK)函数后进行第一次解锁,再使用CCS中的on-chip Flash工具进行上锁,再解锁会出现解锁错误,设备处于锁定状态的提示。

当发生以上情况时,只能退出Debug界面,重新烧录程序后,再运行,上述情况一直出现。

请问,造成这种情况的可能原因是什么,我该如何去解决?