多联机软件开发中常见错误及MISRA C的应用
多联机软件开发中常见错误及 MISRA C 的应用
商用空调产品功能复杂,运行环境恶劣,尤其对于商用多联机来说,其控制软件可是说是电器
类产品中最复杂的软件之一。 商用多联机控制软件不仅包含整个空调各个运行系统的控制逻辑
而且还包含复杂的多机通讯,同时相同功能的代码需要在不同处理器之间移植。 因此,怎样提
升多联机软件的可靠性、可移植性一直是多联机软件工程师研究的问题。
1 MISRA C 编程规范
MISRA C 是有汽车产业软件可靠性协会 (Motor IndustrySoftware Reliability Association)
(MISRA ) 提 出的 C 语 言开发标准。 其目的是在增进嵌入式系统的安全性以及可移植性
.MISRA C 一开始主要是针对汽车产业, 不过随着对 MISRA C 认可度的提高,其他行业也开
始逐渐使用 MISRA C. 目前大家熟悉的版本是 MISRA C : 2004 版。
MISRA C:2004 包含 141 条规则,其中 121 条强制规则,20 条建议规则。141 条规则分为 21 个
类别,分别为:编程环境相关类规则;语言扩展类规则;文档类规则;字符集规则;标识符规
则;类型规则;常量规则;声明与定义类规则;初始化规则;数值类型转换规则;指针类型转
换规则;表达式规则;控制语句表达式规则;控制流规则;Switch 语句规则;函数类规则;指
针和数组类规则;结构与联合体规则;预处理指令规则;标准库规则;运行时错误规则。
2 多联机软件开发中常见错误以及 MISRA C 的应用
多联机软件开发中常用的错误举例:
2.1 条件遗漏
开发过程中,程序员经常只对符合条件的处理,而遗漏了一些潜在的可能性,即在 if …else
if… 语句中经常忘记增加一个 else 语句,来处理剩余条件。 MISRA C 的第 14.10 规则要求所有
的if…else if… 结构都必须以 else 句子结束,保证所有可能的条件都得到处理。
2.2 表达式的计算顺序
如A = b+++c; 语句, 程序员可能会依据标准 C 编译器的表达式计算顺序来得到预期的值,但
因处理器的 C 编译器和标准 C 编译器并不一定相同,且不同编译器所编译的结果也不尽相
同。 因此这类的表达式可能有不确定的结果,同时也增加了代码移植的难度, MISRA C 的
12.2 规则, 要求表达式在任何情况下求值顺序必须保持一致。 编程过程中尽可能的通过括号
将表达式的计算顺序定好,保证唯一的计算顺序。
2.3 数组越界
多联机外机程序中经常定义一个数组用于存储所有内机的状态信息,通讯接收程序根据接收到
的内机地址来定位对应内机在数组中的位置,如 if (InterDoorData[Address])语句中,Ad-
dress 这个地址变量在特殊情况下可能超出数组定义的最大个数,因此数组访问就有可能越
界。 MISRA C 的21.1 规则,要求采用静态或动态分析工具,对数组越界的错误做出排查,可
以及时发现数组访问越界的情况。
2.4 代码移植过程中易出错
相同功能的代码比如通讯功能的代码、内机自动寻址功能的代码,在不同品牌的处理器之间移
植,经常出现难以发现的错误。 如变量类型定义、局部变量和全局变量重名导致的一些问题。
MISRA C 的一些规则能够有效的保证代码的可移植性,如局部变量不能和全局变量重名;作
用于文件范围内的变量应当定义为 Static 型, 这样避免与其他文件中同名的全局变量冲突;局
部变量在使用之前一定要赋值;移位操作符不应该在有符号变量上使用。
摘要:
展开>>
收起<<
多联机软件开发中常见错误及MISRAC的应用商用空调产品功能复杂,运行环境恶劣,尤其对于商用多联机来说,其控制软件可是说是电器类产品中最复杂的软件之一。商用多联机控制软件不仅包含整个空调各个运行系统的控制逻辑而且还包含复杂的多机通讯,同时相同功能的代码需要在不同处理器之间移植。因此,怎样提升多联机软件的可靠性、可移植性一直是多联机软件工程师研究的问题。1MISRAC编程规范MISRAC是有汽车产业软件可靠性协会(MotorIndustrySoftwareReliabilityAssociation)(MISRA)提出的C语言开发标准。其目的是在增进嵌入式系统的安全性以及可移植性.MISRAC一...
相关推荐
-
材料在西方古典建筑中的运用及表现
2023-05-06 190 -
不同石蜡含量的相变复合材料性能及建筑应用
2023-05-06 194 -
不同气候下相变材料节能效率对比研究
2023-05-06 160 -
不同聚灰比的自密实混凝土性能与改性
2023-05-06 227 -
不同成型工艺对生土材料力学性能和微观结构的作用
2023-05-06 151 -
不定形耐火材料的生产发展及实际应用
2023-05-06 157 -
玻璃纤维增强水泥耐久性提升研究进展
2023-05-06 263 -
玻璃钢的特点及其在建筑领域的运用
2023-05-06 212 -
高层建筑中高性能纤维增强水泥基复合材料的应用
2023-05-06 268 -
新型建筑材料论文(8篇最新范文)
2023-05-13 332
作者:闻远设计
分类:其它行业资料
价格:免费
属性:2 页
大小:13.33KB
格式:DOCX
时间:2024-03-10

