硬汉嵌入式论坛

 找回密码
 立即注册
楼主: eric2013
收起左侧

[RTOS Trace] 【原创】H7-TOOL的RTOS Trace操作说明,不需要目标板额外做任何代码,实时检测RTOS任务执行情况,支持在线和脱机玩法2023-12-04

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-8-31 11:24:20 | 显示全部楼层
qqjamesjian 发表于 2022-8-31 11:21
RTOS lua 的例子更新了吗?  我在期待中

在弄上位机组态
image.png
回复

使用道具 举报

21

主题

125

回帖

188

积分

初级会员

积分
188
发表于 2022-9-5 09:39:44 | 显示全部楼层

瑞昱的芯片能用吗?它的RTOS是封起来的,另外它的固件有很多个bin文件。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-9-5 09:52:18 | 显示全部楼层
kirito 发表于 2022-9-5 09:39
瑞昱的芯片能用吗?它的RTOS是封起来的,另外它的固件有很多个bin文件。

是不是这个RTL8710BN,就在他们官网找到了这个系列是M内核的。

另外他的RTOS方案是用的那个,如果是多个bin,有点类似ThreadX的动态APP,随意加载bin到多个位置运行,这个不影响。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2022-9-5 15:12:38 | 显示全部楼层
mark一下
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2022-9-5 18:25:27 | 显示全部楼层
有点像汽车行业的A2L文件,Matlab代码生成编译完成后通过map文件生成A2L文件,A2L导入上位机就可以通过CCP/XCP协议监控或者标定指定变量。控制器生产完成后是不会暴露调试接口的,一般通过CAN更新程序和调试标定参数。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-9-8 01:40:50 | 显示全部楼层
完整的操作流程基本整顺溜了,剩下就是添加下各个RTOS和模态界面设置了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-9-11 02:11:32 | 显示全部楼层
整理下log展示效果,信号量,互斥信号量,事件标志和消息队列已经加入


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-10-9 01:18:36 | 显示全部楼层
ThreadX内核效果:


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-10-14 03:59:29 | 显示全部楼层
ThreadX内核初步添加完成

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-10-25 01:56:00 | 显示全部楼层
花了些时间研究了下RTX5的源码,初步算可以Trace的任务执行情况,坑太多。还是uCOS-III和ThreadX的简洁。


回复

使用道具 举报

8

主题

155

回帖

179

积分

初级会员

H7 TOOL 大法好!

积分
179
发表于 2022-10-25 08:18:18 | 显示全部楼层
业界大佬 硬汉哥!  期待FreeRTOS 的 Trace , 但老师还是不要熬夜了 , 注意身体!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-10-31 02:55:16 | 显示全部楼层
RTX5的Trace功能差不多也完成了

image.png
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2022-11-8 10:11:18 | 显示全部楼层
硬汉哥,预计什么时候可以开放第一批?

已经迫不及待了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-11-8 10:20:52 | 显示全部楼层
咸菜稀粥 发表于 2022-11-8 10:11
硬汉哥,预计什么时候可以开放第一批?

已经迫不及待了。

这个月就可以发布了,添加完毕FreeRTOS后,整理下,准备上了。

评分

参与人数 2金币 +16 收起 理由
312456990 + 6 赞一个!
咸菜稀粥 + 10 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-11-11 01:46:45 | 显示全部楼层
FreeRTOS Trace,所有任务可以找到了

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-12-13 00:50:39 | 显示全部楼层
解决了不少细节问题,继续加紧制作。
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2022-12-20 21:32:58 | 显示全部楼层
eric2013 发表于 2022-12-13 00:50
解决了不少细节问题,继续加紧制作。

跳票到12月了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-12-20 21:42:47 | 显示全部楼层

快要发布了,就差一些细节问题待解决了。

最近已经在系统测试了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2022-12-26 00:40:58 | 显示全部楼层

1、uCOS-III,RTX5和ThreadX的大部分细节问题都已经测试完毕。
2、测试了大部分组件的混合使用
3、解决了常见的一些bug
4、解决用户使用了M7内核芯片使能Cache的情况
5、后面再看看是否还有优化空间,Trace一轮的时间是可以再优化的,还有就是提升Trace稳定性。

剩下就是FreeRTOS的Trace代码整理了,之前已经做了,但是不够好。 FreeRTOS完毕后,根据时间安排将uCOS-II和RTX4也添加上。准备发布首版了。
回复

使用道具 举报

5

主题

97

回帖

112

积分

初级会员

积分
112
发表于 2023-1-10 10:39:18 | 显示全部楼层
这个月还没更新过Trace的动态,怎么样了?年前能发布吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-1-10 15:03:02 | 显示全部楼层
leng_qian 发表于 2023-1-10 10:39
这个月还没更新过Trace的动态,怎么样了?年前能发布吗?

最晚春节后几天,已经弄差不多了,就差FreeRTOS的几个变量的检索问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-2-6 06:10:14 | 显示全部楼层
首版即将完工。
回复

使用道具 举报

2

主题

22

回帖

28

积分

新手上路

积分
28
发表于 2023-2-18 15:15:13 | 显示全部楼层
什么时候会更新呀?等了好久呢。先出一个给我们玩玩。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-2-18 16:00:29 | 显示全部楼层
asd951886 发表于 2023-2-18 15:15
什么时候会更新呀?等了好久呢。先出一个给我们玩玩。

最近已经再全力收尾中。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-2-27 18:15:49 | 显示全部楼层
更新完操作说明
回复

使用道具 举报

1

主题

369

回帖

372

积分

高级会员

积分
372
发表于 2023-2-27 19:43:27 | 显示全部楼层
不知会有多方便,想回去升级试一下
回复

使用道具 举报

12

主题

141

回帖

177

积分

初级会员

积分
177
发表于 2023-3-2 09:32:22 | 显示全部楼层
硬汉,我在想用H7-TOOL能否实现hardfault故障的定位分析功能
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-3-2 09:44:01 | 显示全部楼层
gnail092 发表于 2023-3-2 09:32
硬汉,我在想用H7-TOOL能否实现hardfault故障的定位分析功能

已经做了,准备再推个升级版
硬件异常黑盒子功能
https://www.armbbs.cn/forum.php?mod=viewthread&tid=114792



后续增加addr2line小软件支持,通过addr2line小软件,可以方便的锁定位置,比如通过H7-TOOL硬件异常黑盒子功能锁定了出错位置0x0800 1000, 通过下面的命令方便的就锁定了出错源文件的位置


回复

使用道具 举报

12

主题

141

回帖

177

积分

初级会员

积分
177
发表于 2023-3-2 10:59:35 | 显示全部楼层
eric2013 发表于 2023-3-2 09:44
已经做了,准备再推个升级版
硬件异常黑盒子功能
https://www.armbbs.cn/forum.php?mod=viewthread&tid ...

,没注意,期待后续
回复

使用道具 举报

12

主题

141

回帖

177

积分

初级会员

积分
177
发表于 2023-3-2 11:01:39 | 显示全部楼层
eric2013 发表于 2023-3-2 09:44
已经做了,准备再推个升级版
硬件异常黑盒子功能
https://www.armbbs.cn/forum.php?mod=viewthread&tid ...

对,我想的就是直接定位到代码位置的功能
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2023-3-2 11:48:09 | 显示全部楼层
这个功能对RTOS开发很给力,期待RT-Thread的支持
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-3-3 01:30:11 | 显示全部楼层
gnail092 发表于 2023-3-2 11:01
对,我想的就是直接定位到代码位置的功能

后面版本将把这个小软件集成进来。方便一键锁定位置。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-3-3 01:30:31 | 显示全部楼层
MrWeng 发表于 2023-3-2 11:48
这个功能对RTOS开发很给力,期待RT-Thread的支持

后面花时间研究下RT-Thread的内核实现。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2023-3-11 04:01:31 | 显示全部楼层
期待RT_THREAD 支持。这功能真的超赞
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-3-11 10:47:12 | 显示全部楼层
douyuyu 发表于 2023-3-11 04:01
期待RT_THREAD 支持。这功能真的超赞

一定会支持的。
回复

使用道具 举报

12

主题

176

回帖

212

积分

高级会员

积分
212
发表于 2023-3-11 11:41:26 | 显示全部楼层
我想在运行RTX5的下位机实现与H7-tool类似的RTOS执行情况统计功能,rtx5.lua里面是调用了这个pg_write32, 和pg_read等函数,请问这些函数在下位机怎么实现呢?会不会影响既有任务的执行呢,谢谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-3-11 11:55:39 | 显示全部楼层
gallop020142 发表于 2023-3-11 11:41
我想在运行RTX5的下位机实现与H7-tool类似的RTOS执行情况统计功能,rtx5.lua里面是调用了这个pg_write32,  ...

1、这些函数我们没有开源。
2、不影响,M内核有独立的调试组件供调试器读取。
回复

使用道具 举报

12

主题

176

回帖

212

积分

高级会员

积分
212
发表于 2023-3-11 12:15:44 | 显示全部楼层
eric2013 发表于 2023-3-11 11:55
1、这些函数我们没有开源。
2、不影响,M内核有独立的调试组件供调试器读取。

我想在下位机实现类似于任务管理器的功能,
我现在直接读取 osRtxInfo,代码如下,但是这里面的信息感觉不是实时的,请问在读取前,是不是也执行一下类似CacheClean的操作呢?谢谢

int32_t sl = osKernelLock();
memcpy((uint8_t *)&rtxInfo, (uint8_t *)&osRtxInfo, sizeof(osRtxInfo_t));  
// Running Thread
p_tcb = rtxInfo.thread.run.curr;  

// Ready List
for (p_tcb = rtxInfo.thread.ready.thread_list; (p_tcb != NULL); p_tcb = p_tcb->thread_next)

// Delay List
for (p_tcb = rtxInfo.thread.delay_list; (p_tcb != NULL); p_tcb = p_tcb->delay_next)

// Wait List
for (p_tcb = rtxInfo.thread.wait_list; (p_tcb != NULL); p_tcb = p_tcb->delay_next)

int32_t su = osKernelUnlock();   
osKernelRestoreLock(su);
// ... critical code
osKernelRestoreLock(sl);
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2023-3-11 12:23:28 | 显示全部楼层
gallop020142 发表于 2023-3-11 12:15
我想在下位机实现类似于任务管理器的功能,
我现在直接读取 osRtxInfo,代码如下,但是这里面的信息感觉 ...

里面有很多技巧性的问题,参考我的那个RTX5.LUA文件实现即可
回复

使用道具 举报

12

主题

176

回帖

212

积分

高级会员

积分
212
发表于 2023-3-11 12:33:40 | 显示全部楼层
eric2013 发表于 2023-3-11 12:23
里面有很多技巧性的问题,参考我的那个RTX5.LUA文件实现即可

我看您提供的 rtx5.lua 里思路差不多,您增加的基本就是CacheClean,一细看函数,里面全是 pg_write32, pg_read8等等函数了

总之您的意思是,下位机即使不去读取 “M内核独立调试组件” ,也能实现任务管理器的功能是吧?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 19:16 , Processed in 0.323511 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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