各位大神好:
我们是自己做的6657的板子,连接的NANDFLASH是官方提供的开发板上的nandflash。我用来烧写和产生固化的.dat文件的工具是官方下载的《C6657nandflash bootloader》工具。
我用这个工具生成的.dat文件加载进去,核0可以起来。为了两个核都跑起来,我从SPI NOR FLASH bootload的帖子中参考了生成多核.dat文件的方法,用到了里面提到的mergebtbl工具,我将两个核的.out文件用这个《C6657nandflash bootloader》工具,加了一句mergebtbl core0.btbl core1.btbl multi_core.btbl来产生了最终固化近nandflash的.dat文件。批处理文件里写的如下:
set IBL_UTIL=C:\ti\pdk_c665x_2_0_15\packages\ti\boot\ibl\src\util
hex6x core0.rmd
hex6x core1.rmd
mergebtbl core0.btbl core1.btbl multi_core.btbl
%IBL_UTIL%\btoccs\b2ccs multi_core.btbl multi_core.btbl.ccs
swap16 -in multi_core.btbl.ccs -out multi_core_swap_16.ccs
copy multi_core_swap_16.ccs multi_core_swap_16.dat
%IBL_UTIL%\btoccs\ccs2bin multi_core_swap_16.ccs multi_core_swap_16.bin
pause
用这个生成的.dat文件里各个段(包括核1的代码段)都导入到了正确的位置,上电启动后,核0能起来。核1起不来,PC指针一直在0x20B0XXXX的位置。
我在核0里面写了如下启动核1的代码:
*boot_magic_address = 0x118004E0; //核1启动位置
Shine:
boot_magic_address = (unsigned int *)0x1187fffc;
boot_magic_address 地址一般是L2的最后一个word,请改成0x008ffffc试试。