参考文档:《KeystoneI Bootloader Resources and FAQ》讲的非常好,建议一定要看
https://processors.wiki.ti.com/index.php/KeystoneI_Bootloader_Resources_and_FAQ#Direct_Boot_Examples_.28without_IBL.29
里面有三个工程:
参考文章:
《C6678学习——SPI NOR FLASH多核引导资料汇总及个人分享》
https://blog.csdn.net/kunkliu/article/details/105772726
《TI DSP TMS320C66x学习笔记之SPI Nor Flash多核程序烧写》
https://blog.csdn.net/kunkliu/article/details/105773215
《C6678十六进制转换工具Hex6x介绍》
https://blog.csdn.net/kunkliu/article/details/105774996
《C6678镜像工具链介绍》
https://blog.csdn.net/kunkliu/article/details/105987798
《C6678多核程序烧写固化》
https://blog.csdn.net/kunkliu/article/details/105988210
两种文件加载DDR中选择项不同:
dat文件:
bin文件:
开发板上可以测试通过Demo\Factory Reset\Tools\SPI NorFlash Image
Buid.bat
@echo off
Bin\hex6x -order L Config\app.rmd app.out
Bin\b2i2c app.b app.spi.b
Bin\b2ccs app.spi.b app.spi.ccs
Bin\romparse Config\app_spirom.map.pp
Bin\ccs2bin -swap i2crom.ccs nor.bin
del *.ccs
del *.b
echo Finish!
将编译出的xxx.out文件改名为app.out放到SPI NorFlash Image目录下运行Build.bat,生成nor.bin,然后通过NOR FLASH方法烧写到NOR Flash中,设置成SPI启动,上电即可看到程序运行。
例程下载地址:
参考文档:《KeystoneI Bootloader Resources and FAQ》讲的非常好,建议一定要看
https://processors.wiki.ti.com/index.php/KeystoneI_Bootloader_Resources_and_FAQ#Direct_Boot_Examples_.28without_IBL.29
里面有几个工程:
使用TI官方例程C6678_directROM_boot_examples.zip
Buid.bat
@echo off
set C6000_FOLDER=C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2
set PDK_PACKAGES=C:/ti/pdk_C6678_1_1_2_6/packages
set PATH=%C6000_FOLDER%\bin;%PATH%
spiboot.bat
set IBL_UTIL=C:\ti\pdk_c667x_2_0_15\packages\ti\boot\ibl\src\util
@REM FOR PROCESSOR SDK RTOS change the path to SDK_INSTALL_PATH\pdk\pdk_c66xx_2_0_0\packages\ti\boot\ibl\src\util
hex6x led_play.rmd //与创龙生成文件一样
%IBL_UTIL%\btoccs\b2i2c led_play.btbl led_play.btbl.i2c //与创龙生成文件一样
%IBL_UTIL%\btoccs\b2ccs led_play.btbl.i2c led_play.i2c.ccs //与创龙生成文件一样
%IBL_UTIL%\romparse\romparse nysh.spi.map //与创龙生成文件不一样
pause //此处暂停,修改i2crom.ccs文件将第9行0x01f40051改为0x01f40000,否则将不能运行
copy i2crom.ccs spirom_le.dat
byteswapccs i2crom.ccs spirom_le_swap.dat
copy spirom_le_swap.dat app.dat
%IBL_UTIL%\btoccs\ccs2bin i2crom.ccs spirom_le.bin
%IBL_UTIL%\btoccs\ccs2bin -swap i2crom.ccs spirom_le.swap.bin
1、将setup.bat和spiboot.bat中的路径设置为本机真正的路径
2、先运行setup.bat
3、修改nysh.spi.map文件和创龙app_spirom.map.pp文件一样
4、运行romparse nysh.spi.map命令,然后修改i2crom.ccs文件将第9行0x01f40051改为0x01f40000,否则将不能运行
5、将spirom_le.swap.bin拷贝到NOR Flash工程进行烧写,然后拨到SPI NOR启动,即可成功。
例程下载地址:https://blog.csdn.net/kunkliu/article/details/105773215
烧写工具链接: https://pan.baidu.com/s/1em4jWjbskpMmNd1uzscjjA 提取码: 82qg
hex6x simple.rmd
b2i2c simple.btbl simple.btbl.i2c
b2ccs simple.btbl.i2c simple.i2c.ccs
romparse nysh.spi.map
//钱丰增加了modify命令,实现了字节翻转,和将i2crom.ccs文件将第9行0x01f40051改为0x01f40000功能
modify i2crom.ccs spirom_le.dat
ccs2bin spirom_le.dat spirom_le.bin // 此处转bin文件不再进行字节翻转
1、将生成的led_play.out文件改名为simple.out,放到E:\ft6678\doc\DSP_C6657\spi_boot_suit_v2.3.1_release\spi_boot_suit_v2.3\1_utilities\1.6678\singlecore_boot_not_support_large_binary目录下。
2、运行spiboot_single_noddr.bat,生成spirom_le.bin
3、将spirom_le.bin拷贝到NOR Flash工程进行烧写,然后拨到SPI NOR启动,即可成功。
1、钱丰使用的工具和TI官网提供的工具一样
2、钱丰增加了modify命令,实现了字节翻转功能
3、钱丰提供的脚本中没有实现ccs转bin的步骤,必须先将TI官网的ccs2bin工具放到钱丰的脚本目录下,脚本最后加上以下语句即可
ccs2bin spirom_le.dat spirom_le.bin
例程下载地址:https://blog.csdn.net/kunkliu/article/details/105773215
烧写工具链接: https://pan.baidu.com/s/1em4jWjbskpMmNd1uzscjjA 提取码: 82qg
hex6x simple.rmd
AddDdrTable6678 simple.btbl // 增加DDR初始化数据
b2i2c simple.btbl simple.btbl.i2c
b2ccs simple.btbl.i2c simple.i2c.ccs
romparse nysh.spi.map
modify i2crom.ccs spirom_le.dat
ccs2bin spirom_le.dat spirom_le.bin
例程下载地址:
参考文档:《KeystoneI Bootloader Resources and FAQ》讲的非常好,建议一定要看
https://processors.wiki.ti.com/index.php/KeystoneI_Bootloader_Resources_and_FAQ#Direct_Boot_Examples_.28without_IBL.29
里面有几个工程:
C6657 EVM SPI boot example with DDR initialization
里面有BOOT Parameter的定义描述。
附带文件tiboot.h定义了对应不同Boot方式的boot参数表结构体。从该结构体可以得到参数表变量的用途及占用字宽。
暂未记录
6.4.1 烧写思想