华为LiteOS内核学习

举报
o0龙龙0o 发表于 2020/10/29 13:57:22 2020/10/29
【摘要】 简要介绍LiteOS内核框架及功能

最近在学习华为IOT全栈工程师培训,简要分享一下学习的系统内核知识吧。

        Huawei LiteOS 是华为面向IoT领域,构建的轻量级物联网操作系统,遵循BSD-3开源许可协议,可广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域,大幅降低设备布置及维护成本,有效降低开发门槛、缩短开发周期。2015 年 5 月 20 日,在 2015 华为网络大会上,华为发布最轻量级的物联网操作系统LiteOS。LiteOS开源项目目前支持 ARM Cortex-A核、ARM Cortex-M0,Cortex-M3,Cortex-M4,Cortex-M7 等芯片架构。框架结构如下图:

       

        liteOS不止提供传统嵌入式操作系统提供的内核功能,还挺丰富的中间层组件功能,如互联互通、传感器框架、低功耗框架、AI框架、JS引擎,安全框架,同时还在不断丰富自己的组件功能,同时也欢迎广大开发者共享自己的代码到组件层中        

        软件许可采用BSD 3-Clause License许可进行分享和授权,开发者可以进行自由的剪裁和开发工作,不必为产权问题过分忧心。

        Huawei LiteOS 是华为面向物联网领域开发的一个基于实时内核的轻量级操作系统。基础内核支持任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件,更好地支持低功耗场景,支持 Tickless 机制,支持定时器对齐。内核框架如下图:


任务

提供任务的创建、删除、延迟、挂起、恢复等功能,以及锁定和解锁任务调度。支持任务按优先级高低的抢占调度及同优先级时间片轮转调度。

任务同步

  • 信号量:支持信号量的创建、删除、申请和释放等功能。

  • 互斥锁:支持互斥锁的创建、删除、申请和释放等功能。

硬件相关

  • 提供中断、定时器等功能。

  • 中断:提供中断的创建、删除、使能、禁止、请求位的清除等功能。

  • 定时器:提供定时器的创建、删除、启动、停止等功能。

IPC通信

  • 提供事件、消息队列功能。

  • 事件:支持读事件和写事件功能。

  • 消息队列:支持消息队列的创建、删除、发送和接收功能。

时间管理

  • 系统时间:系统时间是由定时/计数器产生的输出脉冲触发中断而产生的。

  • Tick时间:Tick是操作系统调度的基本时间单位,对应的时长由系统主频及每秒Tick数决定,由用户配置。

  • 软件定时器:以Tick为单位的定时器功能,软件定时器的超时处理函数在系统创建的Tick软中断中被调用。

内存管理

  • 提供静态内存和动态内存两种算法,支持内存申请、释放。目前支持的内存管理算法有固定大小的BOX算法、动态申请SLAB、DLINK算法。

  • 提供内存统计、内存越界检测功能。

Huawei LiteOS Kernel的优势:

高实时性,高稳定性;超小内核,基础内核体积可以裁剪至不到10K;低功耗;支持功能静态裁剪。


  

        

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。