Part Number:TMS320C6657
c6657 core1加载失败问题咨询
C6657 EMIF BOOT加载时遇到core0程序正常执行,core1程序执行异常的情况,带BIOS操作系统。具体情况如下:
Nancy Wang:
和bios系统没有关系流程都差不多,试过裸机下的吗?
请将cmd文件和cfg文件贴出来看一下。
,
wapdasta:
您好,我刚才用另一个6678的芯片测试,也是从核启动不了,指针停留在0x20b00xxx开始的位置。
cmd和cfg提供不了。
我是主做6678芯片的,觉得6678的代码应该没问题。想问一下从核启动和硬件配置有关系吗。
例如:CORESEL「0,1,2,3」NMI,Lreset等
,
Nancy Wang:
主核主要通过写IPCGR来唤醒从核,跟硬件配置应该没有关系。
wapdasta 说:我是主做6678芯片的,觉得6678的代码应该没问题
请问也是从emif启动吗?论坛上有一些成功的案例分享,可以先试一下裸机下能不能成功。
https://www.ti.com/lit/an/spracn2/spracn2.pdf
https://e2echina.ti.com/support/processors/f/processors-forum/8065/evm6678le-i2c-nor-flash-boot-spi-flash-boot
,
wapdasta:
您好,裸机程序下看到从核是能启动,指针指向正确。
区别在于裸机程序中有如下函数:
也就是说裸机程序是开启了NMI,全局中断,然后再用IPC唤醒从核。
然后我在BIOS系统程序下,把这个函数加入到core0唤醒core1之前。烧写进板卡,也能看到从核是起来的。但是加入这个函数后,core0的bios系统是运行不起来的。所以这个函数应该是和BIOS中的HWI中断等函数冲突。
所以该怎么设置。
,
Nancy Wang:
请将具体的文件路径贴出来看一下。
另外core0运行不起来,从核应该起不来吧。
,
wapdasta:
1,目前定位是core1收不到core0发的IPC中断,所以导致CORE1 唤醒不起来。
2,CSL库自带的NMI,全局中断初始化函数,是加入在core0 main函数里的,唤醒core1函数之前,这时候BIOS还未运行。这样的话,core1就能被唤醒。但是这会导致CORE0 bios线程运行不起来。