热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

TIDSPCOFF>EABI输出格式切换

      最近在使用TI的DSP芯片TMS320F280025时,发现其输出格式从COFF变为EABI,然后在原来程序在线升级这块,需要做一些修改才能正常实现应用程序在线升级。现

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

        如下为输出的两种格式

        主要区别如下:

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

       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位数据类型



推荐阅读
author-avatar
此女人不嫁_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有