嵌入式软件的层次设计

来源:本站
导读:目前正在解读《嵌入式软件的层次设计》的相关信息,《嵌入式软件的层次设计》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《嵌入式软件的层次设计》的详细说明。
简介:文章主要介绍了嵌入式软件的层次设计

对于ISO网络模型,大家一定不陌生。在实际网络应用中,使用的是网络四层,但结构是相识的。现就借用这个协议来进行四层或三层来进行嵌入式软件设计。

下面提供两种软件分层设计方法:

第一种方法,四层,面结构

第一层物理层

从主芯片MCU角度看整个设计,只看到MCU的引脚,在这一层,我们主要定义mcu对应的引脚。

后缀为_Pin,文件为Mcu_Config_Pin.c,以IIC为例子,那么这里只定义与硬件相连接的引脚。

第二层连接层

从连接的角度看整个设计,看到的是电平变化。

后缀为_Con,24C02_IIC_Con.c以IIC协议为例子,这一层看到电平相对应的引脚是高电平还是低电平。例如什么样的电平是start

什么样的是stop;

第三层逻辑层(适配层)

从逻辑的角度看整个设计,我们看到的是与硬件无关的逻辑结构,例如,数据的流向,是发送还是接收,这一层的设计非常关键。进入这一层以后就是与硬件无关的代码了。

后缀为_Log,24C02_IIC_Log.c,对于IIC来说,即是发送一个字节数据,接收一个字节数据。

第四层应用层

当完成了前面三层的设计,就可以在各种场合应用这里逻辑模块/接口。

后缀为_App,24C02_IIC_App.c ,比如应用IIC接口进行通信,应用IIC接口进行数据存储。

第二种方法,三层,线结构

每一个接口由三个文件组成,分别为:

XXX_Ini.c包括定义和初始化,定义与mcu与相应的模块进行连接,对该模块进行初始化等。

XXX_Lib.c主要是固定不变的的代码,与逻辑层对应。

XXX_App.c应用代码,只与应用有关。

进行程序移植,很多时候只是修改初始化和定义部分的代码,其它的代码修改很少。比如程序扩展更新,会根据应用修改应用层操作,其它层次的修改很少或是根本不用修改。

在整个软件的设计过程中,一定要注意全局变量的使用,不当使用全局变量是导致软件结构混乱的原因之一。

总之,两个设计的原理都一样,只是命名方式和看问题的角度不一样。第一种方法是从一个层面看设计,第二种方法是从一个应用层面看设计。只要层次结构排布好了,就可以很容易进行程序的修改移植和维护。

在小型项目中,分层次的优势很难体现出来;但在一个大型的项目中,当面对错综复杂的关系,分层结构的优势就会很好体现出来。

提醒:《嵌入式软件的层次设计》最后刷新时间 2024-03-14 01:05:29,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《嵌入式软件的层次设计》该内容的真实性请自行鉴别。