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

📄 os_con.hpp

📁 易能嵌入式操作系统E_LAND1.0.0_LPC2106_DS12.rar
💻 HPP
字号:
//===========================================================
//--文件名:OS_CON.H
//--
//--功  能:根据各模块配置文件综合配置系统
//--
//--作  者:陈 斌
//--
//--版本号:v1.00
//--
//--时  间:2006.12.31
//===========================================================

#ifndef OS_CON_H
#define OS_CON_H
#include <Config/KER_CON.Hpp>
#include <Config/OS_ERR.Hpp>
//--配置非内核模块--------------------------------------------
#define DOS_MEMEN		DIS//EN//
//------------------------------------------------------------
//--定义任务的属性----------------------------------------------
#define ARM_MODE		0x10		// 用户模式,Arm代码
#define THUMB_MODE		0x30		// 用户模式,Thumb代码
#define DMC_SYS_MODE	THUMB_MODE//ARM_MODE//	//系统线程默认模式
#define DMC_USER_MODE	THUMB_MODE//ARM_MODE//	//用户线程默认模式
#define DOS_TCBTIME		10				//定义每个进程缺省的CPU使用节拍
//--进程属性------------------------------------------------------
#define DOS_TCBATTR		0x00		//无事件线程属性
#define DOS_ECCBATTR	0x01		//有事件线程属性
//--定义堆栈方向--------------------------------------------
#define EA				0
#define FA				1
#define ED				2
#define FD				3
//--堆栈的方向----------------------------------------------------
#define OS_STK_GROWTH	1
#define DKE_STK_GROW	ED				
#define DOS_MAX_QUE		DKE_MAX_QUE		
#define DOS_MAX_EFLAG	DKE_MAX_EFLAG	
#define DOS_MAX_SEM		DKE_MAX_SEM		
#define DOS_EVENCOU		DKE_EVENCOU		
#define DOS_PRICOU		DKE_PRICOU		
#define DOS_STAT		DKE_STAT		
#define DOS_STACHE		DKE_STACHE		
#define DOS_DEBUG		DKE_DEBUG		
#define DOS_SWHOOK		DKE_SWHOOK
#define DOS_IDLEHOOK	DKE_IDLEHOOK
#define DOS_STARTDT		DKE_STARTDT		
#define DOS_TICKSTA		55
#define DOS_STATSTA		55
#define DOS_IDLESTA		55
#define DOS_SECTICK		100		
#define DOS_VIEW		EN
#if DOS_MEMEN == EN
#define DOS_MEMPAGE_SIZE	0x0008		
#define DOS_MEMPAGE_TOTAL	0x0008		
#endif
#if(DKE_UINT8Q== EN||DKE_FUNQ==EN)
#define DKE_QUEUE	EN				
#endif
#define DOS_QUEFIFO	DKE_QUEFIFO		
#define DOS_QUELIFO	DKE_QUELIFO		
#define DOS_QUELOCK	DKE_QUELOCK		
#if DKE_MUTEX == EN
#define DOS_MUTEX	EN
#else
#define DOS_MUTEX	DIS
#endif
#if DKE_SEM == EN
#define DOS_SEM		EN
#else
#define DOS_SEM		DIS
#endif
#if DKE_MESSAGE == EN
#define DOS_MESSAGE	EN
#endif
#if DKE_QUEUE == EN
#define DOS_QUEUE	EN
#else
#define DOS_QUEUE	DIS
#endif
#if DKE_EFLAG == EN
#define DOS_EFLAG	EN
#else
#define DOS_EFLAG	DIS
#endif
#if DKE_MONITOR == EN
#define DOS_MONITOR	EN
#else
#define DOS_MONITOR	DIS
#endif
#if(DOS_SEM==EN||DOS_QUEUE==EN||DOS_MUTEX==EN||DOS_MESSAGE==EN)
#define DOS_EVENT		EN				
#endif
#define DOS_UNLIMIT	1<<(sizeof(TIMETYPE)*8-1)	
#define EVENT0		0
#define EVENT1		EVENT0+DKE_MUTEX
#define EVENT2		EVENT1+DKE_SEM
#define EVENT3		EVENT2+DKE_MESSAGE
#define EVENT4		EVENT3+DKE_EFLAG
#define EVENT5		EVENT4+DKE_MONITOR
#define EVENT6		EVENT5+DKE_QUEUE
#if DKE_MUTEX == EN
#define EVE_MUTEX		((OS_STATE)EVENT1)		
#endif
#if DKE_SEM == EN
#define EVE_SEM			((OS_STATE)EVENT2)		
#endif
#if DKE_MESSAGE == EN
#define EVE_MESSAGE		((OS_STATE)EVENT3)		
#endif
#if DKE_EFLAG == EN
#define EVE_EFLAG		((OS_STATE)EVENT4)		
#endif
#if DKE_MONITOR == EN
#define EVE_MONITOR		((OS_STATE)EVENT5)
#endif
#if DOS_QUEUE == EN
#define EVE_QUEUE		((OS_STATE)EVENT6)		
#endif
#define	EVE_FLAGE_RALL		((0<<4)+EVE_EFLAG)		
#define	EVE_FLAGE_ORNOT		((0<<4)+EVE_EFLAG)		
#define	EVE_FLAGE_RANY		((1<<4)+EVE_EFLAG)		
#define	EVE_FLAGE_ANDNOT	((1<<4)+EVE_EFLAG)		
#define	EVE_FLAGE_SALL		((2<<4)+EVE_EFLAG)		
#define	EVE_FLAGE_AND		((2<<4)+EVE_EFLAG)		
#define	EVE_FLAGE_SANY		((3<<4)+EVE_EFLAG)		
#define	EVE_FLAGE_OR		((3<<4)+EVE_EFLAG)		
#define	EVE_FLAG_CONSUME	0x80        	
#define	EVE_BIT_R			0				
#define	EVE_BIT_S			1				
#ifndef	__ASSERTOFF
#define ASSERT(i,j,k,l,Err)	{if(!(i&j&k&l)) {OSError(Err);}}	
#else
#define ASSERT(i,j,k,l,Err)
#endif
#define DOS_EMAX		(DOS_EVENCOU)	
#define DOS_PMAX		(DOS_PRICOU)	
#endif

⌨️ 快捷键说明

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