1. 前言
从事嵌入式开发有一段时间了,最近突然觉得自己写的代码太烂,主要是存在以下几个问题:
(1)不易修改:想到哪写到哪,逻辑混乱且杂糅,变量和接口过多。
(2)不易复用:一些通用的代码,比如AT24x存储的读写,没有考虑分层和兼容。
(3)不易移植:和硬件平台相关的驱动程序杂糅到整个应用。
分析上面几个问题,可以得出结论: 我的项目没有一个好的软件架构!!!
于是本着好好学习,天天向上的态度,研读了几篇相关的文章。总结了一下他人的经验,也添加了一些自己的理解,完成了这篇文章。
2. 系统架构
一般来说,嵌入式系统分为四层结构,自下而上分别为:硬件层、驱动层、操作系统层和应用层。注意,这种分层结构,指得是软硬件系统架构,并非软件架构。为了满足实际开发,我们还需进一步划分软件架构。
3. 软件架构
注意:HAL可以同时给OSL和HDL提供接口,另外OSL有时候也给HDL提供接口。
4. 写在后面的话
以上仅代表我个人的理解, 希望我的分享能够帮助到一些人,同时也希望大家对我理解错误的地方提出批评和指正。
谢谢!!!