硬汉嵌入式论坛

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

[RL-RTX] 问下RTX5怎么得到thread stack 的起始地址?

[复制链接]

15

主题

118

回帖

163

积分

初级会员

积分
163
发表于 2020-9-30 10:40:42 | 显示全部楼层 |阅读模式
查看了CMSIS-OS2的API,只有uint32_t osThreadGetStackSize(osThreadId_t thread_id) 和 uint32_t osThreadGetStackSpace(osThreadId_t thread_id) 这两个API,
想得到Stack start addr 不知道怎么做?有知道的还请赐教,感谢!


回复

使用道具 举报

15

主题

118

回帖

163

积分

初级会员

积分
163
 楼主| 发表于 2020-9-30 17:03:19 | 显示全部楼层
有人知道吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2020-10-1 09:36:12 | 显示全部楼层
直接用MDK自带调试组件比较省事。
回复

使用道具 举报

15

主题

118

回帖

163

积分

初级会员

积分
163
 楼主| 发表于 2020-10-10 09:22:34 | 显示全部楼层
eric2013 发表于 2020-10-1 09:36
直接用MDK自带调试组件比较省事。

硬汉,我是想在程序中得到地址,想请教下怎么做?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2020-10-10 14:06:51 | 显示全部楼层
lhaoyue 发表于 2020-10-10 09:22
硬汉,我是想在程序中得到地址,想请教下怎么做?

任务控制块
  1. /// Thread Control Block
  2. typedef struct osRtxThread_s {
  3.   uint8_t                          id;  ///< Object Identifier
  4.   uint8_t                       state;  ///< Object State
  5.   uint8_t                       flags;  ///< Object Flags
  6.   uint8_t                        attr;  ///< Object Attributes
  7.   const char                    *name;  ///< Object Name
  8.   struct osRtxThread_s   *thread_next;  ///< Link pointer to next Thread in Object list
  9.   struct osRtxThread_s   *thread_prev;  ///< Link pointer to previous Thread in Object list
  10.   struct osRtxThread_s    *delay_next;  ///< Link pointer to next Thread in Delay list
  11.   struct osRtxThread_s    *delay_prev;  ///< Link pointer to previous Thread in Delay list
  12.   struct osRtxThread_s   *thread_join;  ///< Thread waiting to Join
  13.   uint32_t                      delay;  ///< Delay Time
  14.   int8_t                     priority;  ///< Thread Priority
  15.   int8_t                priority_base;  ///< Base Priority
  16.   uint8_t                 stack_frame;  ///< Stack Frame (EXC_RETURN[7..0])
  17.   uint8_t               flags_options;  ///< Thread/Event Flags Options
  18.   uint32_t                 wait_flags;  ///< Waiting Thread/Event Flags
  19.   uint32_t               thread_flags;  ///< Thread Flags
  20.   struct osRtxMutex_s     *mutex_list;  ///< Link pointer to list of owned Mutexes
  21.   void                     *stack_mem;  ///< Stack Memory
  22.   uint32_t                 stack_size;  ///< Stack Size
  23.   uint32_t                         sp;  ///< Current Stack Pointer
  24.   uint32_t                thread_addr;  ///< Thread entry address
  25.   uint32_t                  tz_memory;  ///< TrustZone Memory Identifier
  26. #ifdef RTX_TF_M_EXTENSION
  27.   uint32_t                  tz_module;  ///< TrustZone Module Identifier
  28. #endif
  29. } osRtxThread_t;
复制代码


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-1 08:30 , Processed in 0.235048 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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