|
最近在使用创龙的6678开发板,开发板支持IBL-NAND IBL-NOR SPI-NOR的启动方式。现阶段通过以前开发的经历,使用基于STK的裸机程序,使用工具链能够完成SPI-NOR的8核程序合并并启动,能够完成IBL下的单核app.bin程序直接烧写,现在在做IBL下的多核烧写。
参考的是创龙例程中1.7的MAD工具多核烧写范例:
第一步,首先完成软件环境搭建,更改.out文件路径,能够利用工具编译生成所需的.bin文件。
deployment_C6678_bypass_prelink.json文件写法如下
{
"deviceName" : "C6678",
"partitions" : [
{
"name" : "ddr-code",
"vaddr" : "0x9e000000",
"size" : "0x1000000",
"loadPartition" : true
}
],
"applications" : [
{
"name" : "app1",
"fileName" : "./App/Core0.out",
"allowedCores" : [0]
},
{
"name" : "app2",
"fileName" : "./App/Core1.out",
"allowedCores" : [0,1,2,3,4,5,6,7]
}
],
"appDeployment" : [
"app1",
"app2",
"app2",
"app2",
"app2",
"app2",
"app2",
"app2"
]
}
第二步,利用创龙提供的gel文件对EEPROM中的IBL进行配置,配置应该是成功了,从串口能够接到IBL启动信息:
IBL version: 1.0.0.17 B02
This custom version IBL only applies to Guangzhou Tronlong's DSP Development Kit
Due to the lack of FPGA.
IBL: Booting from NAND
第三步,烧写app.bin文件,和单核烧写过程是相同的,烧写本身没有问题,但是断电重启后程序运行效果不对。
我是采用裸机程序,利用Core0点亮核心板LED并闪烁,cmd中已经避开IBL起始阶段需要占用的L2空间,地址采用全局地址0x1x800000。其余核空跑,现在没有看到运行效果,也按照文档要求在0x9e000000导入数据,并利用PC指针进行运行,同样没有效果,而单独运行程序是正常的。并且经过上述第二步后,直接将.out改为.bin烧写进入也不好使了,只能将开发板恢复出厂设置后,烧写.bin才好使。
请问是不是创龙光盘中提供的IBL更改的gel文件有问题?不直接支持裸机程序的启动?还是我的MAD工具链的写法出现了问题?
谢谢!
|
|