本帖最后由 dontium 于 2020-8-28 19:27 编辑
芯片:TMS320F28377D
运行方式:烧到FLASH后,去掉JTAG,开机。------ 按TI的说法,叫_STANDALONE。
两个核都烧进去程序,在仿真器下,运行正常,为了证明CPU2的运行情况,CPU2控制GPIO端口作提示,状态是所期望的。
然而,当脱离仿真器后重启,CPU1运行正常,CPU2控制的端口却没有反应。
曾反复看说明书Literature Number: SPRUHM8I,并尝试寄存器的不同设置,CPU2均无法在脱离仿真器状态下运行.
注(1):确认,把程序烧到了FLASH
注:(2)曾经使用的办法:
1、使用IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
---------- 无效。
我认为,这个函数,仅是对IPC寄存器的一些操作,而IPC寄存器,手册上说了,是The data format is software-defined的。它对CPU2是否运行(不管正确与否,只要运行,能运行第一条指令都行)没有关系。
2、 模块分配: 如:DevCfgRegs.CPUSEL5.bit.SCI_A = 1; 正确的GPIO分配。
3、存储器分配:如:MemCfgRegs.GSxMSEL.bit.MSEL_GS11 = 1;
4、CPU2控制:如DevCfgRegs.CPU2RESCTL.all = 0xA5A50000;
5、信号量控制,如:ClkCfgRegs.CLKSEM.all = 0xA5A50000;
其中,对CPU2复位,在调试时,会引起CPU2脱离DEBUG状态。
以上这些办法都试过了,至今仍然无法让CPU2运行起来!
|