嵌入式软件架构设计
本文提出了一种五层嵌入式软件架构设计方案,自上而下包括任务层(TL)、应用层(AL)、功能模块层(FML)、硬件驱动层(HDL)和硬件抽象层(HAL)。各层分工明确:TL负责任务调度,AL处理任务逻辑,FML实现功能模块,HDL封装硬件驱动,HAL处理底层配置。强调层间调用需遵循不跨层原则,下层不能调用上层接口。作者基于多年经验认为五层架构既避免过度简化又防止过度复杂,是较合理的分层方案。该设计注
嵌入式软件架构设计
- 概述
在嵌入式软件开发过程中,良好的架构设计不仅可以实现高内聚,低耦合。还可以方便移植,利于后期维护。本人结合多年嵌入式开发工作经验。把嵌入式软件架构做如下设计。
从上到下,依次为任务层,应用层,功能模块层,硬件驱动层,硬件抽象层。如下图:
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)
内核驱动及寄存器配置;
层调用原则:
- 不跨层调用,如TL层不能直接调用FML层;
- 原则上下一层不能调用上层接口,如FML层不能调用TL层接口;
- 总结
架构设计应该简单明了,分层太多会导致软件繁琐,太少又达不到分层设计的目的。本人根据多年工作经验及查询各种资料,认为5层是比较合理的。
更多推荐
所有评论(0)