RTOS
文章平均质量分 75
记录RTOS笔记
juhy...
这个作者很懒,什么都没留下…
展开
-
FreeRTOS任务状态与优先级
当一个任务的时间片完成后,他就会将CPU的当前场景保存下来,也就是CPU各个核心寄存器的值,压入自己的空间,然后另一个任务接管CPU的使用权。在低优先级任务运行时,高优先级的任务总是能够抢占获得CPU的使用权,那在没有其他任务运行时呢,空闲任务就处于运行状态,否则就处于堵塞状态,如果多个任务的优先级相同且处于就绪状态,那么他们就会轮流获得CPU的使用权。3.1 configUSE_TICK_HOOK:是否使用空闲任务的回调函数,若配置为1,则可以利用空闲任务的回调函数,系统空闲时做一些其他的处理;原创 2024-03-03 20:45:36 · 776 阅读 · 0 评论 -
创建基于FreeRTOS的工程
osKernelStart():FreeRTOS的标准接口函数,在函数的内部调用了'' vTaskStartScheduler()"FreeRTOS内部用来启动内核的任务调度器的函数,执行这函数之后FreeRTOS就接管了系统的任务控制权,也就是我们启动或使用了FreeRTOS之后,我们放在while(1)的任务永远也不会执行到,因为while(1)已经不再拥有任务的管理权;11.在NVIC里可以看到中断优先级里的分组策略,只有一个组了,且四位全部用于抢占优先级。9.修改系统system滴答定时器。原创 2024-03-03 15:08:21 · 35 阅读 · 0 评论 -
FreeRTOS消息队列
同时,消息队列还可以调节发送和接收任务之间的速度差异,以平衡任务负载。一个任务只需要关注和发送消息,而不需要知道消息的具体处理细节和目标任务的实现。2.1数据传递:消息队列运行任务之间传递数据,一个任务将数据打包成消息发送到队列,另一个任务则可以从队列中接收该消息并处理其中的数据。xTaskNotify()和ulTaskNotifyTake():用于任务间的通知机制,一个任务可以通知另一个任务进行某种操作;1.添加队列消息的任务,只需要修改函数名称和任务名称即可,其他的参数都保持默认的值;原创 2024-03-05 18:44:59 · 741 阅读 · 0 评论 -
FreeRTOS的文件组成和基本原理
FreeRTOS中主要的变更主要产生在app_FreeRTOS.c中.虽然我们使用Cubemax无需我们自己进行程序的移植和文件组织,但是了解FreeRTOS的文件组成和FreeRTOS的文件功能,对于掌握FreeRTOS的原理和使用还是有帮助的。FreeRTOS的文件组成大致可以分为五类,用户配置.H和程序文件.C。1.信号量:是一个基于队列的任务,信号量操作的函数都是基于宏函数,它的宏函数都是调用队列处理的函数。2.消息缓区:实现的功能也是基于宏函数的,它的宏函数都是基于流缓冲区的函数。原创 2024-03-03 17:03:05 · 356 阅读 · 0 评论