我准备在OMAPL138中写一个自动升级app的代码,通过网络或串口,我想问下内部ROM中RBL是怎样加载NandFlash的APP到RAM中的,
这样我才能根据加载方式,我才可以怎样编程将APP烧到NandFlash中的,找了好多资料就没有找到关于内部ROM管管RBL程序的介绍,
Shine:
请参考下面的bootloader文档。http://www.ti.com/lit/an/sprab41e/sprab41e.pdf
将APP程序用aisgen工具生成ais格式,再可以用serial flash utility烧写到nand flash。
http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L138
Tony Tang:
shuo wang10
我想问下内部ROM中RBL是怎样加载NandFlash的APP到RAM中的,
这样我才能根据加��方式,我才可以怎样编程将APP烧到NandFlash中的,
这并不是必需的。你不需要知道ROM的加载方式。
你有二级boot过程吗?
shuo wang10:
回复 Tony Tang:
现在我有两种方案:
1,是直接使用RBL加载ARM代码和DSP代码,在ARM中开启DSP和制定DSP的起始运行地址,这种方案简单,所以就先写的它
2,就用二级boot,我现在找到了OMAP-L138_FlashAndBootUtils_2_40代码,代码量比较大,所以正在阅读。
shuo wang10:
回复 Tony Tang:
非常感谢,好好研究下,新年快乐
shuo wang10:
回复 Tony Tang:
@Tony Tang您好,非常感谢您给我的代码,我已经成功在我的板子上ARM核启动DSP,用的是您的OMAPL138DemoInterrupt案例,稍微修改了下使
ARM和DSP程序可以使用AISgen来合成一个ais文件,烧写到Nand中,可以正常运行。
此时ARM中的工程输出格式是“legacy COFF”,我的DSP端的工程是"eabi(ELF)",
1,但是我将ARM中的工程OMAPL138DemoInterrupt的输出格式改为"eabi(ELF)"后,在重新合成新的ais文件,烧写到NandFlash中,
此时DSP端的程序就不能成功启动了,请问是什么原因呢?