概述
耦合度较低,且代码复用性较强的多平台多板件简易嵌入式框架
框架图
整体框架图如下:
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层运行。
标签:初始化,HAL,框架,--,BROAD,APP,PLATFORM,构思,WQ From: https://www.cnblogs.com/ataoblog/p/16758984.html