UCOS_TI_LM3S_Keil
 全部 结构体 文件 函数 变量 类型定义 宏定义 
os_cpu_c.c 文件参考
#include <ucos_ii.h>
os_cpu_c.c 的引用(Include)关系图:

浏览源代码.

宏定义

#define OS_CPU_GLOBALS
 
#define OS_CPU_CM3_NVIC_ST_CTRL   (*((volatile INT32U *)0xE000E010uL)) /* SysTick Ctrl & Status Reg. */
 
#define OS_CPU_CM3_NVIC_ST_RELOAD   (*((volatile INT32U *)0xE000E014uL)) /* SysTick Reload Value Reg. */
 
#define OS_CPU_CM3_NVIC_ST_CURRENT   (*((volatile INT32U *)0xE000E018uL)) /* SysTick Current Value Reg. */
 
#define OS_CPU_CM3_NVIC_ST_CAL   (*((volatile INT32U *)0xE000E01CuL)) /* SysTick Cal Value Reg. */
 
#define OS_CPU_CM3_NVIC_PRIO_ST   (*((volatile INT8U *)0xE000ED23uL)) /* SysTick Handler Prio Reg. */
 
#define OS_CPU_CM3_NVIC_ST_CTRL_COUNT   0x00010000uL /* Count flag. */
 
#define OS_CPU_CM3_NVIC_ST_CTRL_CLK_SRC   0x00000004uL /* Clock Source. */
 
#define OS_CPU_CM3_NVIC_ST_CTRL_INTEN   0x00000002uL /* Interrupt enable. */
 
#define OS_CPU_CM3_NVIC_ST_CTRL_ENABLE   0x00000001uL /* Counter mode. */
 
#define OS_CPU_CM3_NVIC_PRIO_MIN   0xFFu /* Min handler prio. */
 

函数

void OSInitHookBegin (void)
 
void OSInitHookEnd (void)
 
void OSTaskCreateHook (OS_TCB *ptcb)
 
void OSTaskDelHook (OS_TCB *ptcb)
 
void OSTaskIdleHook (void)
 
void OSTaskReturnHook (OS_TCB *ptcb)
 
void OSTaskStatHook (void)
 
OS_STKOSTaskStkInit (void(*task)(void *p_arg), void *p_arg, OS_STK *ptos, INT16U opt)
 
void OSTaskSwHook (void)
 
void OSTCBInitHook (OS_TCB *ptcb)
 
void OSTimeTickHook (void)
 
void OS_CPU_SysTickHandler (void)
 
void OS_CPU_SysTickInit (INT32U cnts)
 

变量

static INT16U OSTmrCtr
 

宏定义说明

#define OS_CPU_GLOBALS

在文件 os_cpu_c.c23 行定义.

#define OS_CPU_CM3_NVIC_ST_CTRL   (*((volatile INT32U *)0xE000E010uL)) /* SysTick Ctrl & Status Reg. */

在文件 os_cpu_c.c42 行定义.

参考自 OS_CPU_SysTickInit().

#define OS_CPU_CM3_NVIC_ST_RELOAD   (*((volatile INT32U *)0xE000E014uL)) /* SysTick Reload Value Reg. */

在文件 os_cpu_c.c43 行定义.

参考自 OS_CPU_SysTickInit().

#define OS_CPU_CM3_NVIC_ST_CURRENT   (*((volatile INT32U *)0xE000E018uL)) /* SysTick Current Value Reg. */

在文件 os_cpu_c.c44 行定义.

#define OS_CPU_CM3_NVIC_ST_CAL   (*((volatile INT32U *)0xE000E01CuL)) /* SysTick Cal Value Reg. */

在文件 os_cpu_c.c45 行定义.

#define OS_CPU_CM3_NVIC_PRIO_ST   (*((volatile INT8U *)0xE000ED23uL)) /* SysTick Handler Prio Reg. */

在文件 os_cpu_c.c46 行定义.

参考自 OS_CPU_SysTickInit().

#define OS_CPU_CM3_NVIC_ST_CTRL_COUNT   0x00010000uL /* Count flag. */

在文件 os_cpu_c.c48 行定义.

#define OS_CPU_CM3_NVIC_ST_CTRL_CLK_SRC   0x00000004uL /* Clock Source. */

在文件 os_cpu_c.c49 行定义.

参考自 OS_CPU_SysTickInit().

#define OS_CPU_CM3_NVIC_ST_CTRL_INTEN   0x00000002uL /* Interrupt enable. */

在文件 os_cpu_c.c50 行定义.

参考自 OS_CPU_SysTickInit().

#define OS_CPU_CM3_NVIC_ST_CTRL_ENABLE   0x00000001uL /* Counter mode. */

在文件 os_cpu_c.c51 行定义.

参考自 OS_CPU_SysTickInit().

#define OS_CPU_CM3_NVIC_PRIO_MIN   0xFFu /* Min handler prio. */

在文件 os_cpu_c.c52 行定义.

参考自 OS_CPU_SysTickInit().

函数说明

void OSInitHookBegin ( void  )

在文件 os_cpu_c.c67 行定义.

参考 OSTmrCtr.

参考自 OSInit().

68 {
69 #if OS_TMR_EN > 0u
70  OSTmrCtr = 0u;
71 #endif
72 }

这是这个函数的调用关系图:

void OSInitHookEnd ( void  )

在文件 os_cpu_c.c88 行定义.

参考自 OSInit().

89 {
90 }

这是这个函数的调用关系图:

void OSTaskCreateHook ( OS_TCB ptcb)

在文件 os_cpu_c.c105 行定义.

参考 App_TaskCreateHook().

参考自 OS_TCBInit().

106 {
107 #if OS_APP_HOOKS_EN > 0u
108  App_TaskCreateHook(ptcb);
109 #else
110  (void)ptcb; /* Prevent compiler warning */
111 #endif
112 }

函数调用图:

这是这个函数的调用关系图:

void OSTaskDelHook ( OS_TCB ptcb)

在文件 os_cpu_c.c128 行定义.

参考 App_TaskDelHook().

参考自 OSTaskDel().

129 {
130 #if OS_APP_HOOKS_EN > 0u
131  App_TaskDelHook(ptcb);
132 #else
133  (void)ptcb; /* Prevent compiler warning */
134 #endif
135 }

函数调用图:

这是这个函数的调用关系图:

void OSTaskIdleHook ( void  )

在文件 os_cpu_c.c151 行定义.

参考 App_TaskIdleHook().

参考自 OS_TaskIdle().

152 {
153 #if OS_APP_HOOKS_EN > 0u
155 #endif
156 }

函数调用图:

这是这个函数的调用关系图:

void OSTaskReturnHook ( OS_TCB ptcb)

在文件 os_cpu_c.c173 行定义.

参考 App_TaskReturnHook().

参考自 OS_TaskReturn().

174 {
175 #if OS_APP_HOOKS_EN > 0u
176  App_TaskReturnHook(ptcb);
177 #else
178  (void)ptcb;
179 #endif
180 }

函数调用图:

这是这个函数的调用关系图:

void OSTaskStatHook ( void  )

在文件 os_cpu_c.c195 行定义.

参考 App_TaskStatHook().

参考自 OS_TaskStat().

196 {
197 #if OS_APP_HOOKS_EN > 0u
199 #endif
200 }

函数调用图:

这是这个函数的调用关系图:

OS_STK* OSTaskStkInit ( void(*)(void *p_arg)  task,
void *  p_arg,
OS_STK ptos,
INT16U  opt 
)

在文件 os_cpu_c.c232 行定义.

参考 OS_TaskReturn().

参考自 OSTaskCreate() , 以及 OSTaskCreateExt().

233 {
234  OS_STK *stk;
235 
236 
237  (void)opt; /* 'opt' is not used, prevent warning */
238  stk = ptos; /* Load stack pointer */
239 
240  /* Registers stacked as if auto-saved on exception */
241  *(stk) = (INT32U)0x01000000uL; /* xPSR */
242  *(--stk) = (INT32U)task; /* Entry Point */
243  *(--stk) = (INT32U)OS_TaskReturn; /* R14 (LR) */
244  *(--stk) = (INT32U)0x12121212uL; /* R12 */
245  *(--stk) = (INT32U)0x03030303uL; /* R3 */
246  *(--stk) = (INT32U)0x02020202uL; /* R2 */
247  *(--stk) = (INT32U)0x01010101uL; /* R1 */
248  *(--stk) = (INT32U)p_arg; /* R0 : argument */
249 
250  /* Remaining registers saved on process stack */
251  *(--stk) = (INT32U)0x11111111uL; /* R11 */
252  *(--stk) = (INT32U)0x10101010uL; /* R10 */
253  *(--stk) = (INT32U)0x09090909uL; /* R9 */
254  *(--stk) = (INT32U)0x08080808uL; /* R8 */
255  *(--stk) = (INT32U)0x07070707uL; /* R7 */
256  *(--stk) = (INT32U)0x06060606uL; /* R6 */
257  *(--stk) = (INT32U)0x05050505uL; /* R5 */
258  *(--stk) = (INT32U)0x04040404uL; /* R4 */
259 
260  return (stk);
261 }

函数调用图:

这是这个函数的调用关系图:

void OSTaskSwHook ( void  )

在文件 os_cpu_c.c279 行定义.

参考 App_TaskSwHook().

280 {
281 #if OS_APP_HOOKS_EN > 0u
282  App_TaskSwHook();
283 #endif
284 }

函数调用图:

void OSTCBInitHook ( OS_TCB ptcb)

在文件 os_cpu_c.c299 行定义.

参考 App_TCBInitHook().

参考自 OS_TCBInit().

300 {
301 #if OS_APP_HOOKS_EN > 0u
302  App_TCBInitHook(ptcb);
303 #else
304  (void)ptcb; /* Prevent compiler warning */
305 #endif
306 }

函数调用图:

这是这个函数的调用关系图:

void OSTimeTickHook ( void  )

在文件 os_cpu_c.c321 行定义.

参考 App_TimeTickHook(), OS_TICKS_PER_SEC, OS_TMR_CFG_TICKS_PER_SEC, OSTmrCtr , 以及 OSTmrSignal().

参考自 OSTimeTick().

322 {
323 #if OS_APP_HOOKS_EN > 0u
325 #endif
326 
327 #if OS_TMR_EN > 0u
328  OSTmrCtr++;
330  OSTmrCtr = 0;
331  OSTmrSignal();
332  }
333 #endif
334 }

函数调用图:

这是这个函数的调用关系图:

void OS_CPU_SysTickHandler ( void  )

在文件 os_cpu_c.c350 行定义.

参考 OS_ENTER_CRITICAL, OS_EXIT_CRITICAL, OSIntExit(), OSIntNesting , 以及 OSTimeTick().

351 {
352  OS_CPU_SR cpu_sr;
353 
354 
355  OS_ENTER_CRITICAL(); /* Tell uC/OS-II that we are starting an ISR */
356  OSIntNesting++;
358 
359  OSTimeTick(); /* Call uC/OS-II's OSTimeTick() */
360 
361  OSIntExit(); /* Tell uC/OS-II that we are leaving the ISR */
362 }

函数调用图:

void OS_CPU_SysTickInit ( INT32U  cnts)

在文件 os_cpu_c.c376 行定义.

参考 OS_CPU_CM3_NVIC_PRIO_MIN, OS_CPU_CM3_NVIC_PRIO_ST, OS_CPU_CM3_NVIC_ST_CTRL, OS_CPU_CM3_NVIC_ST_CTRL_CLK_SRC, OS_CPU_CM3_NVIC_ST_CTRL_ENABLE, OS_CPU_CM3_NVIC_ST_CTRL_INTEN , 以及 OS_CPU_CM3_NVIC_ST_RELOAD.

参考自 App_TaskStart().

377 {
378  OS_CPU_CM3_NVIC_ST_RELOAD = cnts - 1u;
379  /* Set prio of SysTick handler to min prio. */
381  /* Enable timer. */
383  /* Enable timer interrupt. */
385 }

这是这个函数的调用关系图:

变量说明

INT16U OSTmrCtr
static

在文件 os_cpu_c.c33 行定义.

参考自 OSInitHookBegin() , 以及 OSTimeTickHook().