Merge pull request !350 from lixilun/OpenHarmony_1.0.1_release
LiteOS Cortex-M
Introduction
The OpenHarmony LiteOS Cortex-M is the kernel designed for the lightweight operating system (OS) for the Internet of Things (IoT) field. It features small size, low power consumption, and high performance. In addition, it has a simple code structure, including the minimum kernel function set, kernel abstraction layer, optional components, and project directory, and is divided into the hardware-related and hardware-irrelevant layers. The hardware-related layers provide unified hardware abstraction layer (HAL) interfaces to improve hardware adaptability. The combination and classification of different compilation toolchains and chip architectures meet the requirements of the Artificial Intelligence of Things (AIoT) field for rich hardware and compilation toolchains. Figure1 shows the architecture of the OpenHarmony LiteOS Cortex-M kernel.
Figure 1 Architecture of OpenHarmony the LiteOS Cortex-M kernel

Directory Structure
/kernel/liteos_m
├── components # Optional components
│ ├── cppsupport # C++ support
│ └── cpup # CPU possession (CPUP)
├── kal # Kernel abstraction layer
│ ├── cmsis # CMSIS-compliant API support
│ └── posix # POSIX API support
├── kernel # Minimum function set support
│ ├── arch # Code of the kernel instruction architecture layer
│ │ ├── arm # Code of the ARM32 architecture
│ │ └── include # APIs exposed externally
│ ├── include # APIs exposed externally
│ └── src # Source code of the minimum function set of the kernel
├── targets # Board-level projects
├── utils # Common code
Constraints
Programming languages: C and C++
Currently applicable architectures: Cortex-M3, Cortex-M4, Cortex-M7, and RISC-V
Change Log
v1.0.1
- removed these KAL apis:
KalThreadGetInfo,KalDelayUs,KalTimerCreate,KalTimerStart,KalTimerChange,KalTimerStop,KalTimerDelete,KalTimerIsRunning,KalTickToMs,KalMsToTick,KalGetMemInfo - add some POSIX apis
v1.0
- first release
Repositories Involved
kernel_liteos_m