10074|18

31

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

FILEIOSHELL 和HEX2BIN两个文件有什么区别 [复制链接]

看文档SPRAAQ2中用了两个文件,其中对APPCODE的由HEX到BIN用了FILEOSHELL,而对在RAM中运行的程序用了HEX2BIN,这两个有区别吗?

最新回复

好帖!谢谢!  详情 回复 发表于 2016-2-3 09:53
 
点赞 关注

回复
举报

2606

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
hex2bin.bat是一个批处理,从.out 转换为.bin
FILEOSHELL .是从.hex 转换为.bin
 
个人签名工程 = 数学+物理+经济
 

回复

31

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
原帖由 安_然 于 2011-11-7 13:18 发表 hex2bin.bat是一个批处理,从.out 转换为.bin FILEOSHELL .是从.hex 转换为.bin

版主,不对呢。HEX2BIN是一个可执行文件文件。和FILEIOSHELL一样的。就是搞不懂两者的区别。
两个都是把HXE变为BIN的文件。
我试了一下,在RAM中运行的程序,分别用HEX2BIN和FILEIOSHELL把HEX文件变为BIN文件,只是配置项不一样,但结果都是一样。都可以运行。
不明白两者的区别是什么。为什么要用两个文件。
 
 
 

回复

2606

帖子

0

TA的资源

五彩晶圆(初级)

4
 
我说的是hex2bin .bat ,你说的是hex2bin.exe .我重新看了下文献,确实是用了不一样的. 用hex2bin的hex 文件是HEX FORM (intel ),用fileioshell 的hex文件是motoral-s
HEX2000 produces an ASCII formatted file that could have been used in this application report, but there are two drawbacks:
· It takes ASCII 16-bits to represent 8-bits of binary data required for Flash programming
· Performing this conversion with CKFA adds to the overall Flash programming time




The F281x SCI-A boot option expects binary data transmission; ASCII-Hex format is not an option for the
data stream. To convert a COFF executable to binary, the first step is to convert the COFF executable to
ASCII-Hex format using the TI hex converter tool. This application report uses the Intel style ASCII-Hex
format.
 
个人签名工程 = 数学+物理+经济
 
 

回复

65

帖子

0

TA的资源

一粒金砂(高级)

5
 
我理解的是
生成CKFA 用hex2bin.exe,
因为SCI-Boot上电需要检测0X08AA,限制了上电后传送的xx.bin文件类型必须是以0x08AA开头的Intel型。

生成AppCode用FileIOShell.exe,
因为为了写Flsah速度能够更快,需要将没用到的Flash地址用0xFFFF来填充。
另外FileIOShell.exe转换工具有源代码,在FileLibrary.h对与Flsah大小有限制,因此28335的0x40000的Flsah不能一次写完。
这点用大Flash的需要注意。
 
 
 

回复

2606

帖子

0

TA的资源

五彩晶圆(初级)

6
 

回复 5楼 collean 的帖子

多谢 collean的解释,已经非常清楚了。呵呵。现在关于ckfa ,你是专家了。常来论坛坐坐,跟大家分享下你的实践经验。
 
个人签名工程 = 数学+物理+经济
 
 

回复

31

帖子

0

TA的资源

一粒金砂(高级)

7
 

回复 6楼 安_然 的帖子

我已经说过了,不论是HEX2BIN还是FILEIOSHELL,都能生成
0x08aa开头的SCI启动文件。请看我的第3楼。所以我感觉前面说得不在点子上。
 
 
 

回复

2606

帖子

0

TA的资源

五彩晶圆(初级)

8
 

回复 7楼 book1bug 的帖子

你没看到5楼的解释吗?感觉还是不在点子上?
 
个人签名工程 = 数学+物理+经济
 
 

回复

65

帖子

0

TA的资源

一粒金砂(高级)

9
 

回复 7楼 book1bug 的帖子

最终的结果
一个是0X08AA开头的形式,一个是填充整个Flash的二进制形式。

至于HEX到BIN转换,只要结果对了就没问题。
用二进制编译器看一下,符合要求就可以,不用拘于资料。

个人理解。
 
 
 

回复

2606

帖子

0

TA的资源

五彩晶圆(初级)

10
 

原帖由 collean 于 2011-11-9 12:02 发表 最终的结果一个是0X08AA开头的形式,一个是填充整个Flash的二进制形式。 至于HEX到BIN转换,只要结果对了就没问题。用二进制编译器看一下,符合要求就可以,不用拘于资料。 个人理解。

顶一个

 
个人签名工程 = 数学+物理+经济
 
 

回复

31

帖子

0

TA的资源

一粒金砂(高级)

11
 
原帖由 collean 于 2011-11-9 12:02 发表 最终的结果 一个是0X08AA开头的形式,一个是填充整个Flash的二进制形式。 至于HEX到BIN转换,只要结果对了就没问题。 用二进制编译器看一下,符合要求就可以,不用拘于资料。 个人理解。

collean的意思是FILEIOSHELL不能生成0x08aa的开头吗?我第三楼已经说明了用FILEIOSHELL也能生成0x08aa的开头。使用上两者没有区别。
 
 
 

回复

2606

帖子

0

TA的资源

五彩晶圆(初级)

12
 
楼上的已经试过用两种方式生成的.bin都可以让DSP正常工作?如果是的,那就先用着,等高手来解释吧。
 
个人签名工程 = 数学+物理+经济
 
 

回复

31

帖子

0

TA的资源

一粒金砂(高级)

13
 

回复 12楼 安_然 的帖子

经过仔细研究与实验,已经确定了这两个的唯一区别。 "文档SPRAAQ2中用了两个文件,其中对APPCODE的由HEX到BIN用了FILEOSHELL,而对在RAM中运行的CKFA程序用了HEX2BIN" 我在三楼已经提到,这两个文件最终生成的CKFA的BIN文件运行效果是一样的。 其实这只是TI公司文档给出的两种格式的转换文件而已。 FILEIOSHELL是把S19格式的HEX文件转化为BIN文件, HEX2BIN是把INTEL HEX格式的HEX文件转化为BIN文件。 而由OUT文件转换器hex2000的选项来决定生成哪种格式的HEX文件。如 -i 表示生成INTEL HEX格式的文件 -m 表示生成S19格式的hex文件。
 所以,hex2bin,fileioshell的效果是一样的。只需要用hex2000生成不同格式的hex文件给两者作输入即可。
 此问题彻底解决! [ 本帖最后由 book1bug 于 2011-11-9 22:45 编辑 ]
 
 
 

回复

2606

帖子

0

TA的资源

五彩晶圆(初级)

14
 

回复 13楼 book1bug 的帖子

呵呵,恭喜你。谢谢分享。欢迎下次再来。
 
个人签名工程 = 数学+物理+经济
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

15
 

主要是看思路,至于实现,那就很多了。比如。。。

至于实现的问题,自己写工具也行,理解更深(细节)。其过程为,Bootloader做了两步,第一步在原有(boot rom)的bootloader的基础上,把自己的bootloader 下载下去。这一步因为已经固化了,所以其交互的格式受限制。只能按照其rom中固化的sci通信格式走。也就是开始是0x08AA,然后怎么样,怎么样的... ...。第二步才是在已下载到ram的bootloader基础上,进行应用程序下载(如果只是从RAM跑,就不用烧写) 或 烧写(需加载到Flash中的话。跑就不一定在哪里了,看你应用而定,可能有些是在Flash中,有些在RAM中)。原理搞清楚就行了,有兴趣可以玩玩儿。

不过这种方法不好。因为还得有跳线选择从哪里启动。应用中还是麻烦。更常用的方法是,把自己的bootloader烧写到其中一个区(这个区只放Bootloader),然后直接读出你应用程序烧写后的区做成要升级的固件,通过bootloader区的代码执行下载,烧写。简单,明了。

这个方法也不完美。最好是能把其BOOT ROM的SCI启动的代码看懂,其实很简单,有源码,有说明(ti.com)。然后根据需要设置上电延时升级判断等,然后固化到OTP中。这样既不占用Flash空间,又不用要跳线。直接从OTP启动就行。 再参考CKFA 就 perfect。

哈哈,浅见,欢迎拍砖。
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

16
 

关于在线升级

新手准备做28035的在线升级,看了楼上的留言不完全懂但是想请问必须要修改bootloader才可以吗? 可以利用提供的API函数烧写Flash,然后不用跳线也不用修改bootloader模式,直接从Flash启动实现在线升级吗?麻烦各位搞过串口在线升级的楼主帮帮忙了,不胜感激!
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

17
 
安然,你是老大了啊
 
 
 

回复

569

帖子

0

TA的资源

五彩晶圆(中级)

18
 
现在TI的hex2000就支持out转bin,不需要用第三方工具了
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(初级)

19
 
好帖!谢谢!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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