03 2022 档案
摘要:前言 任务调度实现的两个核心: 调度器实现;(上一章节已描述调度基础) 任务切换实现。 接口层实现。 原文:李柱明博客:https://www.cnblogs.com/lizhuming/p/16080202.html 6.1 任务切换基础 任务切换就是在就绪列表中寻找优先级最高的就绪任务,然后去执
阅读全文
摘要:前言 本节主要讲解启动调度器。 这些都是与硬件相关,所以会分两条线走:posix和cortex m3。 原文:李柱明博客:https://www.cnblogs.com/lizhuming/p/16076476.html 5.1 调度器的基本概念 5.1.1 调度器 调度器就是使用相关的调度算法来决
阅读全文
摘要:前言 后面都是已动态内存任务为例来分析。 注意: 由于当前学习是在linux上跑的freertos,对于freertos底层相关接口,从demo工程来看,都是posix标准相关。 鉴于freertos多用于ARM架构,本教程涉及到硬件接口,作者会分两条路线讲解: posix标准接口。 cortex
阅读全文
摘要:前言 资源: https://www.freertos.org/taskandcr.html 李柱明博客 3.1 任务概念 进程:进程是程序执行的过程,是程序在执行过程中分配和管理资源的基本单位。拥有独立的虚拟地址空间。 线程:线程是CPU调度和分派的基本单位。与其它同一进程的线程共享当前进程资源。
阅读全文
摘要:前言 如果对硬件任务内核切换不感兴趣的同学可以跳过。 由于任务源码分析开始涉及到接口层,所以在学习源码前,先了解下posix接口层的设计。 本系列接口层会讲解两个: posix标准接口。因为本教程demo在linux上跑freertos时实际使用的就是这个接口。 cortex m3/m4架构接口。因
阅读全文
摘要:前言 主要是freertos。 为啥突然要写这玩意的笔记? 因为工作需要,所以在空闲时间抽时间写下,这个系列可能随时断更,因为作者在学和在做的主要还是网络协议栈。 特别提示: 有条件的同学们建议使用keil来在线仿真freertos,方便学习,可以直观地看到CPU寄存器组信息、实时栈信息、各个任务详
阅读全文