mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-08-20 21:48:28 +08:00
73 lines
4.4 KiB
C
73 lines
4.4 KiB
C
/**************************************************************************//**
|
|
* @item CosyOS-II Kernel
|
|
* @file os_var.c
|
|
* @brief 系统全局变量定义
|
|
* @author 迟凯峰
|
|
* @version V3.1.0
|
|
* @date 2024.11.11
|
|
******************************************************************************/
|
|
|
|
#include "os_redef.h"
|
|
|
|
/* The Soft-RTC */
|
|
#if SYSCFG_SOFTRTC == __ENABLED__
|
|
volatile m_bit_t /*_SYS_MEM_*/ s_sign_rtc = false; /*!< 更新RTC副本信号 */
|
|
volatile s_every_ts _SYS_MEM_ s_sign_every = {0, 0, 0, 0, 0, 0}; /*!< 每信号 */
|
|
s_u8_t _SYS_MEM_ s_rtc[2][7] = {sInitRealTime, sInitRealTime}; /*!< RTC [[0][7]:正本,[1][7]:副本] */
|
|
s_u8_t _SYS_MEM_ s_month2day = 28; /*!< 二月有几天?*/
|
|
const s_u8_t _CONST_MEM_ s_month0day[13] = {31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; /*!< 每月各有几天?*/
|
|
#endif
|
|
/* The Task */
|
|
m_bit_t /*_SYS_MEM_*/ s_sign_return = true; /*!< 返回信号 */
|
|
volatile m_bit_t /*_SYS_MEM_*/ s_sign_schedule = false; /*!< 调度信号 */
|
|
volatile m_bit_t /*_SYS_MEM_*/ s_sign_schedule_all = false; /*!< 完整调度信号 */
|
|
s_u8_t _SYS_MEM_ s_taskcri_counter = 0; /*!< 任务临界区嵌套计数器 */
|
|
s_sharing_t _SYS_MEM_ s_tick_counter = 0; /*!< 系统滴答计数器 */
|
|
s_ecode_t _SYS_MEM_ s_startup_code = OS_ECODE_NOERROR; /*!< 启动任务时,用来异地缓存错误码 */
|
|
s_u8_t _SYS_MEM_ s_task_status0 = OS_STATUS_DELETED; /*!< 被启动任务 -> 初始状态 */
|
|
s_taskhand_tsp _SYS_MEM_ s_task_starter = OS_NULL; /*!< 被启动任务 -> 装载块句柄 */
|
|
s_tasknode_tsp _SYS_MEM_ s_task_current = OS_NULL; /*!< 当前任务句柄 */
|
|
s_tasknode_tsp _SYS_MEM_ s_task_switch = OS_NULL; /*!< 立即切换至某任务 -> 任务句柄 */
|
|
s_tasknode_tsp _SYS_MEM_ s_taskpri_tail = OS_NULL; /*!< 设置任务优先级时 -> 临时链表的尾节点 */
|
|
#if SYSCFG_SAFERUNTIME == __ENABLED__
|
|
s_bool_t s_sign_timeout[OS_TASKTOTAL + 1]; /*!< 超时信号,安全运行时专用 */
|
|
#endif
|
|
#if SYSCFG_TIMESHARINGMODE == 2
|
|
const s_sharing_t _CONST_MEM_ s_time_sharing[SYSCFG_TASKPRIORITY] = {SYSCFG_CUSTOMTIMESHARING}; /*!< 自定义时间片 -> 时间片数组 */
|
|
#endif
|
|
/* The Timing Interrupt */
|
|
#if OS_TIMINTTOTAL
|
|
s_timinthand_tsp s_timint_handle[OS_TIMINTTOTAL]; /*!< 定时中断句柄 */
|
|
#endif
|
|
/* The Timing Query */
|
|
#if OS_TIMQRYTOTAL
|
|
s_timqryhand_tsp s_timqry_handle[OS_TIMQRYTOTAL]; /*!< 定时查询句柄 */
|
|
#endif
|
|
/* The Global Variable Accessor */
|
|
volatile m_bit_t /*_SYS_MEM_*/ s_sign_updatecopy = false; /*!< 更新副本信号 */
|
|
/* The Task Message */
|
|
#if SYSCFG_TASKMSG == __ENABLED__
|
|
volatile m_bit_t /*_SYS_MEM_*/ s_sign_send_taskmsg = false; /*!< 发送私信信号 */
|
|
#endif
|
|
/* The Debug Interface */
|
|
#if SYSCFG_DEBUGGING == __ENABLED__
|
|
volatile m_bit_t /*_SYS_MEM_*/ s_sign_taskmgr = SYSCFG_TASKMGRAUTOSTART;
|
|
volatile m_bit_t /*_SYS_MEM_*/ s_sign_debug_send = false;
|
|
volatile m_bit_t /*_SYS_MEM_*/ s_sign_debug_recv = false;
|
|
volatile s_u8_t _SYS_MEM_ s_debug_sendtype = 0;
|
|
char _XDATA_MEM_ s_debug_recvbuff[OS_DEBUGRECVBUFFSIZE];/*
|
|
char _XDATA_MEM_ s_cmdline_sendbuff[OS_CMDLINESENDBUFFSIZE];*/
|
|
char _XDATA_MEM_ s_taskmgr_sendbuff[OS_TASKMGRSENDBUFFSIZE];
|
|
char _XDATA_MEM_ * _SYS_MEM_ s_debug_recvptr = s_debug_recvbuff;
|
|
char _XDATA_MEM_ * _SYS_MEM_ s_debug_sendptr;
|
|
s_alarm_ts s_alarm = {0, 0, 0, 0, 0, 0};
|
|
s_fault_ts s_fault = {0, 0, 0, 0, 0, 0, 0, 0};
|
|
#if SYSCFG_SYSTICKTIME_COUNT == __ENABLED__
|
|
s_u32_t s_tick_counter1 = 0;
|
|
s_u32_t s_tick_counter2 = 0;
|
|
#endif
|
|
#if SYSCFG_TASKPC_MONITOR == __ENABLED__
|
|
m_pc_t _SYS_MEM_ s_pc = 0;
|
|
#endif
|
|
#endif
|