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.

28377d CPU2程序不运行

Expert 1250 points
Other Parts Discussed in Thread: CONTROLSUITE

请问上电以后要不要CPU1发个什么命令给CPU2,还是CPU2一上电就自动运行,程序是烧到FLASH里面的,CPU1的可以运行,CPU2的运行不了

  • 需要给CPU2引导命令。

    #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

    你参考controlSUITE中例程:C:\ti\controlSUITE\device_support\F2837xD\v150\F2837xD_examples_Dual\blinky_dc\cpu01

    Eric

  • Ti 工程师 好。

      我也遇到了该问题,我是将工程直接从C:\ti\controlSUITE\device_support\F2837xD\v150\F2837xD_examples_Dual\blinky_dc  导出CUP1 和CUP2工程, 配置是cup1工程是:CUP1_FLASH_DEBUG [ACTIVE] ,cpu2工程是:CUP2_FLASH  [ACTIVE],在线仿真同时将程序烧写到CUP1和CPU2 FLASH中,退出仿真,断电上电,CUP1 可以工作(28377D 开发板LD2闪烁),CUP2不可以工作(28377D 开发板LD3不闪烁)。仿真下CUP1和CPU2都工作的(LD2闪烁,LD3闪烁)

    寻求帮助,该问题已经搞了好几天了,急。谢谢

  • 上个帖子不是说了吗,你要给CPU2启动命令。需要让代码IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);参与编译。

    你可以直接在main前面 #define STANDALONE 1

    #define FLASH 1

    #ifdef _STANDALONE
    #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
    #endif