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.
M3核下载程序到flash后,断电再上电可脱机跑;C28核下载程序到flash后,断电再上电程序不自动加载啊。这个问题已困扰好长时间,还请各位前辈前来相助啊!!!
hongyue,
首先确认一下,M3能跑吗?你可以简单加一个点灯的程序放在M3,或是直接把F28M35x_examples_Dual/blinky中的例程烧进去。
其次,确认你的M3的工程有下面这句话,是对C28的引导:
//#ifdef _FLASH // 把这个条件编译去掉
IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);
第三,
确认M3的4个boot GPIO引脚 GPIO34, 35, 47, 43都为高电平。
如此应该可以解决问题。
另外在调试双核时,最好每个核都有blink,来表示程序正在运行。
Eric
Eric Ma,
我现在将blinky_c28和setup_m3核程序下载到目标板后,可以脱机运行;但是在将blinky_dc_c28和blinky_dc_m3下载到目标板后,M3核的程序可以脱机运行但是C28核不可以脱机运行,而且我已经将#ifdef _FLASH这条语句注释掉了。我还发现#ifdef _STANDALONE这条语句是不能去掉的否则指示灯不闪。
现在情况是C28核、M核我可以让它脱机运行。唯独在进行双核程序下载时只有M3核可以,C28核不可以。我已经根据setup_m3的程序对blinky_dc_m3进行了简单的修改但没有奏效。还请帮小弟解决一下,非常感谢!!!
hongyue
hongyue,
你对双核例程进行带仿真器调试,看是什么问题。
注意下面这句语句一定要有,不要被任何的ifdef条件编译给屏蔽掉。
IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);
另外你是怎么判断C28核不可以运行的。你可以使用C:\ti\controlSUITE\device_support\f28m35x\v160\F28M35x_examples_Dual\blinky该例程进行双核实验。我认为不会有什么问题。另外更新你的controlSUITE软件。
在调试C28内核的时候,要确保把相应的GPIO归属权给到C28,这是由M3分配的。
双核调试步骤
1:[Launch Selected Configuration] 2:[Connect Target] Master Subsystem 3:[Connect Target] Control Subsystem 4:[Load Program] Master Subsystem(blinky_dc_m3.out) 5:[Load Program] Control Subsystem(blinky_dc_c28.out) 6:[Reset CPU] Control Subsystem 7:[CPU Reset] Master Subsystem 8:[CPU Restart] Master Subsystem 8:[RUN] Master Subsystem 9:[RUN] Control Subsystem {do not do a restart}
Eric
Eric Ma,
我下载的blinky_c28程序,在我断电重启后blinky_c28所对应的LED不闪,因此我认为C28核没有运行;我把我的blinky_m3和blinky_c28的程序添加到附件中了,还得麻烦您帮我看一下,非常感谢!!!
hongyue
小弟这还有个问题不知道#ifdef _FLASH、#ifdef DEBUG、#ifdef _STANDALONE这三条指令是什么意思啊,有劳各位前来答疑解惑,感谢!!!
#ifdef _STANDALONE 如果有定义_STANDALONE
#ifdef _FLASH 如果有定义_FLASH
IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH); 那么这句话将会得到编译
//#else 否则
IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_RAM); 编译这句话
#endif 结束
#endif