TI DSP COFF->EABI输出格式切换

       最近在使用TI的DSP芯片TMS320F280025时,发现其输出格式从COFF变为EABI,然后在原来程序在线升级这块,需要做一些修改才能正常实现应用程序在线升级。现记录几点修改内容,深层次原因需要查找TI相关文档

        如下为输出的两种格式

TI DSP COFF->EABI输出格式切换

        主要区别如下:

       1、原平台在应用程序flash存储的应用程序标志在EABI输出时,会被优化,需要在CodeStartBranch.asm文件定义时增加.retain防止被优化。如下所示,其中.retain可以参考TI文档SPRU513W,《TMS320C28x Assembly Language Tools v21.6.0.LTS》。

TI DSP COFF->EABI输出格式切换

       2、BootLoader和应用程序共享RAM的修改,原平台升级标志是存放在RAMM中,在EABI输出格式时,BootLoader和应用程序相互跳转后RAMM中内容自动被优化了,导致标志在BootLoader和应用程序间无法传递。需要把标志存放在RAML中,修改之后标志值能够正常传递。至于RAMM无法传递原因还需查找资料。

       3、关于烧录合成文件的问题,TMS320F280025需要使用CCSV10以上版本,编译器版本在V20以上,编译器文件夹下hex2000有做更新,应该是为了支持EABI输出格式,所以如果需要用到hex2000等工具转hex文件输出时,需要使用最新的hex2000工具,用以前版本转换出来的hex文件有问题,

       4、EABI输出格式时double型是64位数据类型,而在COFF输出时double类型是32位数据类型

上一篇:Bear and Displayed Friends


下一篇:删除MyEclipse 6.5.1自带的Maven4MyEclipse