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.

28379D 双核烧录,只有单核运行

Other Parts Discussed in Thread: CONTROLSUITE

我在用28379D跑程序的时候,在线仿真的话(DEBUG之后分别运行CPU1和CPU2),cpu1和cpu2都可以跑起来,但是当我将程序(分别烧录CPU1和CPU2的程序)烧进flash的时候,断掉仿真器,上电运行,结果只有cpu1里程序可以跑,但cpu2的程序却没动静,请问这是什么原因?

  • “我在用28379D跑程序的时候,在线仿真的话(DEBUG之后分别运行CPU1和CPU2),cpu1和cpu2都可以跑起来,但是当我将程序(分别烧录CPU1和CPU2的程序)烧进flash的时候,断掉仿真器,上电运行,结果只有cpu1里程序可以跑,但cpu2的程序却没动静,请问这是什么原因?”

    Eric:

    你跑一下controlSUITE里面的例程:

    C:\ti\controlSUITE\device_support\F2837xD\v210\F2837xD_examples_Dual\cpu01_to_cpu02_ipcdrivers\cpu01

    选择standalone的模式。

    需要增加一个IPCBOOTCPU2的模式。 用CPU1去启动CPU2. 

    仿真模式下,CCS让CPU2引导启动到main了,所以不需要这一步。


    #ifdef _STANDALONE
    #ifdef _FLASH
    //
    // Send boot command to allow the CPU02 application to begin execution
    //
    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
    #else
    //
    // Send boot command to allow the CPU02 application to begin execution
    //
    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_RAM);
    #endif
    #endif

  • 这个我都试过了,IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);添加了,还是不行
  • 你跑过TI的例程了吗?
    C:\ti\controlSUITE\device_support\F2837xD\v210\F2837xD_examples_Dual\blinky_dc
    Standalone模式。
    注意每个工程下面都要有code start.asm的代码。
  • 都有,重新新建个工程就好了
  • 重新新建个工程就好了
  • 就是这样干的,结果就好了,
  • 在CPU1工程中的Perdefined Symbls依次写:_FLASH _STANDALONE _CPU1