
FreeRTOS
文章平均质量分 68
裸鸡系统
为之则易,不为则难
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FreeRTOS个人总结【任务调度】
如果这时候Task3执行完了(并不代表以后不执行了,可能是进入到阻塞态挂起态),还剩Task1和Task2两个同等优先级的任务,那么这两个任务轮流执行1Tick,Task1执行1Tick后插入到链表末尾······循环执行。好比是你在家里做饭是A任务,看小孩是B任务,CPU对任务的调度执行是根据任务的状态和优先级来管理的(优先级在上一篇的创建任务函数中设定)。上一篇说的是创建任务时的函数和参数的含义,想要更好的理解任务,我们需要知道任务有哪几种状态;高优先级的任务不停止,低优先级的任务永不执行;原创 2025-02-07 16:45:42 · 310 阅读 · 0 评论 -
FreeRTOS个人总结【汇编知识】
介绍CM3内核一些基础的汇编指令,为后面做铺垫原创 2024-09-24 01:24:47 · 422 阅读 · 0 评论 -
FreeRTOS个人总结【创建任务】
因为进入任务函数时会把该函数的返回地址放在lr(函数返回地址)中,如果该任务没有调用其他函数,则lr的值不用保存在任务栈中,但是一旦该任务中调用了其他函数,那么这个lr寄存器一定会被调用的函数使用,lr的值会被覆盖,所以一旦有函数调用就会把lr的值放入任务栈中存起来。那么任务在切换时需要保存当前cpu寄存器的数据,根据上一节文章末尾提到的保存现场而知,这些数据是需要在内存中申请一片任务栈空间来存储的(虽然叫做栈,但是与栈区的概念不是很一样,该栈是申请出来的,不是局部变量存放的那个栈,所以不要混淆;原创 2024-09-30 21:31:19 · 429 阅读 · 0 评论