mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-08-17 08:42:13 +08:00
154 lines
5.8 KiB
C
154 lines
5.8 KiB
C
/**************************************************************************//**
|
||
* @item CosyOS-III Kernel
|
||
* @file os_def.h
|
||
* @brief 初始宏定义
|
||
* @author 迟凯峰
|
||
* @version v3.0.0
|
||
* @date 2026.07.21
|
||
******************************************************************************/
|
||
|
||
#ifndef __OS_DEF_H
|
||
#define __OS_DEF_H
|
||
|
||
/*
|
||
* SYSAPI
|
||
*/
|
||
|
||
#define sDefStr(s) sDefStr_0(s)
|
||
#define sDefStr_0(s) #s
|
||
|
||
#define sCat2Str(s1, s2) sCat2Str_0(s1, s2)
|
||
#define sCat2Str_0(s1, s2) s1##s2
|
||
|
||
#define sCat3Str(s1, s2, s3) sCat3Str_0(s1, s2, s3)
|
||
#define sCat3Str_0(s1, s2, s3) s1##s2##s3
|
||
|
||
#define sDefBitField(v) s_u8_t v:1
|
||
#define sDefVoidBits(n) s_u8_t :n
|
||
|
||
|
||
/*
|
||
* CONST
|
||
*/
|
||
|
||
#define true 1
|
||
#define false 0
|
||
#define OS_NULL 0
|
||
|
||
|
||
/*
|
||
* CONFIG VALUE
|
||
*/
|
||
|
||
#define __DISABLED__ 0
|
||
#define __ENABLED__ 1
|
||
#define __STATIC__ 0 /*!< 静态队列 ............. */
|
||
#define __DYNAMIC__ 1 /*!< 动态队列 ............. */
|
||
#define __QUE_FIFO__ 0 /*!< 先入先出队列 ......... */
|
||
#define __QUE_LIFO__ 1 /*!< 后入先出队列 ......... */
|
||
#define __MCS_51__ 0 /*!< 指令集架构:MCS51 .... */
|
||
#define __MCS_251__ 1 /*!< 指令集架构:MCS251 ... */
|
||
#define __ARM__ 2 /*!< 指令集架构:ARM ...... */
|
||
#define __COOPERATIVE__ 1 /*!< 协作式调度............ */
|
||
#define __TIMESHARING__ 2 /*!< 时间片轮转调度........ */
|
||
#define __MSP__ 0x01
|
||
#define __PSP__ 0x02
|
||
#define __MSP_PSP__ (__MSP__ | __PSP__)
|
||
|
||
|
||
/*
|
||
* 任务相关
|
||
*/
|
||
|
||
/* 任务状态 */
|
||
#define OS_STATUS_READY 0x00 /*!< 就绪/运行状态 ............ */
|
||
#define OS_STATUS_FLOATING 0x01 /*!< 浮动状态 ................. */
|
||
#define OS_STATUS_BLOCKED 0x02 /*!< 阻塞状态 ................. */
|
||
#define OS_STATUS_TIMEOUT 0x04 /*!< 超时状态 ................. */
|
||
#define OS_STATUS_SUSPENDED 0x08 /*!< 挂起状态 ................. */
|
||
#define OS_STATUS_STOPPED 0x40 /*!< 停止状态 ................. */
|
||
#define OS_STATUS_DELETED 0x80 /*!< 已删除/未启动状态 ........ */
|
||
|
||
/* 阻塞类型 */
|
||
#define OS_BLOCKED_DELAY 0x00 /*!< 延时阻塞 ................. */
|
||
/*- 0x01/0x02/0x04:sizeof(Group) -*//*!< 事件标志组阻塞(等待).... */
|
||
#define OS_BLOCKED_BINARY 0x10 /*!< 二值信号量阻塞(获取/等待)*/
|
||
#define OS_BLOCKED_MUTEX 0x20 /*!< 互斥信号量阻塞(获取).... */
|
||
#define OS_BLOCKED_SEMAPHORE 0x30 /*!< 计数信号量阻塞(获取).... */
|
||
#define OS_BLOCKED_TASKMSG 0x40 /*!< 接收私信阻塞 ............. */
|
||
#define OS_BLOCKED_FETION 0x50 /*!< 接收飞信阻塞 ............. */
|
||
#define OS_BLOCKED_MAIL 0x60 /*!< 接收邮件阻塞 ............. */
|
||
#define OS_BLOCKED_MSG 0x70 /*!< 接收消息阻塞 ............. */
|
||
|
||
|
||
/*
|
||
* DEBUG SEND TYPE
|
||
*/
|
||
|
||
#define OS_DEBUG_SEND_CMDLINE 0x01 /*!< 命令行发送 ... */
|
||
#define OS_DEBUG_SEND_TASKMGR 0x02 /*!< 任务管理器发送 */
|
||
|
||
|
||
/*
|
||
* TASKMGR LEN
|
||
*/
|
||
|
||
#define OS_TASKMGR_LEN_PRI 6
|
||
#define OS_TASKMGR_LEN_STA 6
|
||
#define OS_TASKMGR_LEN_CPU 9
|
||
|
||
|
||
/*
|
||
* SVID(服务ID,中断FIFO服务-系统专用ID)
|
||
*/
|
||
|
||
#define OS_SVID_CLEARDELAY 0x00 /*!< 清除就绪延时 ....... */
|
||
#define OS_SVID_RESUMETASK 0x01 /*!< 恢复任务 ........... */
|
||
#define OS_SVID_SUSPENDTASK 0x02 /*!< 挂起任务 ........... */
|
||
#define OS_SVID_DELETETASK 0x03 /*!< 删除任务 ........... */
|
||
#define OS_SVID_RESETTASK 0x04 /*!< 重置任务 ........... */
|
||
#define OS_SVID_CLEARBLOCK 0x05 /*!< 清除阻塞 ........... */
|
||
#define OS_SVID_SETBLOCK 0x06 /*!< 设置阻塞 ........... */
|
||
#define OS_SVID_SETTASKPRI 0x07 /*!< 设置任务优先级 ..... */
|
||
#define OS_SVID_WRITEBINARY 0x08 /*!< 写二值信号量 ....... */
|
||
#define OS_SVID_GIVESEMAPH 0x09 /*!< 给予计数信号量 ..... */
|
||
#define OS_SVID_SENDFETION 0x0A /*!< 发送飞信 ........... */
|
||
#define OS_SVID_SENDMAIL 0x0B /*!< 发送邮件 ........... */
|
||
#define OS_SVID_SENDMSG 0x0C /*!< 发送消息 ........... */
|
||
#define OS_SVID_TIMINT 0x0D /*!< 定时中断 ........... */
|
||
#define OS_SVID_TIMQRY 0x0E /*!< 定时查询 ........... */
|
||
#define OS_SVID_WRITEGROUP 0x0F /*!< 写标志组 ........... */
|
||
#define OS_SVID_WRITEGVAR 0x10 /*!< 写全局变量 ......... */
|
||
#define OS_SVID_PENDSVC 0x11 /*!< 挂起服务调用 ....... */
|
||
#define OS_SVID_END 0x12
|
||
|
||
|
||
/*
|
||
* ECODE(错误码)
|
||
*/
|
||
|
||
#define OS_ECODE_NOERROR 0x00 /*!< 无错误 ............. */
|
||
|
||
#define OS_ECODE_TASKSTARTED 0x0D /*!< 任务已启动 ......... */
|
||
#define OS_ECODE_TASKSUSPENDED 0x0E /*!< 任务已挂起 ......... */
|
||
#define OS_ECODE_TASKSTOPPED 0x0F /*!< 任务已停止 ......... */
|
||
#define OS_ECODE_TASKDELETED 0x10 /*!< 任务已删除 ......... */
|
||
#define OS_ECODE_TASKNOTSTARTED 0x10 /*!< 任务未启动 ......... */
|
||
#define OS_ECODE_TASKNOTBLOCKED 0x11 /*!< 任务未阻塞 ......... */
|
||
#define OS_ECODE_TASKNOTSUSPENDED 0x12 /*!< 任务未挂起 ......... */
|
||
#define OS_ECODE_TASKPRIUNCHANGED 0x13 /*!< 任务优先级未改变 ... */
|
||
|
||
#define OS_ECODE_OVERFLOW_MSGQUEUE 0x21 /*!< 消息队列溢出 ....... */
|
||
#define OS_ECODE_OVERFLOW_TASKQUEUE 0x22 /*!< 任务队列溢出 ....... */
|
||
#define OS_ECODE_OVERFLOW_TASKSTACK 0x23 /*!< 任务栈溢出 ......... */
|
||
|
||
#define OS_ECODE_MALLOCFAIL_MSGNODE 0x31 /*!< 消息节点内存分配失败 */
|
||
#define OS_ECODE_MALLOCFAIL_TASKNODE 0x32 /*!< 任务节点内存分配失败 */
|
||
#define OS_ECODE_MALLOCFAIL_TASKSTACK 0x33 /*!< 任务栈内存分配失败 . */
|
||
|
||
#define OS_ECODE_DONOTKNOW 0xFF /*!< 未知错误 ........... */
|
||
|
||
|
||
|
||
#endif
|