[应用相关] stm32cubeide debug模式和release模式单片机运行速度不一样,在...

[复制链接]
 楼主| 七毛钱 发表于 2022-3-11 14:49 | 显示全部楼层 |阅读模式
ST, UG, ease, se, BUG, IDE
stm32cubeide debug模式和release模式单片机运行速度不一样,在哪里进行控制的
香水城 发表于 2022-3-11 22:59 | 显示全部楼层
能说具体点吗?具体什么速度差异?差异大吗?

debug release模式差别主要体现在代码里有些调试信息、优化方面有差异,

可能会有些代码大小、执行效率方面的差异。

但一般来讲不会有很明显的运行速度的差异。
cainiao97531 发表于 2022-3-15 09:01 | 显示全部楼层
香水城 发表于 2022-3-11 22:59
能说具体点吗?具体什么速度差异?差异大吗?

debug release模式差别主要体现在代码里有些调试信息、优化 ...

这个问题,我在st的支持中心提过,代码运行速度变慢了,我调试代码时发现的,通过控制一个IO输出高低电平中间加延时输出一个方波,在debug模式下一个完整的波形大概15us,在release模式下7us左右,官方的回复我也没看懂,可以麻烦你给解释一下吗,回复如下
Debug 版本:

  /MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库)

  /Od 关闭优化开关

  /D "_DEBUG" 相当于 #define _DEBUG,打开编译调试代码开关(主要针对

  assert函数)

  /ZI 创建 Edit and continue(编辑继续)数据库,这样在调试过

  程中如果修改了源代码不需重新编译

  /GZ 可以帮助捕获内存错误

  /Gm 打开最小化重链接开关,减少链接时间

  Release 版本:

  /MD /ML 或 /MT 使用发布版本的运行时刻函数库

  /O1 或 /O2 优化开关,使程序最小或最快

  /D "NDEBUG" 关闭条件编译调试代码开关(即不编译assert函数)

  /GF 合并重复的字符串,并将字符串常量放到只读内存,防止

  被修改

评论

从你描述来看,基于你目前的这个测试结果差别的确挺大的。 你目前使用哪颗芯片? 你的GPIO翻转是调用Cube函数吗? 你的延时通过什么完成的, 相关代码不多,可否将代码贴到这里。 然后 我们其它人也可以验证测试。  发表于 2022-3-25 10:14
ex7s4 发表于 2022-3-15 13:58 | 显示全部楼层
不会吧,一般都是正常的啊?
suw12q 发表于 2022-3-15 14:12 | 显示全部楼层
没遇到过,这个估计得在软件设置了吧
l1uyn9b 发表于 2022-3-15 14:24 | 显示全部楼层
可能是有些调试信息吧,但是应该也不会占用很多速度吧
p0gon9y 发表于 2022-3-15 14:57 | 显示全部楼层
你可以问问官方的技术支持,不过我觉得我应该不会差很多速度
t1ngus4 发表于 2022-3-15 15:36 | 显示全部楼层
这个控制好像没有吧,不知道在哪儿设置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

375

主题

2621

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

375

主题

2621

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部