
FreeRtos
无
AD1469
这个作者很懒,什么都没留下…
展开
-
RTOS列表
用来跟踪RTOS中的任务,对就绪挂起阻塞列表进行排序存储。列表插入insert插入依据value值大小。insertend插入依据列表当前指向列表项。列表插入需要两个参数,列表参数,列表项参数。数据结构:由结构体构成的双向链表。2.列表遍历列表项指针。1.列表项用于排序的值。4.列表项属于哪个任务。1.列表中列表项个数。原创 2024-05-15 12:04:20 · 175 阅读 · 1 评论 -
freertos低功耗模式
实现原理:降低CPU时钟频率,改变滴答定时器时钟周期,软件获取下一次阻塞事件,赋值给滴答定时器,保证滴答定时器不会过早打断休眠。代码里还可以设置,休眠时间大于多少进行休眠,如果休眠时间小了效果可能还不如不休眠。freertos采用睡眠模式,可以通过中断及事件唤醒。CPU在未执行指令时,如果开启时钟就会有能量消耗。后面两种直接关闭振荡器。原创 2024-05-12 10:41:11 · 308 阅读 · 0 评论 -
freertos临界区以及任务调度器的打开和关闭
uxSchedulerSuspended变量控制pendsv对应中断控制位,通过该变量控制pendsv不进行中断,转而实现挂起调度器。总结:进入临界区关中断,关闭调度器,只是对pendsv的中断控制位进行控制,对滴答记时器的影响,通过恢复的时候补偿,不影响别的中断。上面四个挂起均是操作basepri寄存器。原创 2024-05-09 16:52:02 · 549 阅读 · 0 评论 -
freertos函数介绍任务挂起恢复阻塞
当任务处于等待或者依赖别的事件时,系统会将该任务置于阻塞状态,如vTaskDelay()时,再就是任务通过阻塞来等待队列、信号量、事件组、通知或信号量 事件,阻塞一般会有阻塞时间。将任务处于暂停状态,若不进行恢复,将一直无法进入运行状态。pxTaskToSuspend:挂起任务的任务句柄。1.参数需要操作的任务的任务句柄。2.挂起状态切换到就绪状态。2.将任务置于阻塞状态。原创 2024-05-09 13:17:43 · 245 阅读 · 0 评论 -
freertos函数介绍任务创建
3.任务栈的大小,单位为字,32位处理器,一个字为四个字节。4.pvParameters 传进任务的参数。4.pvParameters 传进任务的参数。4.任务句柄可以更改任务优先级以及删除任务。3.usStackDepth任务栈的大小。1.pvTaskCode任务函数的地址。1.pvTaskCode任务函数的地址。5.uxPriority任务优先级。1.传进任务的参数为void。1.传进任务的参数为void。2.pcName任务的别名。2.pcName任务的别名。2.返回值为创建的任务句柄。原创 2024-05-09 12:14:56 · 260 阅读 · 0 评论 -
freertos任务调度相关中断
PendSV:PendSV 异常用于任务切换。为了保证操作系统的实时性,除了使用 Systick 的时间片调度,还得加入 PendSV 异常加入。Systick:相同优先级的任务,每隔一个 Systick,运行过的任务被自动排放至该优先级链表的尾部(Freertos任务调度PendSV,Systick,SVC。SVC:FreeRTOS 中 SVC 只在初始时使用了一次。原创 2024-04-26 23:32:22 · 330 阅读 · 2 评论 -
freertos中用到的ARM寄存器
ARM寄存器31个通用寄存器6个状态寄存器通用寄存器:状态寄存器内容来源。原创 2024-04-26 20:27:47 · 274 阅读 · 1 评论 -
freertos临界区
1.临界区,就是在执行的时候,不希望其他程序打断,临界区并不是完全避免打断,临界能力取决于控制中断的寄存器值的配置。2.其他程序:中断或者任务,freertos任务也是通过低优先级中断实现。封装好的,低优先级低于5的可屏蔽寄存器。clear清除屏蔽寄存器结合下面的看。自己设置屏蔽优先级范围。原创 2024-04-24 22:02:55 · 409 阅读 · 0 评论 -
freertos删除任务
2.如果其他任务中删除需要删除的任务,需要使用被删除句柄的指针,删除后不会对该指针赋值为NULL,所以为了防止重复删除造成程序跑飞,可以先判断是否为NULL,条件成立执行删除,然后赋值为NULL。1.如果想删除自己,那么删除的参数需要是NULL,创建的时候可以使用NULL,或者先将句柄赋值为NULL。2.通过创建任务时使用TaskHandle_t,其他任务使用handle实现。1.可以在任务内通过vTaskDelete( NULL );原创 2024-04-24 20:43:12 · 291 阅读 · 0 评论 -
freertos基础知识
freertos基础知识。原创 2024-04-23 22:42:37 · 172 阅读 · 0 评论 -
初识freertos
1.裸机开发轮询代码,只能一个执行完才能执行下一个,断断续续,而RTOS针对多个任务可以实现共同执行。2.裸机开发,针对高优先级中断,哪怕里面有等待,也要执行完才能执行低优先级事情,浪费CPU资源。总结:避免任务多时,出现断断续续的效果。总结:避免空闲等待,提高CPU工作效率。原创 2024-04-16 23:10:18 · 191 阅读 · 0 评论