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.
背景
目标:定制板上的 TMS320F2809;
Code Composer 版本:
(没有选择、这是我的前任同事的一个旧项目、如何不使用仿真器)
仿真:Spectrum Digital XDS100v2
尝试
关于 http://software-dl.ti.com/ccs/esd/documents/ccsv7_debugging_jtag_connectivity_issues.html#c28x-device-locked (注意:它不是我的 CCS 版本、但是一种方法。)
第一次尝试
关于、
https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/489852/1768334
从 Vivek Singh 的第一条消息中,在引导模式 SCI 中,我有:
因此、我的所有密钥都没有0x0000。
(目前、我不知道 CSMSCR/安全寄存器的定义/描述)
第二次尝试
如果我尝试使用[Unlock]按钮在"on-Chip Flash"视图上解锁、
我有:
控制台说、
注1:无法擦除闪存,相同的错误:
注2:我已连接,
第三次尝试
尝试使用 UniFlash
解锁器件操作、擦除存储器操作和存储器地址处的密码内容的结果相同。
我也尝试擦除扇区 A 的所有扇区例外情况、如 https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/248836?F2806x-Flash-locked ( Manoj 的解决方案、Manoj 的 frist 消息)中所述
=>同一错误"[错误] C28xx:闪存编程器:擦除闪存存储器时出错。 设备已锁定或未连接。 操作已取消";
删除恢复操作也失败=>"[ERROR] C28xx:闪存编程器:执行删除恢复时出错。 设备已锁定或未连接。 操作已取消。"
问题
https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/489852/1768334
从 Vivek Singh 的最后一条消息中、
CSM_PWL 003f7ff8 00000008 00000008 00000000 RWIX
CSM 00000ae0 00000010 00000010 00000000 RWIX
csm_rsvd 0 003f7f80 00000076
003f7f80 00000076 DSP280x_CSMPassword.obj (csm_rsvd)
csmpasswds
0 003f7ff8 00000008
003f7ff8 00000008 DSP280x_CSMPassword.obj (csmpasswds)
CsmRegsFile
1 00000ae0 00000010 未初始化
00000ae0 00000010 DSP280x_GlobalDefableVarios.obj (CsmRegsFile)
CsmPwlFile
1 003f7ff8 00000008 未初始化
003f7ff8 00000008 DSP280x_GlobalVariableDefs.obj (CsmPwlFile)
00000ae0 2b (00000ac0) _CsmRegs
.sect "csmpasswds"
.int 0xFFFF ;PWL0 (128位密码的 lsw)
int 0xFFFF ;PWL1
int 0xFFFF ;PWL2
int 0xFFFF ;PWL3
int 0xFFFF ;PWL4
int 0xFFFF ;PWL5
int 0xFFFF ;PWL6
.int 0xFFFF ;PWL7 (128位密码的 MSW)
.sect "csm_rsvD"
.loop (3F7FF5h - 3F7F80h + 1)
int 0x0000
endloop
谢谢。
您好、Julien、
[报价]所以我没有所有密钥的0x0000。 [/报价]
KEYx 值是用户输入、而不是编程的密码值。 因此、这并不表示密码值不是 all_0。
您需要知道正确的密码才能解锁设备。 如果您使用的是由其他人编程的器件、并且您不知道密码、则无法执行任何操作。 您需要使用新器件并对新密码值进行编程。
此致、
Vivek Singh
您好、Vivek、
很抱歉,我参考了您的第一条消息: https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/489852/1768334
提取:
"如果您看到所有内容为0x0、则器件确实处于锁定状态。"
因此、这不是我的情况。 我预先确定了这一点、以排除一些途径来解决我的问题。
您需要知道正确的密码才能解锁设备。
好的、但很抱歉、我知道如何设置密码。 我可以访问源代码、但我没有该代码的设置。 汇编器文件 不包含特定密码。 我的第一条消息中有一条摘录。
谢谢 Vivek!
您好!
[引述]
提取:
"如果您看到所有内容为0x0、则器件确实处于锁定状态。"
因此、这不是我的情况。 我预先确定了这一点、以排除一些途径来解决我的问题。 [/报价]
您的意思是、它不是您的情况。 您是否在 CCS 内存监视窗口中看到闪存内容为非零值? 您能否发布 CCS 存储器监视窗口的快照?
另请参阅我上一篇文章中的以下说明。
[报价]如果您使用的是由其他人编程的器件、并且您不知道密码、则无法执行任何操作。 您需要使用新器件并对新密码值进行编程。 [/报价]
此致、
Vivek Singh
您好!
再次感谢 Vivek。
[引用 user="Vivek Singh"]
提取:
"如果您看到所有内容为0x0、则器件确实处于锁定状态。"因此、这不是我的情况。 我预先确定了这一点、以排除一些途径来解决我的问题。
您的意思是、它不是您的情况。
[/报价]
关于“我的寄存器”窗口的屏幕截图,我没有0x0,而是0xFF;
[引用 user="Vivek Singh"]
您是否在 CCS 内存监视窗口中看到闪存内容为非零值? 您能否发布 CCS 存储器监视窗口的快照?
[/报价]
当然、
[引用 user="Vivek Singh"]
另请参阅我上一篇文章中的以下说明。
如果您使用的是由其他人编程的器件、并且您不知道密码、则无法执行任何操作。 您需要使用新器件并对新密码值进行编程。
[/报价]
我正在寻找使用 XDS100v2进行调试的定制板来自工厂。 因此、它从未用于调试。 我可以访问源代码、并且我已经为汇编器文件提供了一个提取(如果它是已知是否设置了密码的良好来源)。 对我来说、密码从未设置过、但我不理解为什么 DSP 被锁定。 您是否有一些资源可以了解如何设置安全密码?
此致、
Julien même í a。
Julien、
您提供的快照用于存储器映射寄存器、而不是闪存。 您需要检查闪存扇区中的值。
如果密码从未被编程、那么一个正在进行的闪存操作有可能被中断、并且这个操作离开闪存位置、包括密码为0x0、因此器件被永久锁定。 在这种情况下、用户需要使用新器件。
此致、
Vivek Singh
Vivek、
[引用 user="Vivek Singh"]
您提供的快照用于存储器映射寄存器、而不是闪存。 您需要检查闪存扇区中的值。
[/报价]
所以我错过了一些东西。 如何检查闪存扇区中的值?
[引用 user="Vivek Singh"]
如果密码从未被编程、那么一个正在进行的闪存操作有可能被中断、并且这个操作离开闪存位置、包括密码为0x0、因此器件被永久锁定。 在这种情况下、用户需要使用新器件。
[/报价]
敲竹杠... 是否有寄存器可用于了解器件是否被永久锁定?
什么是寄存器 CSMSCR/SECURE (我的第一个帖子中的 CF 屏幕截图)?
此致、
Julien même í a。
您好!
[引述]什么是寄存器 CSMSCR/SECURE (我的第一篇帖子中的 CF 屏幕截图)? [/报价]
是的、您也可以检查该位以确保器件安全。
此致、
Vivek Singh
您好!
您对此还有任何疑问吗?
Vivek Singh
您好、Vivek、
实际上、在更改器件后(SAD 和昂贵)、我可以正常调试它。
是的、我有一些问题。
1-如何在寄存器中获得"安全模式"或"安全模式"之间的区别(明确锁定?)?
2 -如何检查闪存扇区中的值?
谢谢、
您好、Julien、
[引用] 1 -如何在寄存器中获得"安全模式"或"安全模式"之间的区别(最终锁定?)? [/报价]
只有两种状态。 安全或非安全、可通过读取 CR 寄存器中安全位的值进行检查。 我们无法判断密码值是否为 all_0。
[引用]当器件为所有闪存扇区中的安全值时、CCS 存储器观察窗口中将显示0x0。 连接到 CCS 后、只需打开 CCS 存储器观察窗口并输入闪存地址、它将显示该值。
希望这能澄清。
此致、
Vivek Singh