[求助] 问下CMSIS-RTOS2 封装后的freertos中断怎么处理?
想问下CMSIS-RTOS2 封装后的freertos中断怎么处理?ucos 中断有临界区
CMSIS-RTOS2有什么相应的处理吗?
谢谢!
因为CMSIS-RTOS V2延续了之前RTX4的特性,所以没有提供临界区API 因为CMSIS-RTOS V2延续了之前RTX4的特性,内部本身无开关中断操作,所以没有提供临界区API
你使用FreeRTOS版要用的话,直接调用FreeRTOS原始的API即可。
RTX5的话,就跟裸机一样。
谢谢,硬汉! eric2013 发表于 2020-3-17 10:03
因为CMSIS-RTOS V2延续了之前RTX4的特性,内部本身无开关中断操作,所以没有提供临界区API
rtx5这么厉害吗??不用临界区了???
那还是rtos吗 wdliming 发表于 2020-3-17 11:29
rtx5这么厉害吗??不用临界区了???
那还是rtos吗
是的,零中断延迟就是这么来的。 {:8:} eric2013 发表于 2020-3-17 12:52
是的,零中断延迟就是这么来的。
请教下硬汉,如果没有临界区,RTX下如何处理被“中断“和”任务“访问的共享资源呢? wzd5230 发表于 2022-9-6 10:07
请教下硬汉,如果没有临界区,RTX下如何处理被“中断“和”任务“访问的共享资源呢?
原子操作指令
RTX5里面提供的各种原子操作API,可以独立复制出来使用,含MDK,IAR和GCC
https://www.armbbs.cn/forum.php?mod=viewthread&tid=109114&fromuid=58
(出处: 硬汉嵌入式论坛)
eric2013 发表于 2022-9-8 11:48
原子操作指令
RTX5里面提供的各种原子操作API,可以独立复制出来使用,含MDK,IAR和GCC
看了下这个帖子里面提到的API,是对8bit、16bit、32bit变量的一些读写操作,那如果要保护的对象是一个数组、结构体,这种情况下,好像就不太行了。 wzd5230 发表于 2022-9-13 10:20
看了下这个帖子里面提到的API,是对8bit、16bit、32bit变量的一些读写操作,那如果要保护的对象是一个数 ...
没问题,操作数组和结构体的成员即可。 eric2013 发表于 2020-3-17 10:03
因为CMSIS-RTOS V2延续了之前RTX4的特性,内部本身无开关中断操作,所以没有提供临界区API
这个意思是还是需要自己去调用FreeRTOS原始的API吗?并不是说CMSIS-RTOS2已经对于FreeRTOS的需要临界的做了处理? PYL4869 发表于 2022-11-13 17:43
这个意思是还是需要自己去调用FreeRTOS原始的API吗?并不是说CMSIS-RTOS2已经对于FreeRTOS的需要临界的做 ...
内部肯定是做了处理。用户自己的程序就要调用相应的FREERTOS的API了。RTX5没用过,如果封装的是RTX5就要使用原子操作,不知道这么理解对比对? PYL4869 发表于 2022-11-13 17:43
这个意思是还是需要自己去调用FreeRTOS原始的API吗?并不是说CMSIS-RTOS2已经对于FreeRTOS的需要临界的做 ...
我感觉还是要从程序的流程上考虑这种读写冲突。
比如对于关键的外设,变量,只在单一的任务中进行写操作。 其他任务只能发送“写”的要求,具体操作只在单一任务中进行。“读”操作可以多处进行。 如果需要“写-读”同步的话,就需要发送同步的消息处理。
页:
[1]