深入理解ARM体系结构-RTOS任务切换机制详解资源概述:

深入理解ARM体系结构-RTOS任务切换机制详解
深入理解ARM体系结构-RTOS任务切换机制详解

这个课程一共分成四个大的部分,从最基础的概念开始,慢慢带你把手动实现任务切换这件事搞清楚。

第1章 课程简介

这一章就是开个头,主要是让你知道这个课程要讲什么,大概的走向是什么样的。

第2章 基础知识

在真正动手写切换逻辑之前,得先把几个基本概念理清楚。这一章有三节。

第2节讲的是前后台系统和RTOS的区别,这个是比较基础的概念,很多人刚开始接触操作系统的时候容易搞混,这里会用比较简单的方式说清楚它们到底不一样在哪儿。

第3节开始往函数调用的底层走了,讲的是函数调用之后是怎么返回的,这看起来是个很基础的问题,但如果不搞明白,后面做任务切换的时候很容易乱。这节时长13分钟22秒。

第4节继续沿着函数调用往下讲,从多层函数调用里面再返回,这个比单层要复杂一点,也是后面实现任务切换的一个基础。时长12分钟03秒。

第3章 实现任务切换

这一章是整个课程的核心,一共有六节,每一节都是在往前推进一步,把任务切换从最粗糙的方式一步步改造成比较完整的样子。

第5节先从一个最直接的办法开始,就是两个函数相互调用来实现一种伪切换,虽然看起来比较土,但是能让你先直观看到切换是怎么回事。

第6节改用跳转指令来实现切换,比上一节更接近底层,你会看到跳转和函数调用在行为上的区别。时长14分钟37秒。

第7节开始考虑返回地址的问题,把返回地址保存下来,这样任务切换过去之后还能切回来,这一步算是让切换变得有意义了。时长19分钟54秒。

第8节是最长的一节,35分钟49秒,讲的是让每个任务都有自己的栈。这一步做完之后,任务之间才真正隔离开了,不再互相干扰。

第9节是加载内核寄存器的初始值,一个新的任务刚开始跑的时候,寄存器里面不能是随机值,得给它设置好初始状态,这一节就做这个事。时长18分钟00秒。

第10节反过来,讲保存内核寄存器的当前值。任务切走的时候,得把当前的状态保存好,等下次切回来的时候才能接着跑。时长16分钟58秒。

第4章 功能扩展

前面把任务切换的核心逻辑跑通了,这一章开始给它包一层皮,让用起来更方便,也更灵活。一共两节。

第11节封装了一个任务的task结构,把任务相关的信息都放在一个结构体里,管理起来就清晰多了。时长08分钟51秒。

第12节在这个基础上再扩展更多功能,比如支持多个任务之类的,让整个框架更像一个能用的东西。时长13分钟41秒。
整个课程就是这样一步一步来的,每一节都在上一节的基础上加点东西,不是一下子扔给你一个复杂的代码,而是让你看到每一步是怎么演变的。

目录结构:

第1章 课程简介 (3小节)

第1节 课程简介
试看视频07分钟04秒

第2章 基础知识 (3小节)

第2节 前后台系统与RTOS
试看视频08分钟01秒

第3节 函数调用后如何返回
视频13分钟22秒

第4节 从多层函数调用中返回
视频12分钟03秒

第3章 实现任务切换 (6小节)

第5节 相互调用实现任务伪切换
试看视频13分钟34秒

第6节 利用跳转指令实现切换
视频14分钟37秒

第7节 保存返回地址实现任务切换
视频19分钟54秒

第8节 让每个任务都有自己的栈
视频35分钟49秒

第9节 加载内核寄存器的初始值
视频18分钟00秒

第10节 保存内核寄存器的当前值
视频16分钟58秒

第4章 功能扩展 (2小节)

第11节 封装任务的task结构
视频08分钟51秒

第12节 扩展更多功能
视频13分钟41秒

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。