嵌入式软件架构设计

  1. 概述

在嵌入式软件开发过程中,良好的架构设计不仅可以实现高内聚,低耦合。还可以方便移植,利于后期维护。本人结合多年嵌入式开发工作经验。把嵌入式软件架构做如下设计。

从上到下,依次为任务层,应用层,功能模块层,硬件驱动层,硬件抽象层。如下图:

2.层功能及调用

每一层的功能如下:

     1. 任务层 -- Task Layer(TL)

       根据项目需求,分配硬件资源,创建任务及任务调度;

     2. 应用层 -- Application Layer(AL)

       根据任务划分,实现各任务的逻辑处理;

     3. 功能模块层 -- Functional Module Layer(FML)

       根据功能划分,实现模块功能;

     4. 硬件驱动层 -- Hardware Drvier Layer(HDL)

       对HAL层封装及外设驱动;

     5. 硬件抽象层 -- Hardware Abstract Layer(HAL)

       内核驱动及寄存器配置

   层调用原则:

  1. 不跨层调用,如TL层不能直接调用FML层;
  2. 原则上下一层不能调用上层接口,如FML层不能调用TL层接口;

  1. 总结

     架构设计应该简单明了,分层太多会导致软件繁琐,太少又达不到分层设计的目的。本人根据多年工作经验及查询各种资料,认为5层是比较合理的。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐