os_cpu.h

来自「一个简单易用的可裁减的小型实时操作系统 移植非常简单」· C头文件 代码 · 共 68 行

H
68
字号
/*
 *******************************************************************************
 *
 * MicroROS
 *
 * Copyright (C) 2007 <amwox@163.com>			
 *
 * Description	: 在OS内核使用的全局变量,函数以及与移植相关的函数
 *
 * File			: os_config.h
 * Author		: amwox
 * Edition		: V0.01
 * History		: 2007-10-29  created 
 *				  2008-01-01  只保留汇编中的_TaskSwitch,其它删除
 *******************************************************************************
 */
#ifndef __OS_CPU_A_H__
#define __OS_CPU_A_H__

/*
*******************************************************************************
* 内核全局变量
*******************************************************************************
*/

extern KernelData os_kernel;

/*
*******************************************************************************
* 内核函数
*******************************************************************************
*/

/* ***************************** os_tasking.c ****************************** */ 
#if (SEMAPHORE_EN > 0) || (MAILBOX_EN > 0) || (MUTEX_EN > 0)
void _AppendEvent(pPID *pList, pPID pEvent);
BOOL _RemoveEvent(pPID *pList, pPID pEvent);
void _WakeupEvent(pPID pList);
#endif
BOOL _RemovePID(pPID pProcess);
void _QueuePID(pPID pProcess);

/* ****************************** os_timer.c ******************************* */

BOOL _RemoveTimer(pPID pTimer);
void _QueueTimer(pPID pTimer);

/*
*******************************************************************************
* 与移植相关的函数
*******************************************************************************
*/

/* ****************************** os_cpu_c.c ******************************* */

void _SaveSP(STACK * Y);
STACK * _RestoreSP(void); 
STACK * OS_TaskInit(void  (* pTaskName) (void),STACK * pStack);
void OS_KernelInit(void);

/* ***************************** os_cpu_a.asm ****************************** */ 
//这个函数只能在汇编中,在C中编写会出现高级优化时,出现不正确的编译结果
extern void _TaskSwitch(void);
#define _Schedule()		_TaskSwitch()

#endif

⌨️ 快捷键说明

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