硬汉嵌入式论坛

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

[RTOS] ThreadX系统,H7-tool读不出全部信息

[复制链接]

10

主题

60

回帖

95

积分

初级会员

积分
95
发表于 7 天前 | 显示全部楼层 |阅读模式
ThreadX版本号是6.2.0,使用H7-Tool的Trace功能,我看使用说明里6.1.7以上的版本可以读出所有任务统计信息,但我这个任务执行时间这些都没有读出来,H7-Tool上位机的版本是V2.2.8。我尝试在工程里打开和关闭统计任务都不行,也未通过串口或RTT输出任务统计信息,不过使能RTT的话,打开统计任务是可以输出CPU使用率这些的。请问是哪里还需要配置吗?


微信截图_20250418084111.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 7 天前 | 显示全部楼层
从这个信息消息来看,貌似是没有移植ThreadX原生的任务统计方式,他们原生提供的是基于DWT时钟周期计数器实现。

这个专门做了一期教程和配套例子:第16章


https://www.armbbs.cn/forum.php?mod=viewthread&tid=99514
回复

使用道具 举报

10

主题

60

回帖

95

积分

初级会员

积分
95
 楼主| 发表于 7 天前 | 显示全部楼层
eric2013 发表于 2025-4-18 10:10
从这个信息消息来看,貌似是没有移植ThreadX原生的任务统计方式,他们原生提供的是基于DWT时钟周期计数器实 ...

移植了还是不行,需要按照例程编写统计任务那些代码吗?还是使能了就可以
回复

使用道具 举报

10

主题

60

回帖

95

积分

初级会员

积分
95
 楼主| 发表于 7 天前 | 显示全部楼层
wling597074509 发表于 2025-4-18 11:00
移植了还是不行,需要按照例程编写统计任务那些代码吗?还是使能了就可以

我看了下tx_execution_profile.h的文件注释,里面提到要rebuild一下,只build还不行,rebuild后就可以了。
不过还是没有空闲执行时间和中断执行时间,是因为CPU利用率100%了吗,GUIX的占比高达88%.....
回复

使用道具 举报

10

主题

60

回帖

95

积分

初级会员

积分
95
 楼主| 发表于 7 天前 | 显示全部楼层
wling597074509 发表于 2025-4-18 11:17
我看了下tx_execution_profile.h的文件注释,里面提到要rebuild一下,只build还不行,rebuild后就可以了 ...

空闲任务是有利用率的,应该是没把空闲任务当做空闲执行时间
回复

使用道具 举报

1

主题

123

回帖

131

积分

初级会员

积分
131
发表于 7 天前 | 显示全部楼层
本帖最后由 nnqtdf 于 2025-4-18 11:28 编辑

QQ截图20250418102640.jpg 重新初始化一下DWT呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 7 天前 | 显示全部楼层
wling597074509 发表于 2025-4-18 11:24
空闲任务是有利用率的,应该是没把空闲任务当做空闲执行时间

你贴下,你正常后的信息截图。
回复

使用道具 举报

10

主题

60

回帖

95

积分

初级会员

积分
95
 楼主| 发表于 7 天前 | 显示全部楼层
eric2013 发表于 2025-4-18 11:35
你贴下,你正常后的信息截图。

C:\Users\Administrator\Desktop\微信截图_20250418115653.png
微信截图_20250418115653.png
回复

使用道具 举报

10

主题

60

回帖

95

积分

初级会员

积分
95
 楼主| 发表于 7 天前 来自手机 | 显示全部楼层
nnqtdf 发表于 2025-4-18 11:27
重新初始化一下DWT呢?

这个是做了的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 7 天前 | 显示全部楼层

你把你空闲任务的创建注释掉应该就可以了。因为ThreadX提供的这个方案是他自己统计的空闲。

用户不需要再创建空闲任务。
回复

使用道具 举报

10

主题

60

回帖

95

积分

初级会员

积分
95
 楼主| 发表于 7 天前 | 显示全部楼层
eric2013 发表于 2025-4-18 14:24
你把你空闲任务的创建注释掉应该就可以了。因为ThreadX提供的这个方案是他自己统计的空闲。

用户不需 ...

确实是这样,感谢硬汉兄。我工程里有个外部中断,如果需要显示中断时间的话该如何操作了?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 6 天前 | 显示全部楼层
wling597074509 发表于 2025-4-18 18:34
确实是这样,感谢硬汉兄。我工程里有个外部中断,如果需要显示中断时间的话该如何操作了?

在中断服务程序的开头和结束分别调用这两个即可

            VOID  _tx_execution_isr_enter(void);
            VOID  _tx_execution_isr_exit(void);
回复

使用道具 举报

10

主题

60

回帖

95

积分

初级会员

积分
95
 楼主| 发表于 6 天前 | 显示全部楼层
eric2013 发表于 2025-4-19 09:50
在中断服务程序的开头和结束分别调用这两个即可

            VOID  _tx_execution_isr_enter(void);

学习了,感谢硬汉兄
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-25 20:14 , Processed in 0.302835 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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