【Huawei LiteOS内核解读】二、如何阅读操作系统源码?

    科技2023-10-10  101

    文章目录

    一、写在前面二、环境搭建三、目标计划

    一、写在前面

      在这篇文章,是写在我读操作系统源码之前写的,给后续读源码列一个方向。首先在读源码之前,你要对 LiteOS 操作系统本身有一定的了解,例如 LiteOS 和其他操作系统有什么区别,为什么华为IOT解决方案中使用了 LiteOS 来作为内核,LiteOS 内核实现了什么样的功能,每个功能的接口具体完成了什么样的工作,这些都是需要在读源码之前的理论知识,了解到这些知识之后,你就可以带着一个方向的去看源码。   举个例子,在上一篇文章中写了 LiteOS 是一个实时的轻量级的操作系统,那么它是从哪里表现出它的实时性和轻量级呢?LiteOS 还是一个多任务的操作系统,既然牵扯到多任务,那么他就一定有任务调度处理机制,首先在看任务调度机制源码之前,你就可以先从资料上了解到 LiteOS 中的任务是怎么调度的,了解了之后,带着现成的结论,去阅读源码,这样会让你读起来轻松很多。   既然有了上面的结论,那我们在学习 LiteOS 时,首先应该完成对 LiteOS 内核所提供的基本机制就一定的了解,先了解它是如何运作的,再去看代码的实现。所以后续的文章中,我会通过《理论-源码-实践》这样的方式来完成操作系统内核提供的基本机制。

    二、环境搭建

      既然需要去学习操作系统的基本功能,那么就要对内核提供的基本接口有一定的认知,光通过理论学习是不行的,一定要通过编程实践来证实理论,而且通过这样的方式,也会让你对理论的印象更加深刻!   LiteOS 是一个嵌入式操作系统,既然是嵌入式,那就需要有一个开发板,这里的开发板我选择的是华为出的小熊派,MCU采用的是STM32L431CT6,这个好像是官方推荐的,有了这个开发板,你就可以将自己写好的代码下载到板子中来看现象。这个开发板到淘宝搜索小熊派就可以看到,因为是研究内核,我们只需要一个开发板就行了(198元),其他周边模块暂时用不到,后续有需求了可以单独购买。

      硬件有了的话就可以看软件了,华为提供了IOT Studio,可以用来编辑+编译+烧录,一站式开发的IDE,如果不想下载IDE的话可以下载VScode,这个工具是微软出的,大家也用的比较熟,在VScode中,可以安装IOT LINK studio插件,从目前我使用的情况来看,这个插件的功能和IOT Studio是没是没区别的,依然提供了一站式的功能,如下图所示: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201006214031747.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUwMjk4NjIx,size_16,color_FFFFFF,t_70#pic_center) 在下载完软件后,他会自动的帮你安装一些后续需要调试用的工具JLINK等,还会帮你下载好SDK,在SDK中就会有对各个硬件的适配还有不同内核的适配,我们主要研究LiteOS,如下图:

    对内核的适配: 对开发板的适配:

    三、目标计划

      这个目标计划是给我自己定制的,同时也是我后续文章基本结构,首先我会先完成内核提供的接口阅读并且通过实践来对理论进一步确认,当对内核提供的接口较为熟悉的时候,再去从main函数开始,看LiteOS在开机时完成了怎样的工作。

    Processed: 0.009, SQL: 8