mFrame
載入中...
搜尋中...
無符合項目
CmsisRTX5Thread.h
1
9#ifndef CMSISRTX5_1B3FB229_533C_4331_88C3_A1D4D0A698D8
10#define CMSISRTX5_1B3FB229_533C_4331_88C3_A1D4D0A698D8
11
12/* ***************************************************************************************
13 * Include
14 */
15
16//----------------------------------------------------------------------------------------
17#include "mframe.h"
18
19//----------------------------------------------------------------------------------------
20
21/* ***************************************************************************************
22 * Namespace
23 */
24namespace cmsisrtx5 {
25 class CmsisRTX5Thread;
26} // namespace cmsisrtx5
27
28/* ***************************************************************************************
29 * Class/Interface/Struct/Enum
30 */
31
37 /* *************************************************************************************
38 * Variable
39 */
40 private:
41 ufm::lang::Memory vStack;
42 uint32 vThreadID;
44
45 /* *************************************************************************************
46 * Abstract method
47 */
48
49 /* *************************************************************************************
50 * Construct Method
51 */
52 public:
58 CmsisRTX5Thread(ufm::func::Runnable& task, uint32 stackSize);
59
66
70 virtual ~CmsisRTX5Thread(void) override;
71
72 /* *************************************************************************************
73 * Operator Method
74 */
75
76 /* *************************************************************************************
77 * Override - ufm::sys::Thread
78 */
79 public:
80 virtual const char* getThreadName(void) const override;
81
82 virtual ufm::sys::ThreadPriority getPriority(void) const override;
83
84 virtual ufm::sys::ThreadState getState(void) const override;
85
86 virtual int getStackSize(void) const override;
87
88 virtual bool start(const char* name, ufm::sys::ThreadPriority priority) override;
89
90 virtual void notify(void) override;
91
92 virtual bool setPriority(ufm::sys::ThreadPriority priority) override;
93
94 /* *************************************************************************************
95 * Public Method
96 */
97
98 /* *************************************************************************************
99 * Protected Method
100 */
101
102 /* *************************************************************************************
103 * Private Method
104 */
105 private:
109 void entry(void);
110
111 /* *************************************************************************************
112 * Static Variable
113 */
114
115 /* *************************************************************************************
116 * Static Method
117 */
118 public:
127 void* stackMemory,
128 uint32 stackSize);
129
130 private:
135 static void entryPoint(void* attachment);
136};
137
138/* ***************************************************************************************
139 * End of file
140 */
141
142#endif /* CMSISRTX5_1B3FB229_533C_4331_88C3_A1D4D0A698D8 */
CMSIS RTX5 執行緒控制器
Definition CmsisRTX5Thread.h:36
virtual ~CmsisRTX5Thread(void) override
解構執行緒物件
virtual bool setPriority(ufm::sys::ThreadPriority priority) override
設定執行緒優先權
CmsisRTX5Thread(ufm::func::Runnable &task, const ufm::lang::Data &stackMemory)
建構執行緒物件
static CmsisRTX5Thread * construct(ufm::func::Runnable &task, void *stackMemory, uint32 stackSize)
建立新的執行緒物件
virtual const char * getThreadName(void) const override
取得執行緒名稱
CmsisRTX5Thread(ufm::func::Runnable &task, uint32 stackSize)
建構執行緒物件
virtual ufm::sys::ThreadState getState(void) const override
取得執行緒狀態
virtual bool start(const char *name, ufm::sys::ThreadPriority priority) override
以指定名稱和優先權啟動執行緒
virtual void notify(void) override
通知執行緒,喚醒等待中的執行緒
virtual ufm::sys::ThreadPriority getPriority(void) const override
取得執行緒優先權
virtual int getStackSize(void) const override
取得執行緒堆疊大小
資料處理類別
Definition Data.h:43
存儲資料的類別,提供動態記憶體管理功能。
Definition Memory.h:44
執行緒類別
Definition Thread.h:49
CMSIS RTX5 核心功能實現
Definition CmsisRTX5Kernel.h:25
ThreadPriority
執行緒優先權等級定義
Definition ThreadPriority.h:51
ThreadState
執行緒狀態枚舉
Definition ThreadState.h:34
[Interface] 可執行函數式介面
Definition Runnable.h:40