fx

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

0%

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

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

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

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

FreeRTOS提供了信号量功能,通过使用信号量,可以实现任务和任务、中断服务函数和任务间的事件/信息同步。本文最后,还解释了为了什么FreeRTOS有两套API分别在中断/非中断环境下使用。
阅读全文 »

FreeRTOS的消息队列模块,不仅提供了通用的消息队列功能,而且还提供了消息队列集合功能。对于需要从多个消息队列中获取数据的场景,FreeRTOS提供的消息队列集合功能,简化了等待多个消息队列有数据的代码编写方式。

阅读全文 »

FreeRTOS提供了一个消息队列模块,通过消息队列,我们可以实现任务和任务间的数据传递;中断服务程序和任务间的数据传递。
阅读全文 »

嵌入式开发中的一个基本共识是,不能在中断处理函数中做耗时的工作。中断函数中应该只处理最紧急的工作,剩下的工作应该放到线程模式(执行普通代码的模式)下运行。FreeRTOS提供的延后执行功能,就是针对这种需求设计的。

阅读全文 »