Thread 中讨论的其他器件: SYSCONFIG、UNIFLASH
工具/软件:
我正在努力开发 TMS320F28379S、并尝试使用 DCSM 实现读取保护。 但是、启用 DCSM 后、在复位或下电上电后、我的应用程序代码不再从闪存运行。
采取的步骤:
1.i 使用 DCSM 示例 SysConfig 文件来:
a)设置密码。
b)区域1下的安全闪存扇区 C、D、E 和 F。(该区域安全)
C)使用 uniflash 将配置上传到控制器。
2.然后我按照这个过程:
a)在 CCS 中已打开 Run→Debug Configurations→Target→Flash Settings。
b)输入密码、单击"应用"、然后启动调试会话。
C)闪存被擦除,代码被上传,当我点击"播放"时,应用程序运行正确。
d)但是、在电源关闭后或按重置按钮后、该代码不会运行。
e)我还使用 Uniflash 对此进行了测试。 我首先使用密码解锁控制器、然后上传代码。
3.之后,我再次修改了 sysconfig 文件,将闪存扇区设置为 ExeOnly 模式(安全由这个区域(EXEONLY )),更新了 Z1链路指针,并刷新了新的配置。 然后尝试步骤2。
观察结果:
初始解锁(无复位)后、通过 CCS 上传应用程序就可以正常工作。
但在下电上电或复位后、它不会运行。
使用 UniFlash、使用正确的密码解锁并刷写了应用。 它会成功上传、但同样、它不会在上传后或重置后执行。
目标:
我要实施读取保护、以便:
1.防止代码读出。
2.仅在解锁后允许代码上传。
确保在刷写和复位后、应用程序代码从闪存安全地运行。
在实现 DCSM 之前:
1.一切都很好。
2.代码从闪存正确运行。
3.BMODE 和 BMSP 设置已验证且正确。
请求:
有人请检查我的实现方法、 提供任何更正建议并帮助我解决启用 DCSM 后复位后应用程序无法从闪存运行的问题。