WQ框架构思
概述
耦合度较低,且代码复用性较强的多平台多板件简易嵌入式框架
框架图
整体框架图如下:
graph TD;
APP-->HAL;
APP-->LIB;
APP-->RTOS;
RTOS-->PLATFORM;
HAL-->BROAD;
BROAD-->HAL
HAL-->PLATFORM;
LIB-->HAL;
APP: 用户代码,主要有两种写法,状态机和多线程。
LIB:软件类库,如AT库,LOG库等存放地,依赖HAL库。
RTOS:实时操作系统,以freeRTOS为主。
HAL:硬件抽象层,参考stm32的hal库,以及安卓的321注册方式。
BROAD:板件操作层,根据不同的情况先调用已经抽象化的HAL库再去注册新的HAL库。采用O3C架构。
PLATFORM:平台层,负责各个芯片平台的驱动,同样采用Q3C架构。
初始化方式
stateDiagram
[*] --> 根据PLATFORM的CONF配置在HAL中初始化,注册硬件
根据PLATFORM的CONF配置在HAL中初始化,注册硬件 --> 通过调用HAL库硬件,来初始化,注册BROAD硬件
通过调用HAL库硬件,来初始化,注册BROAD硬件 --> 初始化RTOS、LIB
初始化RTOS、LIB --> 初始化APP,并运行状态机or线程
初始化APP,并运行状态机or线程 --> [*]
O3C架构
BROAD和PLATFORM采用F3C,即:
CONFIG:配置
CORE:官方核心
CHECK:测试
OPERATE:操作指令
单独PLATFORM可独立测试运行,BROAD测试依赖HAL和PLATFORM层运行。

浙公网安备 33010602011771号