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.

F28377D 双核flash启动,外设工作异常问题。

Other Parts Discussed in Thread: CONTROLSUITE

问题很简单,双核同时工作,cpu1有pwm1、2、3、11,adca,eqep1外设,cpu2有pwm4、5、6、12,adcb,eqep2外设。仿真情况下,两个核心外设都可以正常工作,但是烧写到flash启动后,cpu2中的pwm无法产生中断。请问TI工程师何解?

注意仿真情况下是正常工作的。

  • 有类似的帖子,请参考这边:http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/99274.aspx

  • 参考贴已经看过了,此帖中对于CPU2工作在flash模式中中断问题没有给出解决办法。

    还有其它解决方法吗?

  • 想问一下,烧写到FLASH的时候,用没有用IPC指令启动CPU2?

    IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);

    还有,有没有对flash进行初始化,CPU1的能工作吗?

    Eric

  • 1、使用了IPC启动CPU2,CPU2可以启动程序;

    2、对flash进行了初始化,但是在   IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);命令前初始化。CPU1工作正常,包括GPIO、外设初始化,程序功能也全部正常,只是CPU2对外设进行设置失败;

    我的双核程序工作流程是:

    1、CPU1通过IPC启动CPU2,此时CPU2等待(判断IPC)CPU1继续工作;

    2、在CPU1中设置GPIO(包括CPU1/CPU2使用到的所有GPIO),初始化CPU1使用到的外设,并通过DevCfgRegs.CPUSELx寄存器将CPU2使用的外设分配给CPU2;

    3、CPU1所有初始化工作结束后,通过IPC通知CPU2。CPU2接收到IPC后对外设进行初始化;

    现象为CPU1工作正常,CPU2无法进入ePWM的中断。

  • 你的双核启动流程看起来都没问题。

    CPU2的PWM初始化完成之后,能输出PWM吗?

    能够给个代码看看?

    ERIC

  • 非常感谢Eric以及其他TI的工程师。

    我的问题已经找到了。因为我使用了controlSUITE中IDDK参考例程中的flash.cmd作为CPU2的cmd使用,此cmd中的.ebss与.esysmem段放在了GS RAM中,在CPU1未指派的情况下CPU2是无法使用的,因此影响到CPU2的初始化工作,最终导致程序在CPU2中无法进入中断。

    解决办法是将.ebss与.esysmem段放在LS RAM中。

    再次感谢Eric和其他TI的工程师。

  • 非常感谢Eric以及Seven。

    我的问题已经找到了。因为我使用了controlSUITE中IDDK参考例程中的flash.cmd作为CPU2的cmd使用,此cmd中的.ebss与.esysmem段放在了GS RAM中,在CPU1未指派的情况下CPU2是无法使用的,因此影响到CPU2的初始化工作,最终导致程序在CPU2中无法进入中断。

    解决办法是将.ebss与.esysmem段放在LS RAM中。

    再次感谢Eric和Seven。