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.
尊敬的团队:
我的客户正在使用 TMS320F280049C。 他们正在尝试使用看门狗溢出来重置 C2000。 但是、它会弹出后续窗口。 您能提供一些建议吗?
谢谢!
迪伦
您好的团队:
阅读迪伦的描述后,我觉得我们应该支持同一位客户。 让我补充客户的问题:
客户目前希望使用 CAN 端口来完成在线代码编程功能(引导程序是自己编写的)、DSP 将在这个过程中重新启动。 由于重新启动后需要进行调试、因此有必要在复位完成后继续调试芯片而不重新连接芯片并加载程序。
客户机的操作如下:
在添加联机代码升级函数之前、请在 f28004x_codestartbranch.asm 中的引导至闪存地址(0x080000-0x080001)处放置一个 Jump 语句代码 LB _c_int00、然后自动调用 boot28.asm 来配置 C28x 操作环境、最后执行它的 main ()函数。
添加在线代码升级函数后、将 Jump 语句代码 LB _SwitchFunction 放置在 f28004x_codestartbranch.asm 中的引导至闪存地址(0x080000-0x080001)处以进入自定义函数、您需要手动配置 C28x 操作环境、然后确定升级标志。 如果它等于1、则跳转至 LB _c_int00、调用 boot28.asm 来配置 C28x 操作环境、最后执行 main()函数;如果它等于0、则执行升级程序。
以下是用于手动配置 C28x 操作环境的汇编代码。 正确吗?
asm(" MOV @SP,#0x0000"); //把16位的立即数0x0000赋给堆栈指针SP asm(" SPM 0"); //设置乘积移位模式为不移位(正数左移,负数右移) asm(" SETC OBJMODE"); //目标匹配模式位(OBJMODE)置1,选择C28x目标模式(OBJMODE=0为C27x目标模式) asm(" CLRC AMODE"); //地址模式位(AMODE)清零,选择C28x指令寻址模式(AMODE=1为C27x指令寻址模式) asm(" SETC M0M1MAP"); //存储器M0和M1映射模式位(M0M1MAP)置1,在C28x目标模式下,M0M1MAP一直保持为1,这是复位时的默认值 asm(" CLRC PAGE0"); //使用堆栈寻址模式 asm(" MOVW DP,#0x0000"); //把16位的立即数0x0000赋给装载页指针DP,初始化DP指向低 64K 地址 asm(" CLRC OVM"); //溢出模式位清零,关闭溢出模式(累加器中结果正常溢出) asm(" ASP"); //对齐堆栈指针SP
此外、客户表示在 F28035和 F28335上执行了相同的操作、但在 F280049上会发生地址错误。
此致
绿色
我遇到相同的问题、相同的中断地址。 TMS320F280049PZ。
收到这项调查。
您好!
连接 CCS 后、器件会根据仿真启动进行启动(请参阅器件 TRM 以了解详情)、如果未正确设置、则在看门狗复位后、CPU 将在 BootROM 代码内停止、并且由于 BootROM 没有加载符号、CCS 会发出该警告。
此致、
Vivek Singh
解决方案是将_flash 添加到预定义的符号中。 尽管查看代码、但原因和效果非常不清楚。