• LiteOS-M内核


    简介

           OpenHarmony LiteOS-M内核是面向IoT领域构建的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点,其代码结构简单,主要包括内核最小功能集、内核抽象层、可选组件以及工程目录等,分为硬件相关层以及硬件无关层,硬件相关层提供统一的HAL(Hardware Abstraction Layer)接口,提升硬件易适配性,不同编译工具链和芯片架构的组合分类,满足AIoT类型丰富的硬件和编译工具链的拓展。其架构图如图1所示:

     图 1 OpenHarmony LiteOS-M核内核架构图

    目录结构如下

    /kernel/liteos_m
    ├── arch                 # 内核指令架构层目录
    │   ├── arm              # arm 架构代码
    │   │   ├── arm9         # arm9 架构代码
    │   │   ├── cortex-m3    # cortex-m3架构代码
    │   │   ├── cortex-m33   # cortex-m33架构代码
    │   │   ├── cortex-m4    # cortex-m4架构代码
    │   │   ├── cortex-m7    # cortex-m7架构代码
    │   │   └── include      # arm架构公共头文件目录
    │   ├── csky             # csky架构代码
    │   │   └── v2           # csky v2架构代码
    │   ├── include          # 架构层对外接口存放目录
    │   ├── risc-v           # risc-v 架构
    │   │   ├── nuclei       # 芯来科技risc-v架构代码
    │   │   └── riscv32      # risc-v官方通用架构代码
    │   └── xtensa           # xtensa 架构代码
    │       └── lx6          # xtensa lx6架构代码
    ├── components           # 可选组件
    │   ├── backtrace        # 栈回溯功能
    │   ├── cppsupport       # C++支持
    │   ├── cpup             # CPUP功能
    │   ├── dynlink          # 动态加载与链接
    │   ├── exchook          # 异常钩子
    │   ├── fs               # 文件系统
    │   ├── lmk              # Low memory killer 机制
    │   ├── lms              # Lite memory sanitizer 机制
    │   ├── net              # Network功能
    │   ├── power            # 低功耗管理
    │   ├── shell            # shell功能
    │   └── trace            # trace 工具
    ├── drivers              # 驱动框架Kconfig
    ├── kal                  # 内核抽象层
    │   ├── cmsis            # cmsis标准接口支持
    │   └── posix            # posix标准接口支持
    ├── kernel               # 内核最小功能集支持
    │   ├── include          # 对外接口存放目录
    │   └── src              # 内核最小功能集源码
    ├── targets              # 板级工程目录
    ├── testsuites           # 内核测试用例
    ├── tools                # 内核工具
    ├── utils                # 通用公共目录

    约束

    开发语言:C/C++;

    适用架构:详见目录结构arch层。

    动态加载模块:待加载的共享库需要验签或者限制来源,确保安全性。

    使用说明

    OpenHarmony LiteOS-M内核的编译构建系统是一个基于gn和ninja的组件化构建系统,支持按组件配置、裁剪和拼装,按需构建出定制化的产品。本文主要介绍如何基于gn和ninja编译LiteOS-M工程,GCC+gn、IAR、Keil MDK等编译方式可以参考社区爱好者贡献的站点。

    搭建系统基础环境

    在搭建各个开发板环境前,需要完成OpenHarmony系统基础环境搭建。系统基础环境主要是指OpenHarmony的编译环境和开发环境,详细介绍请参考官方站点开发环境准备。开发者需要根据环境搭建文档完成环境搭建。

    OpenHarmony轻内核编码规范

    Wiki - Gitee.com

  • 相关阅读:
    易语言 5.93静态编译报错
    pytorch C++ 移植
    Kubernetes 应用容器化
    【附源码】计算机毕业设计JAVA政府采购线上招投标平台
    【MicroPython ESP32】machine.Pin类函数以及参数详解
    手部关键点检测1:手部关键点(手部姿势估计)数据集(含下载链接)
    iOS系统崩溃的捕获
    【教学类-07-03】20221106《破译电话号码-2款图形篇+自制(PDF打印)》(大班主题《我要上小学》)
    Fiddler工具使用
    LifeCycle 的使用和原理
  • 原文地址:https://blog.csdn.net/wjffsx/article/details/128175836