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

6657 NANDFLASH多核加载core1启动不了

各位大神好:

       我们是自己做的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的代码:

    CSL_BootCfgUnlockKicker();
    boot_magic_address = (unsigned int *)0x1187fffc;
    *boot_magic_address = 0x118004E0; //核1启动位置
    IPCGR1 = 0x1;  //唤醒核1
    CSL_BootCfgLockKicker();
     我能看到核1的启动位置都写入了,而且这一段代码我也确定运行了。但是我的核1就是起不来。
     想请问一下可能是什么原因?感谢各位。

Shine:

boot_magic_address = (unsigned int *)0x1187fffc;
boot_magic_address 地址一般是L2的最后一个word,请改成0x008ffffc试试。

赞(0)
未经允许不得转载:TI中文支持网 » 6657 NANDFLASH多核加载core1启动不了
分享到: 更多 (0)