打印

如何用HEX2000将out文件转换成HEX文件?

[复制链接]
10084|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tengchao998|  楼主 | 2013-3-4 14:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jlass| | 2013-3-4 15:20 | 只看该作者
本帖最后由 jlass 于 2013-3-6 13:54 编辑

HEX2000没有用过
我都用ultraedit
选择回车符全局替换成“,”就搞定了

使用特权

评论回复
板凳
airwill| | 2013-3-5 12:59 | 只看该作者
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指令写一个脚本文件,这种脚本文件的好处是可以编写比较复杂的要求,而且易于修改。下面是我的一个参考例子:
1.mcbsp_sd_demo.out
2.-image
3.--memwidth 16
4.--map mcbsp_sd_demo.map
5.--order=LS
6.-b
7.-fill FFFFh
8.ROMS
9.{
10.TEXT: org = 0x00600000, len = 0x2800, romwidth = 8
11.files = {mcbsp.bin}
12.}
摘自 "http://blog.chinaunix.net/uid-9863638-id-3060865.html"

使用特权

评论回复
地板
nealfei| | 2013-5-30 16:12 | 只看该作者
貌似有点道理,但是还没有尝试过到底好不好使

使用特权

评论回复
5
huangxz| | 2013-5-30 17:28 | 只看该作者
很详细啊,肯定没问题

使用特权

评论回复
6
zhangmangui| | 2013-5-30 17:55 | 只看该作者
airwill 发表于 2013-3-5 12:59
TI的ccs默认生成的是.out格式的文件,而很多应用场合往往需要的是纯二进制代码,TI提供了一个小工具HEX2000 ...

标记  暂时还没用到

使用特权

评论回复
7
sjl0991| | 2014-7-7 16:26 | 只看该作者
Ascii hex如何转化为二进制文件,网上下载的貌似都是转换intel hex文件的,用在这里总是转成0字节的二进制文件,是不是不通用,怎么解决阿?

使用特权

评论回复
8
liuzhemin12| | 2015-6-24 16:53 | 只看该作者
在D盘下新建一个文件夹Hex,将hex2000拷贝到该文件夹下,在该目录下新建一个文件如Hex2000.cmd   文件内容如下:

Ads1256.out
-map Ads1256.map
-i
-o   Ads1256.hex
-memwidth 16
-image
ROMS
{
   FLASHD:origin = 0x3F0000,length = 0x8000,romwidth = 16,fill=0xFFFF
}

在开始->运行->cmd->D:->cd Hex->hex2000 Ads1256.out 即可生成标准的hex文件

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

30

帖子

2

粉丝