
FreeRTOS专题
文章平均质量分 67
嵌入式操作系统
若水千点
这个作者很懒,什么都没留下…
展开
-
RTOS随笔之FreeRTOS启动与同步方法
RTOS原创 2023-02-16 16:31:36 · 963 阅读 · 0 评论 -
RTOS随笔之FreeRTOS
RTOS原创 2023-02-08 15:50:20 · 780 阅读 · 0 评论 -
FreeRTOS基于任务通知的信号量 事件标志组 消息邮箱
FreeRTOS创建的任务都有一个任务控制块。任务控制块本质上是一个结构体变量,用于记录任务的相关的消息。结构体变量中有一个专门用于任务通知的32位变量ulNotifiedValue。ulNotifiedValue可取代计数信号,二值信号,事件标志组特点: 节省内存,提高效率,只有一个任务等待ulNotifiedValue数值进行加一或减一就是计数信号量ulNotifiedValue数值取值0或1就是二值信号量ulNotifiedValue数值按位设置bit0-bit31就是事件标志组任原创 2021-04-28 11:26:50 · 530 阅读 · 0 评论 -
FreeRTOS之软件定时器
软件定时器的时钟节拍来自于系统时钟,不需要硬件定时器外设,软件定时器通过回调函数实现功能。软件定时器的多数API函数是通过消息队列给定时器任务发送数据,在定时器任务里通过回调函数处理数据。不要在定时器回调函数中调用引起任务阻塞或挂起的函数软件定时器API功能TimerHandle_t xTimerCreate( char * const pcTimerName, TickType_t xTimerPeriod, UBaseType_t uxAutoReload, void * co原创 2021-04-26 13:25:34 · 214 阅读 · 0 评论 -
FreeRTOS之事件标志组
事件标志组用于任务间通信或同步事件标志组和全局变量全局变量一般用在无RTOS的程序中,因此程序对全局变量的访问是顺序的,全局变量对于每一个访问它的程序来说都是最新值事件标志组一般用在多任务系统中,多任务使用事件标志组可以防止访问冲突。因为多任务相当于并行执行,访问全局变量可能会出现同时访问一个值的情况,会出现访问冲突或变量不是最新值事件标志组在多任务中可以进行超时等待事件标志组本质上是一个16位或32位的软件状态寄存器。16位的话使用低8位,32位的话使用低24位,每位用0或1表示事件标志。原创 2021-04-26 10:32:02 · 326 阅读 · 1 评论 -
FreeRTOS的重要知识点
系统栈和任务栈系统栈系统栈用于中断函数和中断嵌套系统栈大小在启动文件.S文件中分配系统栈指针为MSP指针任务栈任务栈用于局部变量,函数形参,现场保护及返回地址等任务栈大小在FreeRTOSConfig.h文件定义的heap中分配任务栈指针为PSP指针临界段 调度锁 任务锁 中断锁临界段临界段作用是临界段的代码不允许任何中断打断,即临界段必须一次性执行完成执行临界段关闭了所有中断,因此执行任务切换的PendSV中断和滴答定时器中断也关闭了,任务切换禁止临界段API功能原创 2021-04-25 15:44:28 · 580 阅读 · 0 评论 -
FreeRTOS应用之信号量
信号量何为信号量信号量分类二值信号量计数信号量互斥信号量递归信号量二值信号量原理计数信号量原理互斥信号量信号量控制块信号量相关函数何为信号量信号量是实现任务间通信的机制,用于任务同步或资源互斥访问,常见于出现资源竞争型的任务。信号量分类二值信号量二值信号量用于同步或临界资源访问,没有优先级继承机制,偏向于同步功能。二值信号量可以看作只有一个消息的队列,这个队列只能为有值和无值两种情况。当二值信号量用于同步功能时,信号量创建后为空,任务1获取信号量进入阻塞,任务2触发条件释放信号量,任务1获得信号原创 2020-08-15 16:58:00 · 789 阅读 · 0 评论 -
FreeRTOS应用之消息队列
消息队列何为消息队列队列收发机制队列控制块何为消息队列消息队列是用于任务与任务,中断与任务之间通信的数据结构,具有不定长,异步的特点。消息队列支持先进先出方式,先进入消息队列的消息先传给任务,同时也支持后进先出方式,即往队首发送消息。一个消息队列 = 控制块 + 单个消息空间大小 * 队列长度。消息队列一旦创建无法更改消息空间大小及队列长度,每个消息空间可以存放不大于空间容量的任意数据类型。队列收发机制任务或中断向消息队列发送消息时,队列未满或者允许覆盖,消息将拷贝到队列队尾,否原创 2020-08-07 16:54:39 · 1149 阅读 · 0 评论 -
FreeRTOS应用之任务管理
@TOC任务任务原创 2020-08-04 16:45:02 · 582 阅读 · 0 评论