你好!
1、我的目的是想实现c6657的nand flash多核加载启动。环境是ccs5.3,板子是我们自己开发的板子。添加的库如附件中peizhi.bmp文件中所示;
2、先通过修改两个核文件中.cmd文件中L2的org地址为全局变量地址,核0为0x10800000,核1为0x11800000,编译生成两个核的.out文件。使用 NandBoot_双核boot table工具链生成一个boot table文件loadfile.dat,使用NandBoot_双核boot table工具链中的nandwrite.out烧写工程烧写到nand flash中,具体烧写过程参照NandBoot_双核boot table工具链文件夹中的word文档;
3、上电运行后,核0可以正确启动,核1 的L2中正确加载了核1的程序,但是核1的PC指针一直指向BOOTROM,在执行IDLE语句。
我自己理解是核1在执行完BOOOTROM后,一直处于idle状态,等待主核0发IPC中断来触发核1开始执行自己的代码。但是不知道自己主核程序的代码中写IPC中断哪里出现了错误,导致中断写不进去。还是其他问题导致?
希望TI的工程师或者各位大牛,有时间的话帮忙跑跑我的程序,看我的问题到底出在哪里?不甚感激!!
Andy Yin1:
你的理解是对的,core1需要core0的IPC触发,关于IPC的配置论坛中有很多boot参考代码,如EMAC多核boot中就有类似的程序参考。另外你看一下core1的boot magic address存储的是否已经是core1 c_int00入口地址。
EMAC boot:http://www.deyisupport.com/question_answer/f/53/t/10240.aspx
du jianfeng:
回复 Andy Yin1:
谢谢你的回复!
core1的magic_address已经写入了core1的 c_int00 入口地址,你给的链接中对于IPC的配置我看了,是调用了CSL。我是直接操作寄存器,和调用CSL的方法是一样的。但是我的还是启动不了!麻烦你帮忙看看我 的程序吧!在这里卡了好久 !
du jianfeng:
回复 Andy Yin1:
Andy Yin1,你好!
已经尝试使用你给的链接里的IPC的配置方法,但是还是启动失败了。core1的boot magic address存储的是core1的c_int00入口地址,麻烦你帮忙看看之前我上传的程序,哪里还有问题?谢谢了!