TI论坛
直播中

张建华

7年用户 193经验值
私信 关注
[问答]

DSP 28377程序跑不下去,请问cmd文件和map文件是否有问题

程序RAM中运行,单步调试一直在
PieCtrlRegs.PIEIER1.bit.INTx1 = 1;
PieCtrlRegs.PIEIER1.bit.INTx2 = 1;
PieCtrlRegs.PIEIER1.bit.INTx3 = 1;
PieCtrlRegs.PIEIER1.bit.INTx6 = 1;
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;

#ifdef _FLASH
// Send boot command to allow the CPU2 application to begin execution
IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
#else
// Send boot command to allow the CPU2 application to begin execution
IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);
#endif
跳来跳去,就是不执行我下面的while(1)死循环。
**ps  程序有时能够执行下去,但是执行顺序与理想状态有很大的差距,调用函数时的参数值和实际函数跑起来的同一参数值大小不同。
由于程序量的增大,对官方的CMD的文件进行一定的修改(原来.text 分配的大小不能满足现在的需求)
这是什么原因呢?和CMD有关系吗?
附件中我的CMD文件

回帖(1)

冯敬宇

2018-9-20 14:30:04
如果你是仿真的情况下,需要将下面的语句屏蔽掉。因为这个是引导CPU2 的,和CPU2 ROM中的bootloader代码通信,如果CPU2 没有跑在ROM,则会死机在那里。
#ifdef _FLASH
// Send boot command to allow the CPU2 application to begin execution
IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
#else
// Send boot command to allow the CPU2 application to begin execution
IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);
#endif
ERIC
                                                                         - ERIC
举报

更多回帖

发帖
×
20
完善资料,
赚取积分