删除文件 System/sv_create.h

This commit is contained in:
零中断延迟的RTOS
2024-04-17 13:49:30 +00:00
committed by Gitee
parent 5599691c28
commit ea439895ef

View File

@@ -1,283 +0,0 @@
/**************************************************************************//**
* @item CosyOS-II Kernel
* @file sv_create.h
* @brief 创建服务(用于创建各种内核对象)
* @author 迟凯峰
* @version V2.1.1
* @date 2024.04.04
******************************************************************************/
#ifndef __SV_CREATE_H
#define __SV_CREATE_H
/*
* 声明任务
*/
/* 无私信 */
#define sCSV_ExternTask(name) \
extern s_tasknode_tsp u_taskhandle_##name; \
extern s_tasknode_ts u_taskhand_##name; \
void name(void)
#define dCSV_ExternTask(name) \
extern s_tasknode_tsp u_taskhandle_##name; \
extern s_taskhand_ts u_taskhand_##name; \
void name(void)
/* 有私信 */
#define sCSV_ExternTask_Msg(name) \
extern s_tasknode_tsp u_taskhandle_##name; \
extern s_tasknode_ts u_taskhand_##name; \
void name(MCUCFG_TASKMSG_VAR,
#define dCSV_ExternTask_Msg(name) \
extern s_tasknode_tsp u_taskhandle_##name; \
extern s_taskhand_ts u_taskhand_##name; \
void name(MCUCFG_TASKMSG_VAR,
/*
* 创建任务
*/
/* 创建一般任务(静态)*/
#if SYSCFG_DEBUGGING == __ENABLED__
#if SYSCFG_SAFERUNTIME == __ENABLED__
#define sCSV_CreateTask(name, pri, tss, srt, ntm) \
s_tasknode_ts u_taskhand_##name; \
s_tasknode_tsp u_taskhandle_##name = &u_taskhand_##name; \
MCUCFG_STACK_ALIGN static s_u8_t u_taskstack_##name[tss]; \
s_tasknode_ts u_taskhand_##name = {0, 0, pri, tss, &u_taskhandle_##name, (s_voidvoid_tfp)name, #name, srt, u_taskstack_##name, 0}; \
void name \
sCreateTaskMsg_##ntm
#else
#define sCSV_CreateTask(name, pri, tss, srt, ntm) \
s_tasknode_ts u_taskhand_##name; \
s_tasknode_tsp u_taskhandle_##name = &u_taskhand_##name; \
MCUCFG_STACK_ALIGN static s_u8_t u_taskstack_##name[tss]; \
s_tasknode_ts u_taskhand_##name = {0, 0, pri, tss, &u_taskhandle_##name, (s_voidvoid_tfp)name, #name, /**/ u_taskstack_##name, 0}; \
void name \
sCreateTaskMsg_##ntm
#endif
#else
#if SYSCFG_SAFERUNTIME == __ENABLED__
#define sCSV_CreateTask(name, pri, tss, srt, ntm) \
s_tasknode_ts u_taskhand_##name; \
s_tasknode_tsp u_taskhandle_##name = &u_taskhand_##name; \
MCUCFG_STACK_ALIGN static s_u8_t u_taskstack_##name[tss]; \
s_tasknode_ts u_taskhand_##name = {0, 0, pri, tss, &u_taskhandle_##name, (s_voidvoid_tfp)name, /****/ srt, u_taskstack_##name, 0}; \
void name \
sCreateTaskMsg_##ntm
#else
#define sCSV_CreateTask(name, pri, tss, srt, ntm) \
s_tasknode_ts u_taskhand_##name; \
s_tasknode_tsp u_taskhandle_##name = &u_taskhand_##name; \
MCUCFG_STACK_ALIGN static s_u8_t u_taskstack_##name[tss]; \
s_tasknode_ts u_taskhand_##name = {0, 0, pri, tss, &u_taskhandle_##name, (s_voidvoid_tfp)name, /****/ /**/ u_taskstack_##name, 0}; \
void name \
sCreateTaskMsg_##ntm
#endif
#endif
/* 创建一般任务(动态)*/
#if SYSCFG_DEBUGGING == __ENABLED__
#if SYSCFG_SAFERUNTIME == __ENABLED__
#define dCSV_CreateTask(name, pri, tss, srt, ntm) \
s_tasknode_tsp u_taskhandle_##name = OS_NULL; \
s_taskhand_ts u_taskhand_##name = {0, 0, pri, tss, &u_taskhandle_##name, (s_voidvoid_tfp)name, #name, srt}; \
void name \
sCreateTaskMsg_##ntm
#else
#define dCSV_CreateTask(name, pri, tss, srt, ntm) \
s_tasknode_tsp u_taskhandle_##name = OS_NULL; \
s_taskhand_ts u_taskhand_##name = {0, 0, pri, tss, &u_taskhandle_##name, (s_voidvoid_tfp)name, #name}; \
void name \
sCreateTaskMsg_##ntm
#endif
#else
#if SYSCFG_SAFERUNTIME == __ENABLED__
#define dCSV_CreateTask(name, pri, tss, srt, ntm) \
s_tasknode_tsp u_taskhandle_##name = OS_NULL; \
s_taskhand_ts u_taskhand_##name = {0, 0, pri, tss, &u_taskhandle_##name, (s_voidvoid_tfp)name, srt}; \
void name \
sCreateTaskMsg_##ntm
#else
#define dCSV_CreateTask(name, pri, tss, srt, ntm) \
s_tasknode_tsp u_taskhandle_##name = OS_NULL; \
s_taskhand_ts u_taskhand_##name = {0, 0, pri, tss, &u_taskhandle_##name, (s_voidvoid_tfp)name}; \
void name \
sCreateTaskMsg_##ntm
#endif
#endif
/* 创建定时中断任务 */
#define sCSV_CreateTask_TimInt(tmid, arl, name, pri, tss, srt, ntm) \
s_tasknode_ts u_taskhand_##name; \
const s_timinthand_ts _CONST_MEM_ u_timinthand_##tmid = {0x80 | arl, &u_taskhand_##name}; \
sCSV_CreateTask(name, pri, tss, srt, ntm)
#define dCSV_CreateTask_TimInt(tmid, arl, name, pri, tss, srt, ntm) \
s_taskhand_ts u_taskhand_##name; \
const s_timinthand_ts _CONST_MEM_ u_timinthand_##tmid = {0x80 | arl, &u_taskhand_##name}; \
dCSV_CreateTask(name, pri, tss, srt, ntm)
/* 创建定时查询任务 */
#define sCSV_CreateTask_TimQry(tmid, event, arl, name, pri, tss, srt, ntm) \
s_bool_t u_timqryevent_##tmid(void) MCUCFG_C51USING {return (event ? true : false);} \
s_tasknode_ts u_taskhand_##name; \
const s_timqryhand_ts _CONST_MEM_ u_timqryhand_##tmid = {0x80 | arl, &u_taskhand_##name, u_timqryevent_##tmid}; \
sCSV_CreateTask(name, pri, tss, srt, ntm)
#define dCSV_CreateTask_TimQry(tmid, event, arl, name, pri, tss, srt, ntm) \
s_bool_t u_timqryevent_##tmid(void) MCUCFG_C51USING {return (event ? true : false);} \
s_taskhand_ts u_taskhand_##name; \
const s_timqryhand_ts _CONST_MEM_ u_timqryhand_##tmid = {0x80 | arl, &u_taskhand_##name, u_timqryevent_##tmid}; \
dCSV_CreateTask(name, pri, tss, srt, ntm)
/*
* 创建钩子
*/
/* 创建定时中断钩子 */
#define sCSV_CreateHook_TimInt(tmid, arl, name) \
void name(void); \
const s_timinthand_ts _CONST_MEM_ u_timinthand_##tmid = {0x00 | arl, name}; \
void name(void) MCUCFG_USING
/* 创建定时查询钩子 */
#define sCSV_CreateHook_TimQry(tmid, event, arl, name) \
s_bool_t u_timqryevent_##tmid(void) MCUCFG_C51USING {return (event ? true : false);} \
void name(void); \
const s_timqryhand_ts _CONST_MEM_ u_timqryhand_##tmid = {0x00 | arl, name, u_timqryevent_##tmid}; \
void name(void) MCUCFG_USING
/*
* 互斥信号量
*/
/* 声明 */
#define sCSV_ExternMut(name) \
extern s_mutex_ts name
/* 创建 */
#define sCSV_CreateMut(name) \
s_mutex_ts name = {false, OS_NULL, 0}
/*
* 二值信号量
*/
/* 声明 */
#define sCSV_ExternBin(name) \
extern s_binary_ts name
/* 创建 */
#define sCSV_CreateBin(name, init) \
s_binary_ts name = {init, OS_NULL}
/*
* 计数信号量
*/
/* 声明 */
#define sCSV_ExternSem(name) \
extern s_semaph_ts name
/* 创建 */
#define sCSV_CreateSem(name, init, max) \
s_semaph_ts name = {init, max, OS_NULL}
/*
* 飞信
*/
/* 声明信箱 */
#define sCSV_ExternFetion(name) \
extern s_fetion_ts name
/* 创建信箱 */
#define sCSV_CreateFetion(name) \
s_fetion_ts name = {false, OS_NULL}
/*
* 消息邮箱(必须声明)
*/
/* 声明邮箱 */
#define sCSV_ExternMailbox(name, type) \
typedef struct{ \
volatile s_bool_t gf; \
s_tasknode_tsp node; \
type mail0; \
}u_##name##_ts; \
extern u_##name##_ts name
/* 创建邮箱 */
#define sCSV_CreateMailbox(name) \
u_##name##_ts name
/*
* 消息队列
*/
/* 声明静态消息队列 */
#define sCSV_ExternQueue(name) \
extern ss_queue_ts name
/* 声明动态消息队列 */
#define dCSV_ExternQueue(name) \
extern sd_queue_ts name
/* 创建静态消息队列 */
#define sCSV_CreateQueue(name, mode, len) \
void *u_queue_##name[len]; \
ss_queue_ts name = {0, __STATIC__, mode, len, OS_NULL, true, u_queue_##name, u_queue_##name + len - 1, u_queue_##name}
/* 创建动态消息队列 */
#define dCSV_CreateQueue(name, mode, len) \
sd_queue_ts name = {0, __DYNAMIC__, mode, len, OS_NULL, true, OS_NULL, OS_NULL}
/*
* 事件标志组(必须声明)
*/
/* 声明 */
#define sCSV_ExternFlagGroup(name, bits) \
typedef struct{bits}u_##name##_ts; \
extern volatile u_##name##_ts name
/* 创建 */
#define sCSV_CreateFlagGroup(name) \
volatile u_##name##_ts name
/*
* 线程内存
*/
/* 创建线程内存池 */
#define sCSV_CreateMempool \
s_thrmem_ts u_thrmem = {OS_NULL, OS_NULL, 0}
#endif