diff --git a/Port/Cortex-M/port_cmx.c b/Port/Cortex-M/port_cmx.c index f2f9fb2..ac80c5c 100644 --- a/Port/Cortex-M/port_cmx.c +++ b/Port/Cortex-M/port_cmx.c @@ -3,8 +3,8 @@ * @file port_cmx.c * @brief CMSIS Cortex-M Core Port File * @author 迟凯峰 - * @version V2.2.2 - * @date 2026.01.19 + * @version V2.2.3 + * @date 2026.01.20 ******************************************************************************/ #include "os_var.h" @@ -24,7 +24,7 @@ s_u32_t mPendSV_FIFO_DepthMAX = 0; #endif void *mPendSV_FIFO_0[MCUCFG_PENDSVFIFO_DEPTH + 1]; /*!< FIFO0 */ void *mPendSV_FIFO_1[MCUCFG_PENDSVFIFO_DEPTH + 1]; /*!< FIFO1 */ -volatile bool m_sign_fifo = true; /*!< FIFO 互斥访问锁:入FIFO与出FIFO的互斥 +volatile bool m_sign_fifo[2] = {true, true}; /*!< FIFO 互斥访问锁:入FIFO与出FIFO的互斥 if(m_sign_fifo == true) {中断FIFO服务装载器 入FIFO0,中断FIFO服务处理器 出FIFO1} if(m_sign_fifo == false){中断FIFO服务装载器 入FIFO1,中断FIFO服务处理器 出FIFO0} */ #if (MCUCFG_PENDSVFIFO_MUTEX == 2) /*!< 互斥访问机制 */ @@ -41,7 +41,7 @@ void mPendSV_FIFOHandler(void) __FIFO_0: p = mPendSV_FIFO_0; /* 独占访问FIFO0 */ - m_sign_fifo = false; + m_sign_fifo[1] = false; if(true){ i = (s_u32_t)mPendSV_FIFO_0[0]; mPendSV_FIFO_0[0] = OS_NULL; @@ -73,7 +73,7 @@ void mPendSV_FIFOHandler(void) p = mPendSV_FIFO_1; /* 独占访问FIFO1 */ - m_sign_fifo = true; + m_sign_fifo[1] = true; if(mPendSV_FIFO_1[0]){ i = (s_u32_t)mPendSV_FIFO_1[0]; mPendSV_FIFO_1[0] = OS_NULL;