⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_cpu_c.c

📁 对研究uc_os操作系统的非常有帮助
💻 C
字号:

#include "INCLUDES.H"


OS_STK  *OSTaskStkInit(void (*task)(void *pd), void *pdata, OS_STK *ptos, INT16U opt)
{
 OS_STK *stk;
 opt=opt;

 stk=(OS_STK *)ptos;
 *--stk=(OS_STK)task;   //PC  R15
 *--stk=(OS_STK)task;   //LR  R14            
 *--stk=0x00000000;     //R12 
 *--stk=0x00000000;     //R11                  
 *--stk=0x00000000;     //R10              
 *--stk=0x00000000;     //R9             
 *--stk=0x00000000;     //R8                   
 *--stk=0x00000000;     //R7                  
 *--stk=0x00000000;     //R6                   
 *--stk=0x00000000;     //R5 
 *--stk=0x00000000;     //R4
 *--stk=0x00000000;     //R3
 *--stk=0x00000000;     //R2
 *--stk=0x00000000;     //R1
 *--stk=0x00000000;     //R0
 *--stk=(SVC_MODE|0x0);	//SPSR
 *--stk=(SVC_MODE|0x0);	//CPSR
 *--stk=0x00000000;		//NOINT			
 return((void *)stk);
}

void OSTaskCreateHook(OS_TCB *ptcb)
{
 ptcb=ptcb;
}

void OSTaskDelHook(OS_TCB *ptcb)
{
 ptcb=ptcb;
}

void OSTaskSwHook(void)
{
 OS_ENTER_CRITICAL();
 Uart_Printf("\n1\n");
 OS_EXIT_CRITICAL();
}

void OSTaskIdleHook(void)
{
 OS_ENTER_CRITICAL();
 Uart_Printf("2");
 OS_EXIT_CRITICAL();
}

void OSTaskStatHook(void)
{
}

void OSTimeTickHook(void)
{
}

void OSInitHookBegin(void)
{
 OS_ENTER_CRITICAL();
 Uart_Printf("\nOSInit begin !");
 OS_EXIT_CRITICAL();
}

void OSInitHookEnd(void)
{
 OS_ENTER_CRITICAL();
 Uart_Printf("\nOSInit end !");
 OS_EXIT_CRITICAL();
}


void OSTCBInitHook(OS_TCB* ptcb)
{
 ptcb=ptcb;
 
 OS_ENTER_CRITICAL();
 Uart_Printf("\nTCB init now !");
 OS_EXIT_CRITICAL();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -