打印
[STM8]

STM8 CheckSum问题

[复制链接]
3415|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FAQ|  楼主 | 2014-5-7 15:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


project在不同的硬盘目录编译后,即使是同一份代码,编译出来的的CheckSum值也是不同的。这样有时候换了目录编译以后就会出现编译后CheckSum值不一样的现象,容易让人以为是代码改变了。怎么避免这么情况。编译器编译出来的HEX文件难道必须包含目录信息么。

沙发
grant_jx| | 2014-5-7 16:17 | 只看该作者
有这说法?S19文件的checksun与路径无关啊

使用特权

评论回复
板凳
FAQ|  楼主 | 2014-5-7 17:46 | 只看该作者
grant_jx 发表于 2014-5-7 16:17
有这说法?S19文件的checksun与路径无关啊

S19的我没看,我是用IAR编译出来的hex文件。你说的是STVD编译出来的S19吧

使用特权

评论回复
地板
airwill| | 2014-5-8 07:38 | 只看该作者
不同的路径导致不同代码, 有个办法: 源代码使用了编译器提供的文件名字符串宏.

使用特权

评论回复
5
FAQ|  楼主 | 2014-5-8 13:00 | 只看该作者
airwill 发表于 2014-5-8 07:38
不同的路径导致不同代码, 有个办法: 源代码使用了编译器提供的文件名字符串宏. ...

具体怎么操作处理的?

使用特权

评论回复
6
airwill| | 2014-5-8 14:12 | 只看该作者
本帖最后由 airwill 于 2014-5-8 14:14 编辑

不过你这个问题, 看样子是工程文件, 不是生成的 HEX 或者其他格式的 ROM 烧写文件.
你先确定你打开的这个文件是 hex, s19 或者 bin 文件, 免得让你兜圈子, 浪费时间,  确定后再进一步讨论我说的问题

使用特权

评论回复
7
FAQ|  楼主 | 2014-5-8 14:55 | 只看该作者
airwill 发表于 2014-5-8 14:12
不过你这个问题, 看样子是工程文件, 不是生成的 HEX 或者其他格式的 ROM 烧写文件.
你先确定你打开的这个文 ...

就是HEX文件

使用特权

评论回复
8
airwill| | 2014-5-8 16:23 | 只看该作者
HEX文件不可能是这样子的, 上图显示的内容太不可能是 HEX 文件了.

使用特权

评论回复
9
FAQ|  楼主 | 2014-5-8 16:37 | 只看该作者
本帖最后由 FAQ 于 2014-5-8 16:39 编辑
airwill 发表于 2014-5-8 16:23
HEX文件不可能是这样子的, 上图显示的内容太不可能是 HEX 文件了.

上面显示的是 用STVP软件直接打开的HEX文件,同样的HEX文件我直接用电脑自带的记事本打开也是一样的。


其实右侧的文件目录就是左边的16进制ASCII码对应的字符。

另外仔细分析,你会发现右侧的目录其实显示的编译工程时所编译的各个子文件的名字。并不只是一个文件的目录,而是编译出来当前HEX文件所需要的所有文件的目录及文件名。



使用特权

评论回复
10
FAQ|  楼主 | 2014-5-8 16:45 | 只看该作者
airwill 发表于 2014-5-8 16:23
HEX文件不可能是这样子的, 上图显示的内容太不可能是 HEX 文件了.

比如根据这个可以清楚的看出来这个HEX文件是有下面6个文件编译出来的。


使用特权

评论回复
11
airwill| | 2014-5-8 17:42 | 只看该作者
还真是 HEX 文件, 那这一块应该是个字符串. 在 Keil 的 c 编译器可以使用 _FILE_ 预定义宏, 生成带文件名的字符串, 你的编译器应该也支持这个功能, 预定义宏名称不一定完全一样. 你可以找一下源代码.

使用特权

评论回复
12
FAQ|  楼主 | 2014-5-8 20:26 | 只看该作者
airwill 发表于 2014-5-8 17:42
还真是 HEX 文件, 那这一块应该是个字符串. 在 Keil 的 c 编译器可以使用 _FILE_ 预定义宏, 生成带文件名的 ...

你说的那个编译器自带的宏定义我知道,但是我现在根本没有往代码里面添加这个宏定义,但是编译出来却有这个东西。我用的是IAR,用的ST的固件库,难道是固件库里面隐含有文件名的宏定义?我还没有发现现在。

使用特权

评论回复
13
icecut| | 2014-5-9 10:09 | 只看该作者
1.这个是debug版本的??release不需要
2.你编译生成bin就不会有这个了

使用特权

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

本版积分规则

FAQ

224

主题

1996

帖子

9

粉丝