硬汉嵌入式论坛

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

[STM32H7] STM32H7使用DWT时钟周期计数器注意事项,不要选择MDK的Reset and Run

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106588
QQ
发表于 2019-3-15 02:06:00 | 显示全部楼层 |阅读模式
有时候为了方便,基本都会选择下面的选项,即下载后立即复位运行
QQ截图20190315020239.jpg

在H7下,DWT时钟计数器容易出现不运行的情况,而调试状态或者重新上电都不存在问题,使用的时候要注意。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106588
QQ
 楼主| 发表于 2019-3-15 02:07:32 | 显示全部楼层
DWT时钟计数器的用处很多,比Event Recoder的时间测量功能:

【专题教程第7期】终极调试组件Event Recorder,各种Link通吃,支持时间和功耗测量,printf打印,RTX5及中间件调试
http://www.armbbs.cn/forum.php?m ... 7176&fromuid=58
(出处: 安富莱电子论坛)

又比如做精确微妙延迟:

DWT实现一个精确微妙延迟的参考例程
http://www.armbbs.cn/forum.php?m ... 9128&fromuid=58
(出处: 安富莱电子论坛)


回复

使用道具 举报

5

主题

95

回帖

110

积分

初级会员

积分
110
发表于 2019-11-15 13:27:53 | 显示全部楼层
我在F7上遇到了该问题,初始化DWT的话,重新上电后程序不运行(或者说卡在了某个地方);
注释掉的话可以运行;
按照楼主的说法不选择MDK的Reset and Run,也不行;
可能不同系列的芯片有差别吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106588
QQ
 楼主| 发表于 2019-11-15 13:31:11 | 显示全部楼层
xiaomeng 发表于 2019-11-15 13:27
我在F7上遇到了该问题,初始化DWT的话,重新上电后程序不运行(或者说卡在了某个地方);
注释掉的话可以 ...

F7系列有毒。。。多位网友反馈了这个问题。。。
回复

使用道具 举报

5

主题

95

回帖

110

积分

初级会员

积分
110
发表于 2019-11-15 13:54:18 | 显示全部楼层
eric2013 发表于 2019-11-15 13:31
F7系列有毒。。。多位网友反馈了这个问题。。。

http://www.armbbs.cn/forum.php?m ... 5&highlight=dwt

是有毒,按照6楼的大神的做法,可以了
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2022-6-15 14:30:42 | 显示全部楼层
为什么我stm32f401  用DWT也是这个现象啊
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2022-6-15 14:32:54 | 显示全部楼层
我用stm32f401   初始化dwt   下载程序不运行   debug 重新上电就正常
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106588
QQ
 楼主| 发表于 2022-6-15 15:46:05 | 显示全部楼层
马氏王朝 发表于 2022-6-15 14:32
我用stm32f401   初始化dwt   下载程序不运行   debug 重新上电就正常

下载器问题,没有正常复位。
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2022-6-15 17:38:30 | 显示全部楼层
eric2013 发表于 2022-6-15 15:46
下载器问题,没有正常复位。

把DWT初始化注释掉  就没问题
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2022-6-16 09:05:19 | 显示全部楼层
马氏王朝 发表于 2022-6-15 17:38
把DWT初始化注释掉  就没问题

硬汉哥!如果仿真器问题!为什么注释掉DWT 烧录完就能运行 而不需要重启一下啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106588
QQ
 楼主| 发表于 2022-6-16 10:57:07 | 显示全部楼层
马氏王朝 发表于 2022-6-16 09:05
硬汉哥!如果仿真器问题!为什么注释掉DWT 烧录完就能运行 而不需要重启一下啊

注释掉DWT,DWT能用了?
回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2022-6-16 11:32:42 | 显示全部楼层
eric2013 发表于 2022-6-16 10:57
注释掉DWT,DWT能用了?

不能用 ! 但是注释掉DWT初始化部分,再勾选  reast and run  ,程序烧录完就能跑  。  不注释掉dwt ,程序烧录完不能跑 ,需断电重启 !
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106588
QQ
 楼主| 发表于 2022-6-16 11:40:27 | 显示全部楼层
马氏王朝 发表于 2022-6-16 11:32
不能用 ! 但是注释掉DWT初始化部分,再勾选  reast and run  ,程序烧录完就能跑  。  不注释掉dwt ,程 ...

不能跑的话,大概率是你的下载器有问题,下载器不能正常复位芯片,导致必须重新上电才能正常复位。
回复

使用道具 举报

75

主题

679

回帖

904

积分

金牌会员

积分
904
发表于 2022-10-14 10:43:05 | 显示全部楼层
F1也有呀。还郁闷怎么回事。现在进去不运行,按复位才会运行。否则调用DWT延时的地方会一直等待过不去
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106588
QQ
 楼主| 发表于 2022-10-14 11:36:16 | 显示全部楼层
庄永 发表于 2022-10-14 10:43
F1也有呀。还郁闷怎么回事。现在进去不运行,按复位才会运行。否则调用DWT延时的地方会一直等待过不去

这个问题,今年我锁定根本原因了,是下载器的问题,早期用的D版JLINK,不能正常复位DWT。
回复

使用道具 举报

75

主题

679

回帖

904

积分

金牌会员

积分
904
发表于 2022-10-14 11:45:39 | 显示全部楼层
eric2013 发表于 2022-10-14 11:36
这个问题,今年我锁定根本原因了,是下载器的问题,早期用的D版JLINK,不能正常复位DWT。

这个可能性也有。我是怀疑内核没完全复位,所以上电后初始化完HAL库之后延迟100ms,然后在初始化DWT解决这个问题。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 18:35 , Processed in 0.232432 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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