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.
大家好,我想请教个问题。我现在在用F28M35这块开发板官网下的双核流水灯程序。问题是这样的,当我把程序烧到M3核内部时,烧写成功,重新上电程序可以在M3中运行;但当我把程序烧到C28核内部时,显示erase和load program成功后,重新上电后发现对应C28核的LED等没有亮,如果我不复位的话,直接点调试界面的运行,LED可以点亮,程序正常运行。现在怀疑c28重新上电复位后,没有进入bootloader程序再次运行,而是进入了idle模式。
这个现象,我截图了。第一张图是C28程序烧写完成后,调试界面的选项。第二张图是我点了reset CPU后,调试界面选项,发现程序没有回到复位开始段0x3fffc0,而是在0x3ffead,而且这个存储位置没有source,再次点击运行程序,发现程序进入了idle状态。
想问一下,reset cpu后没进入reset的0x3fffc0的位置是否正确,如不正确,如何修改让程序再次上电复位或软件复位后仍能正常运行。谢谢大家能给予回答。
注意一下,C28x内核启动的时候,需要M3来发命令告诉C28启动的。
M3初始化代码应该有这一段,如果C28X跑在FLASH,则是前者,否则后者。
#ifdef _FLASH
// Send boot command to allow the C28 application to begin execution
IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);
#else
// Send boot command to allow the C28 application to begin execution
IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_RAM);
#endif
之所以用仿真器和CCS能让C28x跑起来,是因为CCS功能强大,能自动找到C28X的启动入口地址code start 和 main入口。如果是脱机跑,则一定要前面的代码。
ERIC