mFrame
載入中...
搜尋中...
無符合項目
CmsisRTX5Kernel.h
1
7#ifndef CMSISRTX5_C1A0226D_E4B5_422B_A56F_BD06A64E5A65
8#define CMSISRTX5_C1A0226D_E4B5_422B_A56F_BD06A64E5A65
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "mframe.h"
16
17//----------------------------------------------------------------------------------------
18
19/* ***************************************************************************************
20 * Namespace
21 */
22namespace cmsisrtx5 {
23 class CmsisRTX5Kernel;
24} // namespace cmsisrtx5
25
26/* ***************************************************************************************
27 * Class/Interface/Struct/Enum
28 */
30 public mframe::sys::Kernel {
31 /* *************************************************************************************
32 * Variable
33 */
34 private:
35 void (*mReboot)(void);
36 int mLockStack;
37 /* *************************************************************************************
38 * Abstract method
39 */
40
41 /* *************************************************************************************
42 * Construct Method
43 */
44 public:
50
55 virtual ~CmsisRTX5Kernel(void) override;
56
57 /* *************************************************************************************
58 * Operator Method
59 */
60
61 /* *************************************************************************************
62 * Public Method <Override>
63 */
64 public:
71 virtual bool initialize(void) override;
72
79 virtual void start(void) override;
80
86 virtual int systemLock(void) override;
87
93 virtual int systemUnlock(void) override;
94
100 virtual uint32_t getTickCount(void) override;
101
107 virtual uint32_t getTickFreq(void) override;
108
116 virtual bool systemDelay(uint32_t milliseconds) const override;
117
125 virtual bool systemWait(uint32_t timeout) const override;
126
131 virtual void reboot(void) override;
132
141 mframe::lang::Data& stackMemory) override;
142
152 int stackSize) override;
153
160 virtual mframe::sys::Thread* getCurrentThread(void) override;
161
168 virtual mframe::sys::Timer* allocTimer(void) override;
169
179 virtual bool systemYield(void) override;
180 /* *************************************************************************************
181 * Public Method
182 */
183
184 /* *************************************************************************************
185 * Protected Method
186 */
187
188 /* *************************************************************************************
189 * Private Method
190 */
191
192 /* *************************************************************************************
193 * Static Variable
194 */
195
196 /* *************************************************************************************
197 * Static Method
198 */
199};
200
201/* ***************************************************************************************
202 * End of file
203 */
204
205#endif /* CMSISRTX5_C1A0226D_E4B5_422B_A56F_BD06A64E5A65 */
Definition CmsisRTX5Kernel.h:30
virtual uint32_t getTickFreq(void) override
取得核心運作頻率
virtual mframe::sys::Thread * allocThread(mframe::func::Runnable &task, mframe::lang::Data &stackMemory) override
建立一個執行緒,指定堆疊記憶體來源
virtual mframe::sys::Thread * getCurrentThread(void) override
取得當前執行緒
virtual void reboot(void) override
核心重啟
virtual bool systemYield(void) override
該函數將控制權傳遞給處於 READY 狀態且具有相同優先級的下一個線程。 如果在READY狀態下沒有其他優先級相同的線程,則當前線程繼續執行,不會發生線程切換。 不會將線程設置為 BLOCKED 狀態。...
virtual ~CmsisRTX5Kernel(void) override
Destroy the Cmsisrtos Kernel object.
CmsisRTX5Kernel(void)
Construct a new Cmsisrtos Kernel object.
virtual bool systemDelay(uint32_t milliseconds) const override
執行緒延遲,並交還CPU使用權
virtual bool initialize(void) override
核心初始化,再調用所有核心方法時必須先初始化,否則將會調用失敗
virtual int systemLock(void) override
核心鎖定,在調用systemLock以前將不會進行context switch
virtual int systemUnlock(void) override
virtual mframe::sys::Timer * allocTimer(void) override
建立一個計時器。
virtual uint32_t getTickCount(void) override
取得核心tick數
virtual void start(void) override
核心啟動,作業系統開始
virtual bool systemWait(uint32_t timeout) const override
執行緒等待,直到超時或是被喚醒,並交還CPU使用權
virtual mframe::sys::Thread * allocThread(mframe::func::Runnable &task, int stackSize) override
建立一個執行緒,限定堆疊大小
Definition Data.h:30
Definition Object.h:34
Definition Thread.h:33
Definition mframe/src/sys/Timer.h:28
Definition CmsisRTX5Kernel.h:22
Definition Runnable.h:29
Definition Kernel.h:33