之前通过自启动已经将C6678的Core0和Core1都实现了启动。方法在之前的文章里面已经提及:
C6678 EMIF NOR FLASH自启动方法-CSDN博客
这种启动方式是Core0和Core1工程里面都加了boot.asm,通过EMIF NOR FLASH特性,每个核自动搬移各个字段,实现自引导。
而现在讨论一下另外一种引导方式,也就是再增加一级bootloader,实现各个字段的搬移,最后通过multiboot实现多核启动,方法如下:
首先,通过仿真器连接板卡,连接设备后进行一次系统复位,是为了防止第一次自动开跑的问题。
其次,将Core1的程序load到板卡内。
再次,通过Core1的cmd文件,找到它所占用的各个空间域起始和长度;
依次在Memory Browser中,通过Save Memory方式导出各个空间。
保存文件
地址和长度按照自己的CMD来导出。
最后,将导出的dat文件的第一行文本删除,将16进制文本文件转化成2进制文件,再将2进制文件固化进NOR FLASH中,此时Core1的MagicAddr就设置成Core1的_c_int00地址,再通过IPC启动即可。