?? os_cpu_c.c
字號:
/*
******************************************************
* 文件:OS_CPU_C.c
* 作者:dejam
* 單位:03EE.STU
*
******************************************************
*/
#define OS_CPU_GLOBALS
#include "includes.h"
/*******************************************************************
堆棧初始化函數
該函數在創建任務時調用,用于對任務堆棧初始化
********************************************************************/
void *OSTaskStkInit(void (*task)(void *pd), void *pdata, void *ptos, INT16U opt)
{
OS_STK *stk;
opt = opt; //opt沒被用到,保留此語句防止告警產生
stk = (OS_STK *)ptos; //用戶堆棧最高有效地址
*stk-- = *((INT16U *)pdata); //函數調用時的第一個參數
*stk-- = 0xffff; //模擬PC壓棧(任務返回地址,未知也不關心,可隨便放)
*stk-- = 0xffff; //模擬SR壓棧
*stk-- = *((INT16U *)task + 1); //PC (指向任務代碼的指針,task指向CS[61A中永遠為0],task+1指向偏移量,只需將偏移量壓棧即可)
*stk-- = 0x0000; //SR
*stk-- = 0x5555; //r5 寄存器里的值可隨便放,在這里主要是為調試時的觀察方便
*stk-- = 0x4444; //r4
*stk-- = 0x3333; //r3
*stk-- = 0x2222; //r2
*stk-- = 0x1111; //r1
return ((void *)stk);
}
#if OS_CPU_HOOKS_EN
/***************************************************************************
任務切換掛鉤函數
注意:任務創建時調用,調用期間中斷需被禁止
********************************************************************************/
void OSTaskSwHook (void)
{
}
/***************************************************************************
任務創建掛鉤函數
注意:任務創建時調用,調用期間中斷需被禁止
********************************************************************************/
void OSTaskCreateHook (OS_TCB *ptcb)
{
ptcb = ptcb; //防止告警產生
}
/*******************************************************************************
任務刪除鉤掛函數
********************************************************************************/
void OSTaskDelHook (OS_TCB *ptcb)
{
ptcb = ptcb; //防止告警產生
}
/*******************************************************************************
任務切換鉤掛函數
********************************************************************************/
void OSTaskStatHook (void)
{
}
/*******************************************************************************
定時鉤掛函數
********************************************************************************/
void OSTimeTickHook (void)
{
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -