请教:下载到430里面的运行文件后缀是什么??谢谢!!

shenxing   2009-9-16 19:55 楼主
请教:请问IAR编译后,下载到430里面的运行文件后缀是什么??
是xx.d43吗?感觉不是,我目前用430F248做一个东东,程序的xx.d43都有60k了,但430F248总共只有48k啊?
疑惑,请指点,谢谢!!

回复评论 (9)

txt
点赞  2009-9-16 22:28
我看我的工程目录里面,没有.txt文件啊? 比如,51的烧录文件是.hex或.bin文件。
还是我的理解就是错误的,430根本就没有独立的烧结文件,每次烧录都需要通过打开工程来下载。我想看到这个,另外也想了解我目前的程序大概占用了430多大的程序空间。
还是不明白,请再详细点,谢谢!!
点赞  2009-9-17 23:44
在LINK选项里有编译文件输出选项,一般工厂烧写代码是TXT格式的,DEBUG仿真时时D43格式的。
点赞  2009-9-18 08:52

还是疑惑???

我的应用程序,芯片是MSP430F248,编译后,.d43文件是64k,.txt文件是54k,而MSP430F248的flash 48k,RAM 4k,二者相加也才52k啊?按理来说应该装不下54k的程序,但程序的确是下载到芯片里面去了。
是我理解有误?还是.txt文件里面有庸余信息,在下载时,被虑掉了?
谢谢!!
点赞  2009-9-22 15:35

还是疑惑???

顶起!
点赞  2009-9-22 15:39

看了

不是很明白,现在我的下载也有问题
点赞  2009-12-25 10:40

51 ××r arm 都生成HEX文件和BIN文件

但惟有430独创,剑走偏锋!
HEX文件有太多的冗余了,所以不便于远程升级等操作,因为你得去掉这些枝节和冗余!
BIN文件又太赤裸了,只有机器码无任何冗余,这对远程升级时程序拷贝是很有利的,但最无利是BIN文件很难打开直接观察,笔者估计计算机里的EXE文件相HEX以便重定位 BIN文件可能像COM类文件!
最好打开的文件是什么?WORD文件,JPQ××××××,都不是!再笔者的看来是TXT文件(声明笔者对微机是超级菜鸟不对算信口雌黄)
430剑指TXT
其文件格式 @1100
4303 4200。。。。。。。机器码(其实是34333033 20 34323030)
@FFFE
1100
Q
@后面是地址索引 Q是结束符
所以430格式很好读,不需要专门软件打开,移植拷贝都特别容易(TXT文本的特点)
搂主你光要指令就拷贝走4303.。。。。。机器码部分出来,就相当于BIN文件了
如果把地址用上@1100 @FFFE 就相当于HEX文件了!
以下全是笔者用单片机思维感悟出来的,微机高手请别笑话!
一个文件之所以能显示(还能看懂),笔者估计是因为文件是按ASC码保存的,ASC就有很多的冗余,例如空格20H无效00H 回车0DH 30 30才表示0X00,这就个格式转换和去掉冗余问题,笔者在做和计算机接口和"把计算机的当单片机的显示器"的时候,经常要遇到这样的问题

例如 20 20 20 30 20 30 39 20 38 在我们眼里看见的是00 98,但你把它拷贝出来却是前面的,如果你希望写片或者远程升级你希望你的单片机去做BCD码冗余去除和反变换工作吗?笔者是这样原始操作的,把指令码拷贝出来,此时还是ASC码,我把它放到串口调试助手上去,命令串口助手按16进制转换发送,就自动去掉冗余了,但有一个前提切忌切忌,如果你不是0 1.2.3.。。。。F 16个字符的组合,16进制转换器将拒绝执行,所以你不能拷贝Q @等非法字符

这里再补充一句,笔者自己的远程升级程序已经做出来了,笔者验证程序很短小顽存性很好,但太低级,就跟上面一样,程序内核做的很好,我缺了一腿,就是那位编C++的朋友,用一个按钮帮我去掉上面的Q把@后面的数除以128产生页号(包号),然后把程序进行分割,分割成128个字节一页的数据包,不够128的可填充单字RET指令(51填0是NOP )分割完后,还帮助加文件头,我用的是0E7 7EH 包号,可做成开放式由用户填充,再补上包号,幁尾校验(校验可做出多选项)产生一个和主文件同名但以包号为后缀的文件系列,最后调用串口精灵,就好了,最好串口精灵也自己写,更好的操作,系统还具有资源冲突(我肯定要用串口资源)检测机制和防用户程序占用片上BOOT功能就太完美了,以上工作笔者都是手工在做,普及性不强,正寻求合作呢!
点赞  2009-12-25 11:28

请教!430烧录的txt文件里的内容怎么解读的?

我将430的程序烧录为txt格式的,如下列所示:
@5C00
B2 40 80 5A 5C 01 31 40 00 5C 8C 00 58 2A 3E 40
80 01 3F 40 00 00 B0 13 DC D2 8C 00 00 1C 8D 01
CE 43 3E 40 57 0E 3F 40 00 00 B0 13 F2 D6 B0 13
A6 BF B0 13 E6 D6 3F 14 4E 43 F2 B0 20 00 00 02
1E 2C F2 B0 20 00 1C 02 1A 28 F2 C0 20 00 1C 02
F2 D2 02 02 F2 C0 10 00 02 02 F2 B0 20 00 00 02
04 2C 40 18 E2 42 92 2B 08 3C F2 D0 10 00 02 02
F2 C2 02 02 40 18 D2 43 92 2B 5E 43 49 3C F2 B0

我现在知道@后面的5C00为表示地址,那后面那些数据是以什么形式表示的?十六进制?机器码还是其他什么的?
我现在要做一个升级的程序,要将这个txt文档通过串口从上位机写入到板子里去,那我该以什么样的格式发呢?直接就发送,还是转换为ASCII码,也就是例如将B2 40 80 5A 5C 01 转换为4232 2034 3020 3830 2035 4120 3543 2030 3120 发下去呢??
求解啊~~有点迷惑这个格式的问题,谢谢啦~~~
点赞  2011-11-21 19:37

我用BSL 下载器

下载文件时TXT的
单纯的EEer~
点赞  2011-11-21 20:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复