打印
[应用相关]

stm32cubeide debug模式和release模式单片机运行速度不一样,在...

[复制链接]
917|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
七毛钱|  楼主 | 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 合并重复的字符串,并将字符串常量放到只读内存,防止

  被修改

使用特权

评论回复
评论
香水城 2022-3-25 10:14 回复TA
从你描述来看,基于你目前的这个测试结果差别的确挺大的。 你目前使用哪颗芯片? 你的GPIO翻转是调用Cube函数吗? 你的延时通过什么完成的, 相关代码不多,可否将代码贴到这里。 然后 我们其它人也可以验证测试。 
地板
ex7s4| | 2022-3-15 13:58 | 只看该作者
不会吧,一般都是正常的啊?

使用特权

评论回复
5
suw12q| | 2022-3-15 14:12 | 只看该作者
没遇到过,这个估计得在软件设置了吧

使用特权

评论回复
6
l1uyn9b| | 2022-3-15 14:24 | 只看该作者
可能是有些调试信息吧,但是应该也不会占用很多速度吧

使用特权

评论回复
7
p0gon9y| | 2022-3-15 14:57 | 只看该作者
你可以问问官方的技术支持,不过我觉得我应该不会差很多速度

使用特权

评论回复
8
t1ngus4| | 2022-3-15 15:36 | 只看该作者
这个控制好像没有吧,不知道在哪儿设置

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

318

主题

2198

帖子

4

粉丝