我现在能理清楚的是:
RBL只认AIS格式,所以需要将UBL.out用AISgen转成UBL.ais/.bin。
但是如果我要通过自己的程序将ARM或DSP的app程序(我们的程序不跑linux,跑SYS/BIOS)的.out文件从PC搬到NAND flash中,我应该如何去解析.out文件?
说白了,就是我该怎么提取section address和section data。比如.out文件比如.ais文件,肯定除了代码二进制文件外还有很多附加信息,这些不用也不应该直接搬到RAM或DDR中的,否则就无法正常运行了——我是这么认为的。
.out转成.ais能被RBL识别,也是由于RBL能正确解析.ais的格式,换句话说,如果我能从哪里获取RBL的源代码,那其实我也可以把.out转成.ais,然后提取必要信息出来放到NAND中,再在reset后从NAND中提取出来加载到RAM或DDR中,再运行之。
btw,好比C2000 piccolo的.out转成.hex后,每行数据的格式是标准的,比如先地址,然后长度,然后数据,最后结束符。
OMAP呢?其他Tony和众高手答疑解惑!
Denny%20Yang99373:
ais格式,第7页开始
http://www.ti.com/lit/an/spraat2f/spraat2f.pdf
.out文件是elf/coff格式的。
可以看这个链接,有文档详细解释
http://processors.wiki.ti.com/index.php/A_Brief_History_of_TI_Object_File_Formats?keyMatch=coff&tisearch=Search-EN#COFF:_Common_Object_File_Format
Jingang Yang:
回复 Denny%20Yang99373:
Denny,你好,AIS格式那个文档我看过OMAPL138的版本了,但是说实话,我如果自己写程序去解析一个PC传过来的AIS文件的话,我还是写不出来……很可能就不能用。
.out格式那个我研究一下,但是这个可能还是有问题,因为同样的程序的.out文件size是很大的。。。
不知道boot table怎么用起来?
不知道sft接收的app.bin格式是不是正好是AIS格式的?
Denny%20Yang99373:
回复 Jingang Yang:
.out->ais
可以参考
http://processors.wiki.ti.com/index.php/Python_scripts_for_AIS_and_COFF?keyMatch=ais&tisearch=Search-EN
.out解析可以参考
http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/80320.aspx
里面有elf和COFF解析函数
Jingang Yang:
回复 Denny%20Yang99373:
Denny,你指的elf/coff解析函数是在这里面么:arm_dsp_communication_demo_v2.7z\arm_dsp_communication_demo_v2\dsploader\dsploader.c/.h?
可以直接移植来用于OMAPL138么?