diff --git a/Config/mcucfg_cmx.h b/Config/mcucfg_cmx.h index f676f7df..e735881b 100644 --- a/Config/mcucfg_cmx.h +++ b/Config/mcucfg_cmx.h @@ -115,8 +115,11 @@ do{ \ // 方案二、互斥访问机制 // 该方案适用于所有ARM内核,可实现全局不关总中断、零中断延迟。 -// 缺点是在默认情况下,系统会全局占用寄存器r7专用于互斥访问,这使得大部分函数都将无法使用r7。 -// 详情参见相关说明。 +// 缺点是在默认情况下、为提高易用性,系统会自动声明“全局寄存器变量r7”专用于互斥访问,这使得全局所有非库函数都将无法使用r7。 +// 为了追求更好的性能,您可采用手动声明方式: +// 1、注释掉 port_cmx.h 文件中的自动声明; +// 2、把所有调用中断挂起服务_FIFO的中断函数,统一放在一个C文件中,并在该文件中一次性声明全局寄存器变量r7。 +// 如在 stm32f0xx_it.c 文件中,在所有中断函数上方加入 register void **mPendSV_FIFO_Rx __ASM("r7"); // 方案三、关闭总中断 // 该方案适用于所有ARM内核,并具有极短的、确定的关闭总中断时间(包括再次开启总中断在内,不超过10个指令周期)。