2158|0

1140

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

TI DSP hex2000.exe使用方法 [复制链接]

TI的CCS默认生成的是.out格式的文件,而很多应用场合往往需要的是纯二进制代码,TI提供了一个小工具HEX2000能帮助实现格式的转化,具体的说明还是请参看TMS320C28x Assembly Language Tools手册。这里简单的说明下该工具的使用:


       1.hex2000是在ccs安装目录下的。

         2.hex2000 转化工具支持多种输出格式,至于用那种格式,通常是由所用的烧写器来决定的。

        常见的有:
         Ascii hex: 这种格式其实是会将所有的code转化为字符形式,比如本来的0x3132, 它就用'3' '1' '3' '2'来表示,当中有空格,这种格式比较使用通过串口等工具来更新数据。
         binary:-b 选项,纯二进制格式。它还支持intel,motorola-s, ti-tagged, tektronix等格式。

        3.hex2000 有memory width的概念,输入文件的(--memwidth)
        一般来说都是16bit的(因为编译出来就是这样的),输出格式--romwidth,可以指定为8或者16(有些格式不支持16)。如果输入16,输出是8,hex工具会自动生成两个文件,一个放低8位的数据,一个放高8位的数据。当然你也可以自己制定这两个文件的名字。

        4.你也可以指定输出文件的字节顺序,默认是little-endian,也可以通过-order LD和-order MS来指定大小端顺序。

        5. -image选项:
        打开该选项,系统会产生一个和你在roms中指定大小一样的文件,不足部分用fill的值来替代。如果没有用该选项,系统只会产生一个实际大小的文件,比如你想要的空间是0x300000-0x330000,但这里面只有0x300000-0x310000空间有数据,那系统只会产生这部分的数据,后面部分不会填0;同事如果不使用-image选项,那如果0x300000-0x330000中仅有两个数据块,且这两个数据不连接,不适用该选项则会出现一个压缩的数据块,且仅有这两个数据块和的outfile。

        6.hex2000工具
        可以通过命令行通过一句话将所有的参数和输入输出写在一起来运行,比如:hex2000 -t firmware -o firm.lsb -o firm.msb
         也可以通过ROMS指令写一个脚本文件,这种脚本文件的好处是可以编写比较复杂的要求,而且易于修改。

        下面是我的一个参考例子:
mcbsp_sd_demo.out
-image
--memwidth 16
--map mcbsp_sd_demo.map
--order=LS
-b
-fill FFFFh
ROMS
{
TEXT: org = 0x00600000, len = 0x2800, romwidth = 8
files = {mcbsp.bin}
}
复制代码
不知道是不是由于我要输出8位而源文件是16位,这里的org其实是0x300000,但是写这个一直不对,只有填成两倍才可以。注意这里的长度是byte。

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表