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

📄 os_cpu_c.c

📁 在MC68HC908JB8上移植UCOSII成功
💻 C
字号:
#define  OS_CPU_GLOBALS
#include "includes.h"

void *OSTaskStkInit (void (*task)(void *pd), void *pdata, void *ptos, INT16U opt)
{
    INT16U 	 *stk;
    opt    = opt;							
    stk    = (INT16U *)ptos;               	
    *--stk = (INT16U)(task);				
    *--stk = (INT16U)(0x00);		   		
    *--stk = (INT16U)(0x00);		   		
    return ((void *)stk);
}

void OSStartHighRdy(void)
{
	OSRunning++;
	asm {

		LDX	OSTCBHighRdy
		STX	OSTCBCur
		PSHX
		LDX	OSTCBHighRdy:1
		STX	OSTCBCur:1
		PULH
		LDA	0,x
		PSHA
		LDX	1,x
		PULH
		TXS
		PULH
		RTI
	    };
}	

void OSIntCtxSw(void)
{
	asm {
		AIS	#4
		TSX
		PSHX
		PSHH
		LDX	OSTCBCur:0
		PSHX
		LDX	OSTCBCur:1
		PULH
		PULA
		STA	0,x
		PULA
		STA	1,x
		LDA	OSPrioHighRdy
		STA	OSPrioCur
		LDX	OSTCBHighRdy:0
		STX	OSTCBCur:0
		PSHX
		LDX	OSTCBHighRdy:1
		STX	OSTCBCur:1
		PULH
		LDA	0,x
		PSHA		
		LDX	1,x
		PULH
		TXS
		PULH
		RTI
	    };
}


void OSCtxSw(void)
{
	asm {
		PSHH
		TSX
		PSHX
		PSHH
		LDX	OSTCBCur:0
		PSHX
		LDX	OSTCBCur:1
		PULH
		PULA
		STA	0,x
		PULA
		STA	1,x
		LDA	OSPrioHighRdy
		STA	OSPrioCur
		LDX	OSTCBHighRdy:0
		STX	OSTCBCur:0
		PSHX
		LDX	OSTCBHighRdy:1
		STX	OSTCBCur:1
		PULH
		LDA	0,x
		PSHA		
		LDX	1,x
		PULH
		TXS
		PULH
		RTI
	    };
}		

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

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

void OSTaskSwHook (void)
{
}

void OSTaskStatHook (void)
{
}
void OSTimeTickHook (void)
{
}

⌨️ 快捷键说明

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