赞
踩
上一节我们简单的分析了一下 LiteOS-A 内核源码的目录,本节我们看一下 LiteOS-M 的内核源码目录,OpenHarmony LiteOS-M 内核本质上就是一个 RTOS,具有实时操作系统的特性,是面向 IoT 领域构建的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点,其代码结构简单,主要包括内核最小功能集、内核抽象层、可选组件以及工程目录等,开源仓库如下:OpenHarmony / kernel_liteos_m
download 后如下:
下面分析一下目录
arch 存放针对芯片架构的代码文件,展开如下
比如 arm 是针对 arm 核架构的代码,目前支持的 arm 架构有如下几个:
以 m4 为例子,点进去可以看到两个文件夹,分别为 gcc 和 iar,gcc 是针对 gcc 编译器的代码,iar 则是正对 iar 编译器的代码
组件相关目录:
存放驱动框架 Kconfig
内核抽象层,用于提供接口来屏蔽多内核差异,为上层应用提供基础的内核能力,比如提供线程管理、内存管理、文件系统、网络管理、外设管理等功能
需要关注两个接口:
存放内核基本功能源码,目录如下:
include 是对外暴露的头文件
src 存放内核源码
mm 文件夹存放内存分配代码
los_event:事件相关代码
los_init:内核初始化相关代码
los_mux:互斥量相关代码
los_queue:队列相关代码
los_sched:线程调度相关代码
los_sem:信号相关代码
los_sortlink:排序链表的操作代码
los_swtmr:内核定时器相关代码
los_task:线程相关操作代码
los_tick:内核时间戳相关代码
存放一些板级别工程支持目录
存放内核测试案例,如下,各种内核操作的测试样例:
存放一些小工具,比如下面的内存分析小脚本
用来分析工程的内存使用
通用公共目录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。