📄 os_cpu.h
字号:
/*
*******************************************************************************
*
* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -