TI文档里有一句:“Link application code, “cfg.c”, and TISecondaryBoot.obj using TISecondaryBootLk.com to make single “.out” file”,这个 TISecondaryBootLk.com怎么没有提供,提供后怎么用?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
不会有冲突, cfg.c是在booloadert的时候用的, 主要是在boot程序之前做一些初始化准备工作, 当应用程序成功加载进来并运行起来, 完全可以重新配置.
guoding sun 说:应用程序的头文件,库文件,中断向量表等这些信息怎么加载?应用程序本身编译后生成一个.OUT文件,这个文件烧写程序还有用吗?
应用程序的头文件,库文件,中断向量表等这些信息由genAIS工具生成.ais文件, 通过secondary bootloader去加载.
你指得"文件烧写程序"是指flashBurn吗? 这个程序负责把.ais文件烧写到flash, 跟应用程序的工程文件没关系
guoding sun 说:Using the TMS320C672x Bootloader文档的Figure 31中的工程flashburn.pjt不能正常编译,这个工程是否将应用程序, genBootCfg生成的cfg.c和TISecondaryBoot.obj二次bootloader程序link到一起编译成一个.out文件?
是的, 要用genAIS工具转成.ais文件, 建议你先仔细看一下c672x bootloader文档第7章, 对sprc203中的例程有很详细的说明.
你好,
前面已经说过了, \Padk_examples\flashBoot\flashBurn\SwitchesAndLeds.pjt就是个很好的例程
csl库用csl_C6722.lib,
PADK.lib是板级库函数, 只针对PADK开发板, 你用的是c6722, 你的应用程序里面不会用到这个库啊.
在你的应用程序里添加cfg.c, TISecondaryBoot.c, 把TIsecondaryBoot.cmd合并到你的应用程序的cmd文件, 主要是下面这段代码.
/*-------------------------------------------------------------*/
/* The sections, .TIBootStrap and .TIBoot are required for */
/* for use with secondary boot loader. Please do not change */
/* any part of this declaration. Changing this allocation will */
/* break the secondary boot process. */
/*-------------------------------------------------------------*/
.TIBootStrap {.+= 4;} load = 0x10000000
.TIBoot { *(.TIBoot)
.\Debug\TISecondaryBootPadk.obj(.switch)
} load = 0x10002E00,
LOAD_SIZE(_TIBOOT_SEC_SIZE),
RUN_START(_TIBOOT_SEC_RUN_ADDR)
TIsecondaryBoot.obj是TIsecondaryBoot.c编译时生成的目标文件, 你自己板子的话, 在你的工程文件里添加TIsecondaryBoot.c, 源文件在TMS320C672xxBootUtils\bootUtilities\src目录下, 然后在cmd文件中像我之前说的那样定义TIsecondaryBoot.obj load address和run address.
load = 0x10002E00,
LOAD_SIZE(_TIBOOT_SEC_SIZE),
RUN_START(_TIBOOT_SEC_RUN_ADDR)
.cmd文件中的这个东西不能进行更改?
防止图片显示不出来,我说明一下问题,我把cfg.c,boot.cmd , boot.c添加进工程之后,又把boot.cmd文件中的Memmory,section两部分替换为c6727的Memmory,section。
结果显示,错误在下面一行
.TIBootStrap {.+= 4;} load = 0x10000000
.TIBoot { *(.TIBoot)
.\Debug\TISecondaryBoot.obj(.switch)} load = 0x10002E00, LOAD_SIZE(_TIBOOT_SEC_SIZE), RUN_START(_TIBOOT_SEC_RUN_ADDR)
错误说明是 cannot find file麻烦讲解一下应该如何处理啊
谢谢了
在genHex.bat批处理文件中 gpioAsLatchAis.asm -z gpioAsLatchAis.obj gpioAsLatchAis.out gpioAsLatchAis.map的gpioAsLatchAis.asm是通过.out文件生成的?gpioAsLatchAis.obj是哪个工程产生的?我的工程有多个.obj文件该怎么处理?
TI程序:
call C:\CCStudio_v3.10\DosRun.bat
cl6x -mv6700 gpioAsLatchAis.asm -z gpioAsLatchAis.obj -o gpioAsLatchAis.out -m gpioAsLatchAis.map -l TIEmifBootLnk.cmd
hex6x gpioAsLatchAis.out -o gpioAsLatchAis.hex hexCmd.cmd
pause