mFrame
載入中...
搜尋中...
無符合項目
CmsisRTX5Kernel.h
1
9#ifndef CMSISRTX5_C1A0226D_E4B5_422B_A56F_BD06A64E5A65
10#define CMSISRTX5_C1A0226D_E4B5_422B_A56F_BD06A64E5A65
11
12/* ***************************************************************************************
13 * Include
14 */
15
16//----------------------------------------------------------------------------------------
17#include "mframe.h"
18
19//----------------------------------------------------------------------------------------
20#include "./CmsisRTX5Thread.h"
21
22/* ***************************************************************************************
23 * Namespace
24 */
25namespace cmsisrtx5 {
26 class CmsisRTX5Kernel;
27} // namespace cmsisrtx5
28
29/* ***************************************************************************************
30 * Class/Interface/Struct/Enum
31 */
37 /* *************************************************************************************
38 * Variable
39 */
40 private:
41 void (*vReboot)(void);
42 int vLockStack;
43 CmsisRTX5Thread* vUserThread;
44 void* vStackMemory;
45 uint32 vStackSize;
46
47 /* *************************************************************************************
48 * Abstract method
49 */
50
51 /* *************************************************************************************
52 * Construct Method
53 */
54 public:
64 CmsisRTX5Kernel(void* stackMemory, int stackSize);
65
69 virtual ~CmsisRTX5Kernel(void) override;
70
71 /* *************************************************************************************
72 * Operator Method
73 */
74
75 /* *************************************************************************************
76 * Public Method <Override>
77 */
78 public:
88 virtual bool initialize(void) override;
89
98 virtual void start(ufm::func::Runnable* task) override;
99
109 virtual int systemLock(void) override;
110
119 virtual int systemUnlock(void) override;
120
131 virtual bool systemDelay(int milliseconds) const override;
132
143 virtual bool systemWait(int timeout) const override;
144
153 virtual void reboot(void) override;
154
163 virtual ufm::sys::Thread* getCurrentThread(void) override;
164
178 virtual bool systemYield(void) override;
179
180 /* *************************************************************************************
181 * Public Method
182 */
183 public:
192 inline void setReboot(void (*reboot)(void)) {
193 this->vReboot = reboot;
194 }
195
196 /* *************************************************************************************
197 * Protected Method
198 */
199
200 /* *************************************************************************************
201 * Private Method
202 */
203
204 /* *************************************************************************************
205 * Static Variable
206 */
207
208 /* *************************************************************************************
209 * Static Method
210 */
211};
212
213/* ***************************************************************************************
214 * End of file
215 */
216
217#endif /* CMSISRTX5_C1A0226D_E4B5_422B_A56F_BD06A64E5A65 */
CMSIS RTX5 核心管理器實現
Definition CmsisRTX5Kernel.h:36
virtual ufm::sys::Thread * getCurrentThread(void) override
取得當前執行緒
virtual bool systemDelay(int milliseconds) const override
執行緒延遲
virtual void reboot(void) override
核心重新啟動
virtual bool systemYield(void) override
讓出執行時間片段
virtual ~CmsisRTX5Kernel(void) override
解構核心管理器
void setReboot(void(*reboot)(void))
設定系統重啟函數
Definition CmsisRTX5Kernel.h:192
virtual bool initialize(void) override
核心初始化
virtual int systemLock(void) override
核心鎖定
virtual int systemUnlock(void) override
核心解鎖
CmsisRTX5Kernel(void *stackMemory, int stackSize)
建構核心管理器
virtual void start(ufm::func::Runnable *task) override
核心啟動
virtual bool systemWait(int timeout) const override
執行緒等待
CMSIS RTX5 執行緒控制器
Definition CmsisRTX5Thread.h:36
物件基底類別
Definition Object.h:63
執行緒類別
Definition Thread.h:49
CMSIS RTX5 核心功能實現
Definition CmsisRTX5Kernel.h:25
[Interface] 可執行函數式介面
Definition Runnable.h:40
[Interface] 系統核心介面
Definition Kernel.h:50