FreeRTOS
文章平均质量分 87
FreeRTOS学习笔记
夏沫の浅雨
arachnid.cc
展开
-
关于 FreeRTOS和 newlib库共存问题
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。目录一、版本二、FreeRTOS 对 newlib 的支持三、当在 FreeRTOS中直接使用 newlib库的 printf/sprintf/snprintf/vsprintf/vsnprintf时出现的问题四、调用 printf/sprintf/snprintf/vsprintf/vsnprintf的线程安全处理一、版本以下说明仅对于:1原创 2021-10-23 23:03:20 · 5264 阅读 · 0 评论 -
FreeRTOS篇章之任务通知
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。一、任务通知的特性通过任务通知,无需单独的通信对象,任务就可以与其他任务进行交互,以及与 ISR 同步。通过使用任务通知,任务或 ISR 可以直接向接收任务发送事件。任务通知可以通过以下几种方式更新接收任务的通知值:直接设置而不用覆写接收任务的通知值 覆写接收任务的通知值 设置接收任务通知值的一个或多个 bit位 增加接收任务.原创 2021-01-25 22:00:14 · 2781 阅读 · 1 评论 -
FreeRTOS篇章之杂谈篇
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。RTOS一般分为两大类:事件驱动型和时间触发型事件驱动型:根据优先级等级的抢占式任务调度时间触发型:按照规定好的时间进行时间片轮转调度任务1、FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRTOS内核同时支持轮转调度算法,系统允许不同的任原创 2020-06-02 14:47:16 · 447 阅读 · 0 评论 -
FreeRTOS篇章之事件位和事件组
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。一、事件位(或标志)与事件组事件位:用于指示事件是否发生;事件位通常称为事件标志。事件组:是一组事件位;事件组中的各个事件位由位号引用(即每一 bit代表某个事件)二、事件组和事件位数据类型事件组由 Eve...原创 2020-03-02 21:37:43 · 881 阅读 · 0 评论 -
FreeRTOS篇章之临界区与调度器
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。目录一、临界区简述二、临界区特性三、调度器四、xTaskResumeAll() API 函数一、临界区简述基本临界区是指宏 taskENTER_CRITICAL()与 taskEXIT_CRITICAL(...原创 2020-02-25 16:23:59 · 2492 阅读 · 0 评论 -
FreeRTOS篇章之互斥量
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。一、与二值量区别及应用互斥量是一种特殊的二值信号量,用于控制在两个或多个任务间访问共享资源在用于互斥的场合,互斥量从概念上可看作是与共享资源关联的令牌。一个任务想要合法地访问资源,其必须先成功地得到(Take)该资源对应的令牌...原创 2020-02-25 15:06:37 · 3118 阅读 · 0 评论 -
FreeRTOS篇章之二值信号量
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。一、采用二值信号量同步(延迟中断处理)二值信号量可以在某个特殊的中断发生时,让任务解除阻塞,相当于让任务与中断同步。这样就可以让中断事件处理量大的工作在同步任务中完成,中断服务例程 (ISR)中只是快速处理少部份工作在这...原创 2020-02-23 11:57:35 · 1925 阅读 · 0 评论 -
FreeRTOS篇章之队列管理
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。一、队列特性队列可以保存有限个具有确定长度的数据单元。队列可以保存的最大单元数目被称为队列的 “ 深度 ” ;在队列创建时需要设定其深度和每个单元的大小通常情况下,队列被作为 FIFO(先进先出)使用,即数据由队列尾写入,从队...原创 2020-02-20 14:19:20 · 807 阅读 · 0 评论 -
FreeRTOS篇章之任务管理
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。一、任务创建xTaskCreate() API 函数原型实现:#if( configSUPPORT_DYNAMIC_ALLOCATION == 1 ) BaseType_t xTaskCreate( TaskFuncti...原创 2020-02-17 18:07:18 · 614 阅读 · 0 评论 -
FreeRTOS篇章之 FreeRTOSConfig.h分析
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。一、移植修改在FreeRTOS篇章之系统移植中,我们有把FreeRTOSv9.0.0\FreeRTOS\Demo\CORTEX_STM32F103_Keil路径下的 FreeRTOSConfig.h文件复制到我们用户可修改...原创 2020-02-17 15:51:45 · 1221 阅读 · 0 评论 -
FreeRTOS篇章之 heap堆内存分配分析
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。一、FreeRTOS内存分配选择在FreeRTOS中,可以用静态(不使用 FreeRTOS堆)或动态来分配 RTOS的对象;因此 FreeRTOS中提供了 5种堆管理方案,这些方案的复杂性和功能使得它的使用范围广泛,当然...原创 2020-02-15 20:35:03 · 3819 阅读 · 0 评论 -
FreeRTOS篇章之系统移植
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。在移植之前,首先说明一下,该篇章,包括之后的文章都是建立在 CM-3处理器上(用之前写 STM32笔记的 STM32F103VET6),并且是用 FreeRTOS的 V9.0.0版本的核心文件进行移植,我们只需要把原有的 ST...原创 2020-02-13 16:09:38 · 387 阅读 · 0 评论 -
FreeRTOS篇章之官方源码文档分析
写在前面:本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。FreeRTOS官网:https://www.freertos.org/index.html一、V9.0.0源码版本获取1、官方托管在 SVN的源代码链接:https://sourceforge.net/...原创 2020-02-12 20:55:10 · 906 阅读 · 0 评论