Part Number:TMS320F280049COther Parts Discussed in Thread: UNIFLASH
实验:使用TMS320F280049C开发板,启动方式选择flash启动,配置DCSM OTP
使用同样的程序(程序没有PML解锁流程),lnk.cmd 分散加载链接情况如下图所示:
使用同样的程序(程序没有PML解锁流程),但进行了2次DCSM配置,扇区的安全配置完成相同,不同在于密码设置;
第1次配置使用非默认密码,第2次配置使用默认密码。
配置以及现象如下所示:
现象:使用默认密码时,LED2亮了。
问题:
1. 使用非默认密码时,不能从扇区0(EXEONLY)跳转到flash启动。这是为什么呢?
2. 使用默认密码时,在没有PML解锁的情况下,为什么能从扇区0(EXEONLY)跳转到flash启动?为什么能读取EXEONLY扇区的数据?
谢谢!
Yale Li:
不修改、使用默认密码就是未加密。
加密了器件之后这些动作都需要执行PMF。
,
k lia:
Yale Li 您好!
不修改、使用默认密码就是未加密。
—–>使用默认密码的情况下,在F280049C开发板上,我用Uniflash读已经保护的扇区时,只能读到0x00。但是在F28388D开发板上,用Uniflash读已经保护的扇区时,能读到0xFF。
谢谢!
,
Yale Li:
,
k lia:
DCSM配置zone2如下:使用默认密码,配置BANK0 扇区7为EXEONLY,属于zone2
使用默认密码,应该能读到EXEONLY扇区数据。但是,通过Uniflash不能读BANK0 扇区7的数据
,
Yale Li:
1. uniflash读取memory这个功能确实有bug。我之前就遇到过这种情况,一模一样的配置,有的时候能成功读取,有的时候不能;我记得当时如果先从设备中读取安全配置,再读memory,读取的成功率会增加:
也可以通过CCS的读取功能尝试一下;
2. 这个跳转具体是怎么实现的?
k lia 说:1. 使用非默认密码时,不能从扇区0(EXEONLY)跳转到flash启动。这是为什么呢?
,
k lia:
k lia 说:
1. 使用非默认密码时,不能从扇区0(EXEONLY)跳转到flash启动。这是为什么呢?是因为我把.cinit数据存放在EXEONLY扇区了,导致不能正常启动
,
Yale Li:
好的,感谢分享。
代码的运行(取指令)其实并不会受DCSM加密的影响(我之前的回复不准确),从EXEONLY是可以正常跳到外部运行的。
但是.cinit存放的是运行时初始化相关的内容,先于code_start(也就是主函数的入口)运行。这个会不会受DCSM保护的影响,确实存疑,我会询问一下相关的工程师。
,
k lia:
好的,谢谢。
如若有新的答复,请同步更新一下,感谢Yale Li的答复,非常感谢!
,
Yale Li:
好的