COBOT 2.7.3 嵌入式支持

作者:彭婷

COBOT2.7.3新增对嵌入式环境的支持,支持多种嵌入式编译器,用户可选择自己需要的嵌入式编译器,和自定义相关类型的长度,避免了相关误报。

随着电子产品功能和性能的提高,高档嵌入式微处理器在电子设计中的作用变得越来越重要。    C语言作为一种通用的高级语言,大幅度提高了嵌入式系统 工程的工作效率,充分发挥出嵌入式处理器日益提高的性 ,缩短产品进入市场时间。另外,C语言便于移植和修改,使产品的升级和继承更迅速。更重要的是采用C语言编写的程 序易于在不同的开发者之间进行交流,从而促进了嵌入式 系统开发的产业化。

嵌入式环境多种多样不同的芯片要求不同的编译器基本类型所具有的位数也各不相同如果对它们进行统一处理就会造成大量的误报,将真正的错误淹没在误报中,给测试人员和开发人员带来不便。

COBOT2.7.3通过支持不同的编译环境,提供多种的编译器包括gccikerkeilkeil166keil251keil166msvc6borlancosmicaltasking251TI v7.4.8MinGWvs08等。并且提供用户自定义配置基本类型长度,帮助用户配置编译环境,大量减少因嵌入式环境所造成的误报,帮助用户发现真正的bug.

COBOT2.7.3支持的嵌入式规则如下

    

COBOT_10_02

没有使用强制类型转换缩小了整型的范围

COBOT_10_04

潜在扩大了整型的函数返回值的范围

COBOT_10_05

相关类型的值出界

COBOT_10_07

没有使用强制类型转换缩小了浮点型的范围

COBOT_10_09

潜在扩大了浮点型的函数返回值的范围

COBOT_10_24

转换不是相同符号的向更宽整数类型的转换

COBOT_10_32

表达式的值向更窄类型转换

COBOT_12_28

右移丢失了所有的 bits