📄 os_con.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 + -