TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28388D: flash_kernel_c28x_cm_ex1_c28x1例程跑不通

Part Number:TMS320F28388D

大家好:

我在调试28388D芯片的CM核kernel的写入,参考例程是:flash_kernel_c28x_cm_ex1_c28x1,我是通过JATG仿真接口将例程烧录到cpu1核中,然后通过SCIA按照例程流程写入CM核txt格式的kernel文件,流程大致为:发送“A”进行波特率识别,然后发送指令,我发送的是RESET_CPU1_LOAD_CM,该指令首先执行setBootModeForCM()函数,设置CM核的BOOT状态,且CM核从S0RAM开始运行,Device_bootCM函数中最后有while(SysCtl_isCMReset() == 0x1U)函数,此函数执行通过了,是不是代表了CM核已经启动了?执行到函数copyDataToCPU1ToCMMSGRAM()的时候,会卡在IPC_sync(IPC_CPU1_L_CM_R, IPC_FLAG1)这个函数里面,首先对IPC1的IPC_SET进行设置,仿真时看到了 Cpu1toCmIpcRegs.CPU1TOCMIPCFLG.bit.IPC1已经置位,但是程序卡在IPC_waitForFlag函数,在等待Cpu1toCmIpcRegs.CMTOCPU1IPCSTS.bit.IPC1,这个寄存器应该是CM核S0RAM区的引导程序跑起来后会置位,所以是不是CM核的引导程序没运行?我需要进行哪些操作才可以运行CM核引导程序?CM核BOOT状态如图: ,以上操作均是在cpu1仿真下进行的。

Yale Li:

https://e2echina.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/800863/tms320f28388d-flash_kernel_c28x_cm_ex1_c28x1–the-routine-doesn-t-run 

,

Yale Li:

LD 说:Device_bootCM函数中最后有while(SysCtl_isCMReset() == 0x1U)函数,此函数执行通过了,是不是代表了CM核已经启动了?

是的。

在CCS中,在执行该过程之前是否reset并运行CM? 运行示例CPU1-CM Flash Kernel后,我们的工程师能够在不使用CCS JTAG的情况下为CM内核下载。 我们的工程师需要更多时间来看看这是否仅与CCS使用相关。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: flash_kernel_c28x_cm_ex1_c28x1例程跑不通
分享到: 更多 (0)