3.概述
背景介绍
Huawei LiteOS是轻量级的实时操作系统,是华为IOT OS。
Huawei LiteOS Kernel的基本框架图:
Huawei LiteOS基础内核是最精简的Huawei LiteOS操作系统代码,包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件,可以单独运行。
Huawei LiteOS Kernel的优势
高实时性,高稳定性。
超小内核,基础内核体积可以裁剪至不到10K。
低功耗。
支持动态加载、分散加载。
支持功能静态裁剪。
各模块简介
任务
提供任务的创建、删除、延迟、挂起、恢复等功能,以及锁定和解锁任务调度。支持任务按优先级高低的抢占调度及同优先级时间片轮转调度。
任务同步
- 信号量:支持信号量的创建、删除、申请和释放等功能。
- 互斥锁:支持互斥锁的创建、删除、申请和释放等功能。
硬件相关
提供中断、定时器等功能。
- 中断:提供中断的创建、删除、使能、禁止、请求位的清除等功能。
- 定时器:提供定时器的创建、删除、启动、停止等功能。
IPC通信
提供事件、消息队列功能。
- 事件:支持读事件和写事件功能。
- 消息队列:支持消息队列的创建、删除、发送和接收功能。
时间管理
- 系统时间:系统时间是由定时/计数器产生的输出脉冲触发中断而产生的。
- Tick时间:Tick是操作系统调度的基本时间单位,对应的时长由系统主频及每秒Tick数决定,由用户配置。
- 软件定时器:以Tick为单位的定时器功能,软件定时器的超时处理函数在系统创建的Tick软中断中被调用。
内存管理
- 提供静态内存和动态内存两种算法,支持内存申请、释放。目前支持的内存管理算法有固定大小的BOX算法、动态申请SLAB、DLINK算法。
- 提供内存统计、内存越界检测功能。
支持的核
Huawei LiteOS开源Kernel支持的核
支持的核 | 芯片 |
---|---|
Cortex-M0 | STM32L053R8Tx、ATSAMD21G18A、ATSAMD21J18A、ATSAMR21G18A、EFM32HG322F64、MKL26Z128、MKW41Z512、LPC824M201JHI33、MM32L073PF、nRF51822、NANO130KE3BN |
Cortex-M3 | STM32F103RB、ATSAM4SD32C、EFM32GG990F1024、GD32F103VCT6、GD32150R8、GD32F190R8、GD32F207VC、MM32F103CBT6、MM32L373PS |
Cortex-M4 | STM32F411RE、STM32F412ZG、STM32F429ZI、STM32F429IG、STM32L476RG、EFM32PG1B200F256GM48 、GD32F450IK、CC3220SF、LPC54114j256BD64、nRF52840、nRF52832、NUC472HI8AE、ATSAMG55J19、ADuCM4050LF |
Cortex-M7 | STM32F746ZG、ATSAME70Q21 |
使用约束
- Huawei LiteOS提供一套Huawei LiteOS接口,同时支持CMSIS接口,它们功能一致,但混用CMSIS和Huawei LiteOS接口可能会导致不可预知的错误,例如用CMSIS接口申请信号量,但用Huawei LiteOS接口释放信号量。
- 开发驱动程序只能用Huawei LiteOS的接口,上层APP建议用CMSIS接口。