OpenHarmonyLiteOS-M 源码目录
Posted Top嵌入式
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenHarmonyLiteOS-M 源码目录相关的知识,希望对你有一定的参考价值。
文章目录
【OpenHarmony】LiteOS-M 源码目录
上一节我们简单的分析了一下 LiteOS-A 内核源码的目录,本节我们看一下 LiteOS-M 的内核源码目录,OpenHarmony LiteOS-M 内核本质上就是一个 RTOS,具有实时操作系统的特性,是面向 IoT 领域构建的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点,其代码结构简单,主要包括内核最小功能集、内核抽象层、可选组件以及工程目录等,开源仓库如下:OpenHarmony / kernel_liteos_m
download 后如下:
下面分析一下目录
一、arch
arch 存放针对芯片架构的代码文件,展开如下
比如 arm 是针对 arm 核架构的代码,目前支持的 arm 架构有如下几个:
以 m4 为例子,点进去可以看到两个文件夹,分别为 gcc 和 iar,gcc 是针对 gcc 编译器的代码,iar 则是正对 iar 编译器的代码
二、components
组件相关目录:
- backtrace :栈回溯功能,可以在程序运行出问题时,主动把出问题时的调用栈信息打印出来
- cppsupport:C++支持
- cpup:CPUP 功能,用于查询系统CPU的占用率
- dynlink:动态加载与链接
- exchook:异常钩子,发生异常时调用钩子函数
- fs:文件系统支持
- lmk: Low memory killer 机制
- lms:Lite memory sanitizer 机制
- net:Network 网络功能
- power :低功耗管理
- shell:shell 命令行功能
- trace:trace 调试工具
三、driver
存放驱动框架 Kconfig
四、kal
内核抽象层,用于提供接口来屏蔽多内核差异,为上层应用提供基础的内核能力,比如提供线程管理、内存管理、文件系统、网络管理、外设管理等功能
需要关注两个接口:
- cmsis:提供 cmsis 标准接口支持
- posix:提供 posix 标准接口支持
五、kernel
存放内核基本功能源码,目录如下:
include 是对外暴露的头文件
src 存放内核源码
mm 文件夹存放内存分配代码
los_event:事件相关代码
los_init:内核初始化相关代码
los_mux:互斥量相关代码
los_queue:队列相关代码
los_sched:线程调度相关代码
los_sem:信号相关代码
los_sortlink:排序链表的操作代码
los_swtmr:内核定时器相关代码
los_task:线程相关操作代码
los_tick:内核时间戳相关代码
六、target
存放一些板级别工程支持目录
七、testsuites
存放内核测试案例,如下,各种内核操作的测试样例:
八、tools
存放一些小工具,比如下面的内存分析小脚本
用来分析工程的内存使用
九、utils
通用公共目录
以上是关于OpenHarmonyLiteOS-M 源码目录的主要内容,如果未能解决你的问题,请参考以下文章