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.
工具/软件: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部件可以连接到目标精细控制)。
什么会造成这种影响?如何解决?