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

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

[复制链接]
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个回答
七哥 回答时间:2019-1-16 11:46:03
具体哪些语句有没有被优化掉,可以调试执行时看汇编。
能不能打断点,也得看汇编。

评分

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

查看全部评分

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

评分

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

查看全部评分

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

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版