打印

iar下生成的bin文件和烧写如flash的信息局部有出入

[复制链接]
2601|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
m503022388|  楼主 | 2015-12-2 10:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dirtwillfly| | 2015-12-2 15:01 | 只看该作者
一般生成的bin文件都没问题的。只是因为链接顺序不同,包含的信息不同,优化的不同,造成不同的开发环境生成的bin不一样

使用特权

评论回复
板凳
m503022388|  楼主 | 2015-12-2 17:26 | 只看该作者
dirtwillfly 发表于 2015-12-2 15:01
一般生成的bin文件都没问题的。只是因为链接顺序不同,包含的信息不同,优化的不同,造成不同的开发环境生 ...

我查看过我的bin档,发现里面每32k有效数据中间都有固定长度的一段信息,对比了下发现其中除了一个字节的表示序号以外其他都一样。不懂怎么搞得。。。iar生成bin都会这样吗?还是说编译的配置xcl文件不同导致的?
我现在是只能先编译生成hex然后用其他工具转换成bin,再手动剔除一大段0xff,勉强算是调通了。。。

使用特权

评论回复
地板
xyz549040622| | 2015-12-3 08:53 | 只看该作者
m503022388 发表于 2015-12-2 17:26
我查看过我的bin档,发现里面每32k有效数据中间都有固定长度的一段信息,对比了下发现其中除了一个字节的 ...

好牛X的做法。用CCS试试,只要程序能调通,管他bin中塞进去什么东西了呢,这是编译器干的事情。

使用特权

评论回复
5
dirtwillfly| | 2015-12-3 09:57 | 只看该作者
xyz549040622 发表于 2015-12-3 08:53
好牛X的做法。用CCS试试,只要程序能调通,管他bin中塞进去什么东西了呢,这是编译器干的事情。 ...

是这理。楼主能力太强,编译器已经不是他的对手了;P

使用特权

评论回复
6
m503022388|  楼主 | 2015-12-4 16:05 | 只看该作者
xyz549040622 发表于 2015-12-3 08:53
好牛X的做法。用CCS试试,只要程序能调通,管他bin中塞进去什么东西了呢,这是编译器干的事情。 ...

我觉得是编译器在生成hex的时候把空间扩大了一倍,导致每32k正确代码中间都有32k填充了0xff。而最后一页的那四行代码虽然看不懂,但是如果缺失就跑不了程序了,就是只能从boot LJMP到应用的main,但是main里面的东西就实现不了。这应该是编译配置文件搞的鬼,我功力太浅还不会改xcl文件,目前只能用这方法了,或者在原机上用读写flash的办法把数据全部扣出来。

使用特权

评论回复
7
xyz549040622| | 2015-12-4 16:26 | 只看该作者
m503022388 发表于 2015-12-4 16:05
我觉得是编译器在生成hex的时候把空间扩大了一倍,导致每32k正确代码中间都有32k填充了0xff。而最后一页 ...

你的分析有道理。可是问题又来了,默认的配置怎么会出现这种情况呢?

使用特权

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

本版积分规则

6

主题

37

帖子

0

粉丝