嵌入式硬件构件与底层驱动构件基本规范

嵌入式硬件构件与底层驱动构件基本规范

  • 构件化设计
  • 嵌入式硬件构件
    • 核心构件
    • 中间构件
      • 描述需求接口
      • 描述供给接口
    • 终端构件
  • 嵌入式底层驱动构件
    • 底层驱动构件的规范
  • 底层驱动构件的封装规范
    • 构件设计的基本思想
  • 硬件构件及底层软件构件的重用与移植方法
    • 重用
    • 移植

构件化设计

构件是核心和基础。
复用为必要的手段。
提高软硬件设计可重用性与可移植性。

嵌入式硬件构件

指将一个或多个硬件功能模块,支撑电路及其功能描述封装成一个可重用的硬件实体,并提供一系列规范的输入/输出接口。

核心构件

只有供给接口,没有需求接口。即它只为其他硬件构件提供服务,而不接受服务。
在以单MCU为核心的嵌入式系统中,MCU的硬件最小系统是典型的核心构件。

嵌入式硬件构件与底层驱动构件基本规范_第1张图片

核心构件为某种型号MCU的硬件最小系统。
使用该MCU进行硬件系统设计时,核心构件可以直接组装到系统中,无需改动。
设计核心构件的接口是为其他构件提供服务的,因此接口标识均为接口,接口设计时,所以可能用到的引脚标注上接口网标,若引脚复用,以第一功能选项命名。

中间构件

不仅有需求接口还有供给接口,即不仅能够接受其他构件提供的服务,也可以为其他构件提供服务。

嵌入式硬件构件与底层驱动构件基本规范_第2张图片

描述需求接口

采用接口注释(虚线框内)

描述供给接口

采用接口网标(虚线框外)

终端构件

只有需求接口,只接受其他构件提供的服务。

嵌入式硬件构件与底层驱动构件基本规范_第3张图片

对于核心构件,在应用到具体的系统时,不必做任何改动。
对于中间构件和终端构件,在应用于具体的系统中时,仅需为需求接口添加接口网标,在不同的系统中,接口网标名称不同,但构件实体内部完全相同。

嵌入式底层驱动构件

提高软件设计可重用性与可移植性,必须充分理解和应用软件构件技术。
提高代码质量和生产力的唯一最佳方法就是复用好的代码,软件构件技术是软件复用实现的重要方法。

嵌入式底层驱动构件/驱动构件/硬件驱动构件

直接面向硬件操作的程序代码及使用说明。

底层驱动构件的规范

由头文件(.好)及源程序文件(.从)文件构成,头文件应该是底层驱动构件简明且完备的使用说明,无须查看源程序文件情况下,就可以完全使用该构件进行程序开发。

嵌入式硬件构件与底层驱动构件基本规范_第4张图片

底层驱动构件的封装规范

提高底层驱动构件的可移植性和可复用性。

构件设计的基本思想

当一个底层构件应用到不同系统中时,只需修改构件的头文件,对于构件的源程序文件则不用修改或改动很小。
良好的底层驱动应具备:封装性 描述性 可移植性 可复用性
则应遵循原则为:层次化 易用性 鲁棒性 内存的可靠使用
所以底层驱动构件都包含对构件公共要素的引用。放在工程文件夹中\Common文件夹中的common.h。
common.h包含芯片寄存器映射文件,一位操作宏函数,重定义基本数据类型等。

嵌入式硬件构件与底层驱动构件基本规范_第5张图片
嵌入式硬件构件与底层驱动构件基本规范_第6张图片
嵌入式硬件构件与底层驱动构件基本规范_第7张图片


嵌入式硬件构件与底层驱动构件基本规范_第8张图片
嵌入式硬件构件与底层驱动构件基本规范_第9张图片
嵌入式硬件构件与底层驱动构件基本规范_第10张图片

嵌入式硬件构件与底层驱动构件基本规范_第11张图片

严格禁止使用全局变量

若在底层驱动构件中使用全局变量,其他程序即使不通过构件提供的接口也可以访问到构件内部,对构件的正常工作带来隐患。
从软件工程理论中对封装特性的要求看,也不利于构件设计高内聚、低耦合的要求。
用户与构件交互只能通过服务接口进行,即所以到数据传递都通过函数的形参来接收,而不是使用全局变量。

硬件构件及底层软件构件的重用与移植方法

重用

在一个系统中,同一构件可被重复使用多次

移植

将一个系统中使用到的构件应用到另外一个系统中。

嵌入式技术基础与实践(第4版)

你可能感兴趣的:(嵌入式)