主题中讨论的其他部分:UNIFLAASH
大家好,
我已将DCSM工具添加到我的项目中,

然后我调整了LINKPOINTERS意外的只读模式,并编译后在该模式下加载。

稍后我再次尝试,但无法加载更多程序,

那么我该如何解决这个问题呢? 仅执行模式导致此问题?
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.
大家好,
我已将DCSM工具添加到我的项目中,

然后我调整了LINKPOINTERS意外的只读模式,并编译后在该模式下加载。

稍后我再次尝试,但无法加载更多程序,

那么我该如何解决这个问题呢? 仅执行模式导致此问题?
正如 Vivek Singh 所说,这不是一个COFF/ELF问题。 您的设备密码受到保护,需要遵循以下步骤:
</s>107.6561万 2.8377万2.8377万398.4655万398.4655万由于您已在设备中编程密码,因此现在它是安全设备。 您需要在闪存插件GUI中提供密码才能对其进行编程。 您可以通过单击工具-> CCS中的片上闪存打开GUI,然后在密码字段中输入正确的密码,然后尝试对闪存进行编程。
此致,
Vivek Singh
[/引述]
Vivek Singh 是否可以共享"工具位置"选项的屏幕截图?
当我在GUI上填写密码时,没有任何问题,它可以重新编程。 谢谢你。
我还有几个问题
1-我再也不能更改密码了,对吧? 因为当我解锁Z1和Z2并更改密码,然后点击"程序密码"时,再次出现错误。

2-I已设置 为F2.8377万S
Z1-CSMPSWD3 0x55.5555万
Z1-CSMPSWD2 0x4444.4444万
Z1-CSMPSWD1 0x3333.3333万
Z1-CSMPSWD0 0x22.2222万
Z1-GRABECT 0xFF55.5555万 //所有闪存扇区至区域1
Z1-GRABRAM 0xFFFF5555 //所有RAM到区域1,此时未使用CLA,因此将其留空。
Z1-EXEONLYSECT 0xFFFFFFFF ///仅执行保护已全部禁用
Z1-EXEONLYRAM 0xFFFFFFFF//仅执行保护已全部禁用
这些对代码读取保护来说足够了? 还是也应该设置 Z1-PSWDLOCK?
3-
如何确保代码受到保护? 如何测试?
您好,
1-我2000我不107.6561万不能2.8377万能再2.8377万再更改398.6976万更改密码398.6976万密码了,对吗? 因为当我解锁Z1和Z2并更改密码,然后点击"程序密码"时,再次出现错误。
安全设置为OTP (一次性可编程),因此您无法再次对相同位置进行编程。 为了使用户能够更改安全设置(如密码值 ),我们提供了链接指针,用户可以更改该指针以选择不同的区域选择块,然后在此处编程新的安全设置。 请参阅设备用户指南中的DCSM章节以了解更多详细信息。
这些2000这些是否107.6561万是否足以2.8377万足以提供2.8377万提供代码398.6976万代码读取398.6976万读取保护? 或者我也应该设置 Z1-PSWDLOCK?
您还必须更改PSWDLOCK,因为除非您对密码进行编程,否则密码将可访问(可见)任何代码和调试器,这意味着,如果有人可以通过调试器连接到设备,则读取密码值并使用该值解锁设备。
如何2000如何确保107.6561万确保代码2.8377万代码受到2.8377万受到保护398.6976万保护?398.6976万? 如何测试?[/QUOT]这是一个棘手的问题。 用户需要拥有自己的测试环境,以检查其软件是否正确安全。 人们需要像黑客一样思考,并尝试在启用安全的设备上访问受保护的信息。
此致,
Vivek Singh
感谢您的回答。
</s>2000 107.6561万2.8377万2.8377万398.7646万398.7646万如何确保代码受到保护? 如何测试?这是一个棘手的问题。 用户需要拥有自己的测试环境,以检查其软件是否正确安全。 人们需要像黑客一样思考,并尝试在启用安全的设备上访问受保护的信息。
[/引述]在某些情况下,当您将安全代码加载到控制器时,我尝试询问其他控制器, 然后尝试读取内存,您只能看到0xFFFF,但在uniflash中,当我读取内存时,我可以看到不同的值,这意味着代码不受保护,为什么我可以在加载受保护的代码后读取内存?
编程后是否发出复位? 这仅意味着使用正确的密码解锁了任一区域,或者闪存扇区未配置为安全。 是否还可以通过连接到CCS来检查此问题? 我假设 您在此设备上有以下安全配置。
</s>2000 2000107.6561万2.8377万2.8377万398.6976万398.6976万2-I已设置 为F2.8377万S
Z1-CSMPSWD3 0x55.5555万
Z1-CSMPSWD2 0x4444.4444万
Z1-CSMPSWD1 0x3333.3333万
Z1-CSMPSWD0 0x22.2222万
Z1-GRABECT 0xFF55.5555万 //所有闪存扇区至区域1
Z1-GRABRAM 0xFFFF5555 //所有RAM到区域1,此时未使用CLA,因此将其留空。
Z1-EXEONLYSECT 0xFFFFFFFF ///仅执行保护已全部禁用
Z1-EXEONLYRAM 0xFFFFFFFF//仅执行保护已全部禁用
[/引述]
是否在编程后发出复位?-是
这些在CCS上是相同的
Z1-CSMPSWD3 0x55.5555万
Z1-CSMPSWD2 0x4444.4444万
Z1-CSMPSWD1 0x3333.3333万
Z1-CSMPSWD0 0x22.2222万
但它们与默认值相同,
Z1-GRABECT 0xFF55.5555万 //所有闪存扇区至区域1
Z1-GRABRAM 0xFFFF5555 //所有RAM到区域1,此时未使用CLA,因此将其留空。
Z1-EXEONLYSECT 0xFFFFFFFF ///仅执行保护已全部禁用
Z1-EXEONLYRAM 0xFFFFFFFF//仅执行保护已全部禁用
我尝试在Uniflash上使用"Orogram EXEONLYSECT/RAM,GRABTECT/RAM",但它给出了如下错误。


</s>2000 107.6561万2.8377万2.8377万3.9929万399.2929万但它们与默认值相同,
Z1-GRABECT 0xFF55.5555万 //所有闪存扇区至区域1
Z1-GRABRAM 0xFFFF5555 //所有RAM到区域1,此时未使用CLA,因此将其留空。
Z1-EXEONLYSECT 0xFFFFFFFF ///仅执行保护已全部禁用
Z1-EXEONLYRAM 0xFFFFFFFF//仅执行保护已全部禁用
我尝试在Uniflash上使用"Orogram EXEONLYSECT/RAM,GRABTECT/RAM",但它给出了如下错误。
[/引述]这些不是默认值。 GRABECT和GRABRAM值已编程。 有问题。 如果已对这些值进行了编程,则应将安全闪存值显示为0x0。 请在CCS上检查此项。
此致,
Vivek Singh
抱歉,存在问题,
这些值是我要设置的值。
Z1-GRABECT 0xFF55.5555万 //所有闪存扇区至区域1
Z1-GRABRAM 0xFFFF5555 //所有RAM到区域1,此时未使用CLA,因此将其留空。
Z1-EXEONLYSECT 0xFFFFFFFF ///仅执行保护已全部禁用
Z1-EXEONLYRAM 0xFFFFFFFF//仅执行保护已全部禁用
但我读了CCS不同的值,这些值在下面是sgown。

这很奇怪。 CCS和UniFlash之间的连接顺序应该完全相同,因此我不知道为什么它在两种情况下显示不同的行为。
您是否可以尝试将CCS中使用的CCXML与UniFlash一起使用? 要执行此操作,请首先找到用于在CCS中启动调试会话的CCXML文件。 然后启动UniFlash GUI,在初始页面中找到“Create session from Existing Target Configuration File”(从现有目标配置文件创建会话)部分,然后单击“Select”(选择)一个.CCXML文件以创建新会话,并从CCS中选择CCXML。
然后,再次尝试相同的校验和序列,查看是否出现相同的连接错误。
谢谢!
Ricky
所以我的最后一个情况是(逐步说明)
1-通过CCS或uniflash加载程序到MCU (我没有点击“PROGRAM PASSWORD"
2-尝试读取内存,我可以读取..
3-通过CCS或uniflash加载程序到MCU,然后单击 “PROGRAM PASSWORD”
4-尝试读取内存,我无法 读取,它等待“正在连接”...或者有时显示错误,因为“目标未连接”
5-将启动模式更改为“等待模式”,当MCU I处于等待模式时,我尝试读取内存,我可以连接,但所有值都是“0000”。
所以我填写的“CSMPSWDx”密码是真的,为什么我不能读取内存? 或者没有“等待模式”就无法连接?或者当我使用真实密码在等待模式下连接时,为什么只能读取零?