XR806-OpenHarmony系统框图
从下到上分别是
内核层(Kernel)
----------系统驱动层(System Driver)
----------系统服务层(System Server)
----------用户层(User Space)
内核层(Kernel)
内核层使用的是OpenHarmony的LiteOS-M。
LiteOS-M内核是面向IoT领域构建的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点。其代码结构简单,主要包括内核最小功能集、内核抽象层、可选组件以及工程目录等。OpenHarmony LiteOS-M内核架构包含硬件相关层以及硬件无关层,其中硬件相关层按不同编译工具链、芯片架构分类,提供统一的HAL(Hardware Abstrac
tion Layer)接口,提升了硬件易适配性,满足AIoT类型丰富的硬件和编译工具链的拓展;其他模块属于硬件无关层,其中基础内核模块提供基础能力,扩展模块提供网络、文件系统等组件能力,还提供错误处理、调测等能力。
系统驱动层(System Driver)
系统驱动层主要提供安全、存储、时钟、音频接口等模块的框架和驱动。
包括:NOR Flash、Trust Zone、Flash Crypto、CE、EFUSE、PSRAM、CCM、PRCM、NVIC、Timer、RTC、WDG、XIP、DMA、Cache、Audio Codec、Smart Card、Cmsis Core、UART、PWM、I2C、I2S、GPIO、IR、SPI、GPADC等。
系统服务层(System server)
系统服务层主要提供系统运行及用户层开发用到的基础系统框架、库和工具等。
作为核心功能,XR806 OpenHarmony SDK提供了完善的BLE协议栈和WiFi协议栈。
BLE部分包括BLE Controller、Link Layer/PHY Driver等。
WiFi部分包括WLAN Control、LMAC driver、UMAC、Supplicant、Hostpad等。
基于WiFi协议栈之上,对常用的网络服务进行了封装和支持,包括:TCP/IP Stack、Web Socket、MQTT、DNS、Mebed TLS、HTTP Client、HTTP Server、iPerf、SNTP、DHCP、Ping、OTA等。
除此之外,还提供了Audio Manager、EFPG、FDCM、CedarX、Reverb、ATCMD、Console、Voice Print、Secure Boot、CJson、PKG等。
在文件系统方面,可以支持FATFS、LittleFS、SPIFS三种不同的文件系统,可以在编译前在make menuconfig中选择编译。
用户层(User Space)
用户层为可供开发者进行应用开发的用户空间 。
SDK中提供了Command、Player APP、Recorder APP、Event Framework、Network Control等基础应用服务。同时开发者可以天马行空,在应用层挥洒创意。