os_cpu_c.c

来自「此为针对凌阳SPCE061A板进行的uCOS2.00版本的移植」· C语言 代码 · 共 90 行

C
90
字号
/***************************************************
					  norman
					2008-08-03
***************************************************/

#define  OS_CPU_GLOBALS
#include "includes.h"

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

    opt    = opt;                       
    stk    = (OS_STK *)ptos;                
    *stk-- = *((INT16U*)pdata); 
    *stk-- = *((INT16U*)task + 1);		//这个要        //这个要
    
//	*stk-- = *((INT16U*)task);			//
//	*stk-- = *((INT16U*)pdata + 1);		//由于凌阳自己的存储器寻址特点,
    *stk-- = (INT16U)0x0000;            //SR不能乱放东西的,因为这个是程序执行用到的,有点像ARM的LR
    *stk-- = (INT16U)0x5555;           
    *stk-- = (INT16U)0x4444;             
    *stk-- = (INT16U)0x3333;             
    *stk-- = (INT16U)0x2222;             
    *stk-- = (INT16U)0x1111;           
    return ((void*)stk);
}


#if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
void  OSInitHookBegin (void)
{
}
#endif

#if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
void  OSInitHookEnd (void)
{
}
#endif

#if OS_CPU_HOOKS_EN > 0 
void  OSTaskCreateHook (OS_TCB *ptcb)
{
    ptcb = ptcb;                       /* Prevent compiler warning                                     */
}
#endif


#if OS_CPU_HOOKS_EN > 0 
void  OSTaskDelHook (OS_TCB *ptcb)
{
    ptcb = ptcb;                       /* Prevent compiler warning                                     */
}
#endif

#if OS_CPU_HOOKS_EN > 0 && OS_VERSION >= 251
void  OSTaskIdleHook (void)
{
}
#endif


#if OS_CPU_HOOKS_EN > 0 
void  OSTaskStatHook (void)
{
}
#endif


#if OS_CPU_HOOKS_EN > 0 
void  OSTaskSwHook (void)
{
}
#endif

#if OS_CPU_HOOKS_EN > 0 && OS_VERSION > 203
void  OSTCBInitHook (OS_TCB *ptcb)
{
    ptcb = ptcb;                                           /* Prevent Compiler warning                 */
}
#endif


#if OS_CPU_HOOKS_EN > 0 
void  OSTimeTickHook (void)
{
}
#endif

⌨️ 快捷键说明

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