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.

F28M35x中C28核怎样脱机运行

Other Parts Discussed in Thread: CONTROLSUITE

M3核下载程序到flash后,断电再上电可脱机跑;C28核下载程序到flash后,断电再上电程序不自动加载啊。这个问题已困扰好长时间,还请各位前辈前来相助啊!!!

  • 在例程包的\F28M35x_examples_Control中,有一个叫setup_m3的程序,需要先把这个程序下载到M3中,然后再把28x核的程序下载到FLASH中,才能自举。

  • 我已经将setup_m3的程序下载到m3核的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

    blinky.rar
  • 楼主你工程里面有predefine _STANDALONE没?如果没有的话IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);   是不会被编译的。

    我试了一下,只要predefine _STANDALONE,不需要做任何修改,这个程序就能够自举。在下面定义

  • 非常感谢这位前辈,问题已得到解决;感谢前辈们对我们这些鼠辈一直以来的支持!!!

  • 小弟这还有个问题不知道#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

x 出现错误。请重试或与管理员联系。