fx

FreeRTOS交流QQ群-663806972 BLE学习交流群-498676838

0%

在多核CPU中,由于每个核心有自己独立的cpu cache(L1、L2 cache),所以当某个cpu核心修改了自己cache中的目标数据,但未及时同步给其它cpu核心的cache(同样包含目标数据),就会存在缓存一致性问题。
阅读全文 »

本文演示使用event group 来替代二值信号量,在任务和任务间,以及中断服务函数和任务间进行事件同步。
阅读全文 »

事件组(event group)是FreeRTOS 为灵活处理任务间事件同步而提供的组件。相比消息队列或信号量,事件组提供了更灵活的事件同步方式。
阅读全文 »

本文介绍 FreeRTOS 中互斥量(mutex)的优先级继承特性,以及 FreeRTOS 是如何通过互斥量的优先级继承特性,来最小化优先级反转问题带来的负面影响
阅读全文 »

FreeRTOS 为多任务可以,安全地并发访问共享数据,提供了多种数据保护方案。例如,简单直接的关中断;关闭内核调度器;使用信号量。但应用开发最推荐的,是使用FreeRTOS提供的互斥量(mutex)来保护共享数据。
阅读全文 »

FreeRTOS提供的软件定时器,在使用上有几个需要开发者注意的事项。如软件定时器可以识别的基本时间单位,软件定时器服务任务的优先级设置的是否合适,以及软件定时器超时回调函数中不要使用会让当前任务(软件定时器服务任务)进入阻塞态的 FreeRTOS API。
阅读全文 »

cortex-m3/m4的硬件中断是可以嵌套的,即高优先级中断可以抢占正在处理的低优先级中断。在使用FreeRTOS时,该特性仍旧存在,但FreeRTOS为了在并发/并行访问资源的情况下,保护内核中的数据结构不被破坏,通过临界区做了一些限制,这使得并不是所有的高优先级中断都能抢占低优先级中断。
阅读全文 »

CPU 缓存是 CPU 使用的一种硬件缓存,该缓存的存储空间小,但访问速度很快。该缓存中存储的是经常访问的主存数据的副本,目的是为了减少 CPU 访问数据的平均时间成本。
阅读全文 »

与二值信号量相比,计数信号量可以记录事件发生的次数。并且,还可以使用计数信号量对数量有限的资源进行访问管理。
阅读全文 »