用代码演示嵌入式系统分层结构

本文以控制led闪烁为例。
1 两层结构
硬件层和软件层--最粗糙的分层架构:
2 三层结构
硬件层, 驱动层,应用层:
3 四层结构
硬件层,驱动层,操作系统层,应用层:
从上面的例子可以看出,层次越多,好像系统的代码越多,开发者的工作量越大。实际情况是真的如此吗?其实分层的目的主要1是降低系统开发难度;2是为了复用。
驱动层和中间的操作系统层是可以复用的,产品升级或更新换代的时候,虽然总的代码量是大的,但实际有很多代码是不需要重新开发的,系统开发的工作量相对较小。比如说io口调整了,甚至是整个硬件板子更换了,软件上只要调整驱动即可。
很多大学的嵌入式系统课程中采用的是两层结构,主要的原因是教材中的示例一般比较简单,其主要目的是为了演示如何使用芯片,如何实现某个功能,很少考虑复用的问题。
为了讲清楚其中的操作方法,其代码会尽量简单,即使是实现相对比较复杂的功能可能也只是采用抽象为函数的方法,很少考虑工程的问题,在潜移默化中很多人就以为两层架构就是理所当然的。
具体采用何种分层结构是与产品相关的。比如大家都知道坐飞机是比步行快得,在校园里从上课的教室到休息的宿舍哪一种方式好呢?当然是步行。反之,从南京到北京,采用坐飞机肯定要比步行好(当然,更好的是坐高铁)。
第3种方式似乎代码量是最大的,但是要记住底层是很少改的,所以开发的时候就是写应用,这个代码量有多少?!优势可见一斑!


浅谈新建工程多目标
中国乘用车新车前视摄像头数据月报
夏天必备防晒单品,遮阳帽品牌排行榜请查收
超牛国外GPS无线导航避障谱乐演奏机器人
干货分享:LED显示屏的型号应该怎么选?
用代码演示嵌入式系统分层结构
锂电池铝塑膜冲压成型工艺
编码器脉冲信号丢失怎么处理
2018年开源技术就业报告:Linux编码视为最受欢迎的开源技术
中国广电提出共建互赢5G创新体系的三点建议
中国制造业全面开放惠及全球
工业机器人撬动经济增长 智能新时代渐行渐近
电焊机为什么不会电人
变频器怎么改变伺服电机供电频率
小米终不负众望!小米5c、红米4x今日开抢!
通过了解寄存器的功能与作用去揭秘CPU核心技术
英伟达DRIVE Thor超级芯片首搭极氪新车
微软发布新的Azure功能,进一步推动50亿美元IoT计划
2020年国际半导体设备大厂“集体起舞”
深度解析Linux的内存管理体系