发现IAR的怪事,同一代码不同电脑生成的烧录文件不同。

2019-12-14 13:11发布

    由于要接收另一家公司为我们开发的产品源代码,为了保证源代码与已生产的产品源代码一致,在接收对方源码时,只要编译出来的烧录文件与已生产的产品的烧录文件一致就接受,否则不接收,然后怪事出现了,经测试发现,用同一个版本的IAR,完全相同的操作系统(同一个系统装两台电脑),只是电脑的硬件不同,同一个源代码工程,两台电脑生成的烧录文件居然会不一样,致使无法接收源代码,而用keil完全没有这种事,真是见鬼了,肯定有与我遇到相同困惑的朋友,这是什么情况?原因是什么?怎么解决的?? 使用的版本为IAR Embedded Workbench for ARM 6.30.1。如有和我相同需求的朋友,一定注意了,一定不能用IAR。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
46条回答
aozima
1楼-- · 2019-12-16 20:48
时间 日期 路径
diff bin 文件
diff 每个源文件生成的asm文件
有些差异项是可以接受的。
但发行时,都要发bin文件,不然怎么死的都不知道,比如编译器使用了环境变量。
liangzanyao
2楼-- · 2019-12-17 01:12
真的假的?能拿一个普通的demo试下有没有这种问题。然后发出来给我们也一起验证下。
johnlj
3楼-- · 2019-12-17 03:35
要求对方将代码转化为MDK的,然后用MDK来验收
johnlj
4楼-- · 2019-12-17 08:55
 精彩回答 2  元偷偷看……
zj2003
5楼-- · 2019-12-17 12:12
回复23楼,两台电脑生成的代码运行起来没有差异。
zj2003
6楼-- · 2019-12-17 14:53
回复22楼,如果IAR的版本不一样,生成的hex会完全不一样,有测试过6.5版本的iar与6.3的,生成的完全不一样。

一周热门 更多>