硬汉嵌入式论坛

 找回密码
 立即注册
查看: 582|回复: 8
收起左侧

[IAR] IAR 9.30打开8.40的工程无法正常运行

[复制链接]

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2023-9-11 19:57:57 | 显示全部楼层 |阅读模式
最近想把项目都统一到9.30版本的IAR,然后试了下,直接用9.30打开8.40创建的工程,编译后hex大小差了将近20KB(8.40有465KB,9.30只有448KB),然后程序运行不起来。重新改回8.40版本就正常。这是为啥?有大佬知道吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-9-11 20:11:20 | 显示全部楼层
大概率串口重定向的问题导致的,此贴的方法修改即可,或者将你的程序里面printf打印之类的函数先全部注释掉测试。

IAR9.X printf串口底层重定向方法,否则提示Linker Error: "no definition for __write"
https://www.armbbs.cn/forum.php? ... 9542&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2023-9-12 08:58:34 | 显示全部楼层
eric2013 发表于 2023-9-11 20:11
大概率串口重定向的问题导致的,此贴的方法修改即可,或者将你的程序里面printf打印之类的函数先全部注释掉 ...

感谢提供意见

我没有用printf,所以应该和串口重定向没有关系
回复

使用道具 举报

13

主题

89

回帖

128

积分

初级会员

积分
128
发表于 2023-9-12 19:08:22 | 显示全部楼层
会不会跟优化有关系
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

积分
10
发表于 2023-9-13 15:22:02 | 显示全部楼层
当换编译器版本出现问题的时候,最优解就是用新版本的编译器重新建一个新的工程
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-9-14 07:49:24 | 显示全部楼层
yelian 发表于 2023-9-12 08:58
感谢提供意见

我没有用printf,所以应该和串口重定向没有关系

那稍有点麻烦,得排查了。我这边遇到大基本就是printf函数问题。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2023-9-24 18:42:27 | 显示全部楼层
benny 发表于 2023-9-13 15:22
当换编译器版本出现问题的时候,最优解就是用新版本的编译器重新建一个新的工程

好想法,有空的时候可以试试
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2023-9-24 18:44:24 | 显示全部楼层
qq1646544 发表于 2023-9-12 19:08
会不会跟优化有关系

我前天刚试了下,8.40优化等级middle,然后middle直接切换到9.30就没问题,不开优化或者其他优化都有问题。很神奇的现象。但是我不敢用,毕竟只有middle可以运行那指不定有啥隐藏问题
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2023-9-24 18:45:25 | 显示全部楼层
eric2013 发表于 2023-9-14 07:49
那稍有点麻烦,得排查了。我这边遇到大基本就是printf函数问题。

是的  很麻烦  等有空的时候再慢慢查吧
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 04:07 , Processed in 0.206035 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表