FreeRtos系列
研究FreeRtos内核源码
李华666
这个作者很懒,什么都没留下…
展开
-
内存分配算法
在进行内存分配时,从链首开始顺序查找,直到找到一块分区的大小可以满足需求时,按照该作业的大小,从该分区中分配出内存,将剩下的空闲分区仍然链在空闲分区链中。将空闲分区链中的空闲分区按照空闲分区由小到大的顺序排序,从而形成空闲分区链。分配内存时不是从链首进行查找可以分配 内存的空闲分区,而是从上一次分配内存的空闲分区的下一个分区开始查找,直到找到可以为该进程分配内存的空闲分区;与最佳适应算法刚好相反,将空闲分区链的分区按照从大到小的顺序排序形成空闲分区链,每次查找时只要看第一个空闲分区是否满足即可。原创 2024-09-23 13:35:43 · 233 阅读 · 0 评论 -
FreeRtos任务切换
r14(特殊)/保存的是进入中断后的值,即特殊值0xfffffffd,这里压栈是因为bl vTaskSwitchContext会改变r14的值。r14(特殊)bx r14,处理器变为PSP模式,然后自动出栈r0,r1,r2,13,r14,pc,xPSR,执行中断发生时的指令。r14/保存的是进入中断前的值,可能是函书返回地址。跳转到任务2,执行当前PC指向的指令。更新pxTopOfStack。读取pxTopOfStack。进入PendSV中断。原创 2024-08-09 13:50:57 · 160 阅读 · 0 评论