硬汉嵌入式论坛

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

[RTOS Trace] H7-TOOL制作Trace RTX5用到的任务控制块结构体

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
发表于 2022-10-15 11:59:09 | 显示全部楼层 |阅读模式


RTX5的这个简单明了和ThreadX差不多,不像uCOS,有一堆宏定义参与。

开始制作RTX5的Trace支持。

[C] 纯文本查看 复制代码
/// Thread Control Block
typedef struct osRtxThread_s {
  uint8_t                          id;  ///< Object Identifier
  uint8_t                       state;  ///< Object State
  uint8_t                       flags;  ///< Object Flags
  uint8_t                        attr;  ///< Object Attributes
  const char                    *name;  ///< Object Name
  struct osRtxThread_s   *thread_next;  ///< Link pointer to next Thread in Object list
  struct osRtxThread_s   *thread_prev;  ///< Link pointer to previous Thread in Object list
  struct osRtxThread_s    *delay_next;  ///< Link pointer to next Thread in Delay list
  struct osRtxThread_s    *delay_prev;  ///< Link pointer to previous Thread in Delay list
  struct osRtxThread_s   *thread_join;  ///< Thread waiting to Join
  uint32_t                      delay;  ///< Delay Time/Round Robin Time Tick
  int8_t                     priority;  ///< Thread Priority
  int8_t                priority_base;  ///< Base Priority
  uint8_t                 stack_frame;  ///< Stack Frame (EXC_RETURN[7..0])
  uint8_t               flags_options;  ///< Thread/Event Flags Options
  uint32_t                 wait_flags;  ///< Waiting Thread/Event Flags
  uint32_t               thread_flags;  ///< Thread Flags
  struct osRtxMutex_s     *mutex_list;  ///< Link pointer to list of owned Mutexes
  void                     *stack_mem;  ///< Stack Memory
  uint32_t                 stack_size;  ///< Stack Size
  uint32_t                         sp;  ///< Current Stack Pointer
  uint32_t                thread_addr;  ///< Thread entry address
  uint32_t                  tz_memory;  ///< TrustZone Memory Identifier
#ifdef RTX_TF_M_EXTENSION
  uint32_t                  tz_module;  ///< TrustZone Module Identifier
#endif
} osRtxThread_t;

回复

使用道具 举报

8

主题

155

回帖

179

积分

初级会员

H7 TOOL 大法好!

积分
179
发表于 2022-10-15 15:27:53 | 显示全部楼层
期待FreeRTOS  Trace 哈哈哈, 硬汉老师太强了
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2022-10-16 15:26:51 | 显示全部楼层
Zephyr什么时候添加。
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2022-10-17 01:14:04 | 显示全部楼层
missfox 发表于 2022-10-16 15:26
Zephyr什么时候添加。

下一轮添加,第1轮先发布5款RTOS的支持。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2022-10-17 11:31:58 | 显示全部楼层
可以正常检索信息了。开始尝试检索任务控制块信息。

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2022-10-19 03:18:08 | 显示全部楼层
RTX5的继续整

image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2022-10-19 03:30:36 | 显示全部楼层
终于想明白了,我说RTX5全局动态内存的最大使用情况怎么来的,原始统计的每次获取值比较,从而得到最大值。
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2022-10-19 13:21:37 | 显示全部楼层
eric2013 发表于 2022-10-19 03:30
终于想明白了,我说RTX5全局动态内存的最大使用情况怎么来的,原始统计的每次获取值比较,从而得到最大值。

没记错的话,这个统计最大总数在全局动态数组的末尾部分。
代码不规范,亲人两行泪!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2022-10-19 14:09:06 | 显示全部楼层
missfox 发表于 2022-10-19 13:21
没记错的话,这个统计最大总数在全局动态数组的末尾部分。

上午测试也发现这个了,已经修改,下午检索试试。
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2022-10-20 12:19:01 | 显示全部楼层
eric2013 发表于 2022-10-17 01:14
下一轮添加,第1轮先发布5款RTOS的支持。

期待早日发布
代码不规范,亲人两行泪!
回复

使用道具 举报

1

主题

14

回帖

17

积分

新手上路

积分
17
发表于 2022-10-20 12:57:41 | 显示全部楼层
期待FreeRTOS,成功吊起我的胃口
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2022-10-20 14:32:27 | 显示全部楼层
紫宸星光 发表于 2022-10-20 12:57
期待FreeRTOS,成功吊起我的胃口

嗯,得加紧更新了。
回复

使用道具 举报

8

主题

155

回帖

179

积分

初级会员

H7 TOOL 大法好!

积分
179
发表于 2022-10-20 16:18:52 | 显示全部楼层
安富莱真的很用心,永远支持!!!!!  已经私下安利给学弟了,哈哈哈哈哈
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2022-10-20 16:24:55 | 显示全部楼层
终于可以正常Trace到RTX5全局动态内存当前使用栈和最大使用栈情况了
RTX5的最大栈使用情况和当前栈使用情况整的太绕了,花了很长时间才搞定。




回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2022-10-20 18:07:20 | 显示全部楼层
加油!
回复

使用道具 举报

5

主题

97

回帖

112

积分

初级会员

积分
112
发表于 2022-10-20 21:23:01 | 显示全部楼层

大佬们都辛苦了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2022-10-23 13:41:53 | 显示全部楼层
继续折腾,RTX5的任务控制链表采用之前的方法无法整体读取,得继续研究下了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
 楼主| 发表于 2022-10-24 03:22:46 | 显示全部楼层
稍有点眉目了,RTX5的任务搜索确实比较麻烦,骚操作略多。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

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


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 19:25 , Processed in 0.307204 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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