0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是BARR-C

北汇信息POLELINK 2022-11-03 17:21 次阅读

BARR-C是Barr集团的编码标准,旨在减少嵌入式软件中的错误,并引入风格指南以提高可维护性和可移植性。

在这里,我们解释了什么是Barr-C,开发人员如何使用BARR-C:1018检测用C编写的固件中的错误,以及如何将其与MISRA的指南相结合。

什么是BARR-C?

BARR-C是由BarrGroup开发的嵌入式C编码标准,专注于减少软件中的错误数量,同时提高嵌入式软件的可维护性和可移植性。

BARR-C:2018指南分为两大类:

1.处理细分语言的方法,例如避免特定关键字(例如“register”或“continue”)和使用类似于宏的函数。

2.关于编程风格的内容(例如,缩进和命名约定)。

第一类中的一些规则被标记为“零bug...周期”。遵循这些规则将有助于首先防止错误。

为什么BARR-C很重要?

开发嵌入式软件可能具有挑战性,即使使用正确的工具来识别缺陷和合规性问题也是如此。

BARR-C:2018主要旨在最大限度地减少编码错误。因此,BARR-C:2018可以被视为适用于各种项目的C语言子集的第一步。

对于未使用编码标准和静态分析的情况,采用BARR-C:2018是一项重大改进。

如何实现BARR-C合规性?

为了遵守BARR-C:2018,必须执行所有准则。

有几种方法可以检测不合规的代码:例如,非正式代码审查或自动扫描。每条规则都描述了所建议的执行方法。标准中的许多规则都可以使用静态分析工具(如HelixQAC)自动检查。

BARR-C与MISRA有何关系?

设计安全关键型系统的开发人员知道要严格遵守MISRAC:2012指南。符合MISRAC:2012标准可确保嵌入式代码安全可靠。

BARR-C:2018并不是为了与MISRAC:2012竞争而设计的;它们实际上是兼容和互补的。例如,使用MISRA C:2012的项目可以使用BARR-C:2018的编程风格部分来满足MISRA C关于采用和实施一致编码风格的建议。

同样,关键项目最初可以努力实现对BARR-C的遵守,然后顺利过渡到MISRAC的合规性。

为什么使用HelixQAC实现Barr-C合规性

HelixQAC可轻松遵守编码标准和准则,包括MISRA和BARR-C。

亲自了解HelixQAC如何帮助您遵守BARR-C和其他功能安全标准。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4665

    浏览量

    67740
收藏 人收藏

    评论

    相关推荐

    usb-c和type-c哪个好

    在探讨USB-C和Type-C哪个更好的问题时,首先需要明确的是,实际上USB-C和Type-C是 同一种接口 的不同称呼,它们之间没有本质的区别。 USB-
    的头像 发表于 09-02 11:10 212次阅读

    TMS320C5535、C5534、C5533、C5532定点数字信号处理器数据表

    电子发烧友网站提供《TMS320C5535、C5534、C5533、C5532定点数字信号处理器数据表.pdf》资料免费下载
    发表于 08-06 14:20 0次下载
    TMS320<b class='flag-5'>C</b>5535、<b class='flag-5'>C</b>5534、<b class='flag-5'>C</b>5533、<b class='flag-5'>C</b>5532定点数字信号处理器数据表

    C/C++代码动态测试工具VectorCAST插桩功能演示#代码动态测试 #C++

    C++代码
    北汇信息POLELINK
    发布于 :2024年04月18日 11:57:45

    USB-C和TYPE-C有哪些区别

    USB-C和TYPE-C都是现代电子设备中常见的接口类型,它们在外观和功能上具有一定的相似性,但也存在一些区别。本文将从多个方面对USB-C和TYPE-C进行详细比较,以便读者更好地了
    的头像 发表于 04-03 15:33 3666次阅读
    USB-<b class='flag-5'>C</b>和TYPE-<b class='flag-5'>C</b>有哪些区别

    c语言,c++,java,python区别

    C语言、C++、Java和Python是四种常见的编程语言,各有优点和特点。 C语言: C语言是一种面向过程的编程语言。它具有底层的特性,能够对计算机硬件进行直接操作。
    的头像 发表于 02-05 14:11 1335次阅读

    USB–C和type–C一样吗 type-c和usb-c有什么区别

    USB-C和Type-C是同一个东西,它们是互相指代的两个名称,用来描述一种新型的连接器标准。USB-C连接器是由USB Implementers Forum(USB-IF)开发的全新连接器,因其
    的头像 发表于 01-18 09:52 5118次阅读

    USB C和USB Type C的传输性能

    USB-C和USB Type-C是同一种标准,用于连接电子设备和传输数据、音频和视频信号。USB-C是USB Type-C的简称,两者可以互换使用。USB-
    的头像 发表于 01-17 09:18 1908次阅读

    C++简史:C++是如何开始的

    MISRA C++:2023,MISRA® C++ 标准的下一个版本,来了!为了帮助您做好准备,我们介绍了 Perforce 首席技术支持工程师 Frank van den Beuken 博士撰写
    的头像 发表于 01-11 09:00 416次阅读
    <b class='flag-5'>C</b>++简史:<b class='flag-5'>C</b>++是如何开始的

    R8C/L35C 组, R8C/L36C 组, R8C/L38C 组, R8C/L3AC 组 数据表

    R8C/L35C 组, R8C/L36C 组, R8C/L38C 组, R8
    发表于 12-11 18:30 0次下载
    R8<b class='flag-5'>C</b>/L35<b class='flag-5'>C</b> 组, R8<b class='flag-5'>C</b>/L36<b class='flag-5'>C</b> 组, R8<b class='flag-5'>C</b>/L38<b class='flag-5'>C</b> 组, R8<b class='flag-5'>C</b>/L3AC 组 数据表

    usb-c和type-c的区别

    usb-c和type-c的区别  USB-C和Type-C是同一种接口,用于连接电子设备和充电设备。USB-C是该接口的技术规范名称,而Ty
    的头像 发表于 12-08 10:10 7531次阅读

    C语言和C++中那些不同的地方

    C语言虽说经常和C++在一起被大家提起,但可千万不要以为它们是一个东西。现在我们常用的C语言是C89标准,C++是
    的头像 发表于 12-07 14:29 757次阅读
    <b class='flag-5'>C</b>语言和<b class='flag-5'>C</b>++中那些不同的地方

    C200/C210 PCB布线指南

    C200/C210 PCB布线指南
    的头像 发表于 11-30 18:16 570次阅读
    <b class='flag-5'>C</b>200/<b class='flag-5'>C</b>210 PCB布线指南

    c程序的运行环境和运行c程序的方法

    C语言是一种通用的、高效的编程语言,被广泛用于系统开发、嵌入式设备以及科学计算等领域。为了正确运行C程序,我们需要了解C程序的运行环境,并掌握运行C程序的方法。 一、
    的头像 发表于 11-27 16:00 1523次阅读

    如何选择创建c语言和c++

    选择创建 C 语言和 C++ 都需要综合考虑多个因素。在决定使用哪种语言之前,我们需要对这两种语言的特点、优缺点、适用场景、学习成本等进行全面的了解和对比。下面是关于选择创建 C 语言和 C
    的头像 发表于 11-27 15:58 450次阅读

    C++之父新作带你勾勒现代C++地图

    为了帮助大家解决这些痛点问题,让大家领略现代C++之美,掌握其中的精髓,更好地使用C++,C++之父Bjarne Stroustrup坐不住了,他亲自操刀写就了这本《C++之旅》!
    的头像 发表于 10-30 16:35 690次阅读
    <b class='flag-5'>C</b>++之父新作带你勾勒现代<b class='flag-5'>C</b>++地图