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层运行。

posted @ 2022-10-07 01:37  阿涛在此  阅读(59)  评论(0)    收藏  举报