你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

大家来说说优化级别选的什么,有没有最高优化出问题的

[复制链接]
iyumi 提问时间:2019-1-16 11:19 /
使用的STM8S003 8K空间小了,必须要用最高优化才能刚好装得下,上周末调程序的时候,出现一个问题,和预期的效果不一样

大致过程:
1、全部最高优化,出现问题:闪灯状态持续很久才退出,远远超出正常值
2、定位到出问题的函数(这个函数已经很久没有改动了,以前也没有出现过这个问题),一些条件和语句不能打断点,从汇编语言窗口看,这个断点打到另外一个函数相同的语句去了,所以肯定是被优化了
3、这个函数使用#pragma optimize=none不进行优化,这个是没有问题的
4、恢复全部最高优化,功能正常,没有复现问题,这两天我都没能复现问题。。。这个过程除了改优化级别没有改动过代码

大神们告诫,要从自己身上找原因,所以不先去怀疑编译器的问题,肯定还是我的代码写的不够好,不够精简,代码有点多,只贴直接相关的两个函数,当然也不排除问题出在其它函数
捕获.JPG
1409开始的这个函数只有1431行可以正常打断点,1425行可以打断点,但是指向的是右边1325行的地方,除此之外这个函数的其他语句就都不能打断点了,而不能打断点的语句决定是否退出闪灯状态,大神们能不能看出是什么原因

另外我想问问大家一般优化级别选的什么,有没有选最高优化出问题的,对于最高优化出问题的情况有没有方向去定位这个问题?
收藏 评论3 发布时间:2019-1-16 11:19

举报

3个回答
toofree 回答时间:2019-1-16 11:46:03
具体哪些语句有没有被优化掉,可以调试执行时看汇编。
能不能打断点,也得看汇编。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

tanic 回答时间:2019-1-16 16:00:00
项目一开始就是最高优化级别,就不存在后面的问题了,写代码思路要清晰,熟手不要太过依赖在线仿真

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

Kevin201707 回答时间:2019-1-17 17:43:45
赞一个

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版