全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

嵌入式软件架构的设计中分类整理

时间:2022-08-18 11:47

人气:

作者:admin

标签: 软件架构  单片机  嵌入式 

导读:最近项目有点多,总结一下目前接触的软件架构中的几个分类,个人拙见,大家可以相互学习。...

最近项目有点多,总结一下目前接触的软件架构中的几个分类,个人拙见,大家可以相互学习。

1. 分层设计

分层设计,就是把整个流程要做的事情按照模块化各自的特征,进行功能的分层,是和硬件寄存器打交道的,还是完全脱离硬件和业务打交道的。

一般来说,个人总结有几个原则:接口是上下级调用,很少跨层调用。即第4层的代码一般不会直接去第1/2层调用接口,非要用的话,就从第3层透传封装一下。同层级的模块间尽量避免相互调用,需要的数据都是通过高一层的接口获取再下传

MCU程序:单片机程序就是一个程序驱动硬件,实现一个具体功能,代码特点就是从底到高,基本所有层都会涉及,所以对单片机程序进行分层,相对来说会比较完整。5层软件架构

1.硬件驱动层

2.功能模块层

3.应用接口层

4.业务逻辑层

5.应用层

6层软件架构

1.HAL硬件抽象层

2.OSL操作系统

3.HDL硬件驱动层

4.FML功能模块层

5.BLL业务逻辑层

6.APL应用层

pYYBAGL9tT6AaFhHAAGVg09cGE8495.png

功能模块层是按照项目需求提取出来的功能,需要硬件抽象层和硬件驱动层的硬件支持才能实现,功能模块层根据项目的功能需求改变而改变,而硬件抽象层和硬件驱动层则是项目需求书中的功耗等硬件相关的需求变动而改变,当然,若子功能的增加而硬件不支持,则也需更换硬件驱动。比如项目中的数据储存功能,硬件支持有AT24C02、W25Q128和芯片本身的FLASH,都可以支持数据储存功能,即使后期因为功耗或节约成本等问题,硬件的更换也不影响数据储存功能的实现(前提规划好标准规范的API函数定义)且避免了重写该功能代码所带来的各种问题,保证了该功能的稳定性。

裸机上跑操作系统需要考虑系统调度间的问题,内存消耗,内存践踏,内存泄漏,看门狗喂狗等操作。

审核编辑:汤梓红

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信