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.

[参考译文] CCS/F28M36P63C2:编程闪存后无法连接C28设备

Guru**** 2044370 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/565808/ccs-f28m36p63c2-unable-to-connect-c28-device-after-programming-flash

部件号:F28M36P63C2

工具/软件:Code Composer Studio

我有一个C28程序可以写入设备的闪存中,该闪存位于C28闪存的扇区A中。 我用过一次,在F28M36的C28闪存组的B区写了一些闪存。 特别是CSM没有受到影响。 此后未执行闪存编程。

从那时起,我就无法可靠地连接到设备。 启动目标配置后,连接到设备时,STOCL文件在“OnTargetConnect()”功能中挂起。 通过在gel文件中放置debug,我发现这是因为以下行被卡住:

*(unsigned long *)0x4920|= 0x0.0015万;/* Initialize M0,M1,CtoM MSG RAM's */
while (*(unsigned long *)0x4930 != 0x15); 

0x15更改为0x10以避免初始化CtoM消息RAM允许该函数继续操作,但仍然存在问题。

所有闪存都报告为填充零。 这不是真的,因为 在这篇文章之后,我在目标配置中使用了"仅加载RAM"选项,但它只加载了一次。 闪存内容正常,0x13fff2处的CSM区域填充了0xFF

此外,我还添加了Gel函数,用于将一些数据写入M0 RAM (它仍然是初始化的):

热菜单C28x_RAM_Init_estop0()
{
GLE_MemoryFill(0x0万, 1, 0x0.1万, 0x7625);
} 

连接并运行此功能后,内存浏览器将显示如下所示的数据:

0x0万 7625 7625 0000 0000 0000 0000 0000 0000 0000 0000 0000 7625 7625 7625 7625 0x0万C
7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625
0x0.0018万 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625
0x00000024 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625
0x0.003万 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625
0x0.0003万C 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625
0x0.0048万 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625 7625
0x0.0054万 7625 7625 0000 0000 0000 0000 0000 00万 0000万 0000 7625 7625 7625 7625 

 在整个块中,每隔0x48个字就会出现一串零,但并非总是该数字。 每次刷新内存浏览器时,零的位置都会移动,但不会按我可以看到的固定模式移动。 如果读取内存位置时出现问题,这可能是连接挂起的原因,但没有解释内存读取不可靠的原因。

凝胶文件或硬件从正常工作到不正常工作,没有任何变化。 我还尝试将JTAG频率降低10倍和100倍,但两者仍显示相同的结果,在其他情况下,均一致的非零RAM中显示零。

。  

我正在使用6.2 和XDS100v3探头。 硬件是F28M36 controlCARD,板上印刷电路板的XDS100v2执行相同的操作。 不同的PCB (不是controlCARD,但同一Concerto部件可以连接到目标精细控制)。

什么会造成这种影响?如何解决?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    结果,这只是因为M3芯出现了一个不相关的问题,并且卡在复位循环中。 显然,即使在目标配置中绕过M3内核,它仍然能够打乱C28内核。

    修复M3芯程序以避免此复位回路,使C28芯可以继续正常加载。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您报告根本原因和解决方案。