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

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

3天内不再提示

embOS的MISRA-C:2012一致性

麦克泰技术 来源:麦克泰技术 2024-08-20 11:35 次阅读

MISRA C是汽车工业软件可靠性协会(MISRA)开发的一套针对C编程语言的软件开发指南,目的是提升嵌入式系统的安全性和可移植性。2012发布的MISRA C第三版,称为MISRA C:2012。MISRA C不能100%确保程序不出问题,但能有效预防编程带来的问题,提升代码的可靠性。

embOS是SEGGER提供的一款抢占式的RTOS,旨在成为开发嵌入式应用程序的基础,可用于所有流行的内核、编译器和开发工具,符合MISRA-C:2012标准。

为了符合MISRA-C:2012标准,

需要做些什么?

MISRA-C:2012的官方文档,在关键系统中使用C语言的指南,解释了为了达到MISRA-C:2012的要求需要做的工作。

MISRA-C:2012定义了一组C编程人员必须遵循的准则。这些准则分为两类,指示(Directives)和规则(Rules)。此外,所有准则分类为强制 (mandatory)、必需 (required)或建议(advisory)。强制准则绝不能被违反。必需或建议类型的准则,可以违反,但每一次违反规定的行为都必须在专门的MISRA文件中进行记录和解释。

大多数准则都可以用静态分析工具进行测试,其他准则可以使用C编译器或手动代码审查来检查。因此,静态分析工具没有报告问题,不意味着C源代码完全符合MISRA-C:2012。专用的MISRA文档是强制性的,MISRA-C:2012官方文件解释了这种文件的结构。

embOS代码的哪部分符合MISRA标准?

一般来说,embOS由三部分组成:

1、通用源代码,对于所有embOS移植都是一样的。

2、内核/编译器特定的源代码。

3、板级支持包文件。

embOS MISRA合规性仅涵盖通用源代码。如果需要内核/编译器特定的移植代码符合MISRA规范,则向SEGGER申请。但通常不检查板支持包文件是否符合MISRA规范。

使用的静态分析工具?

embOS使用的分析工具为PC-lint v9。OS源代码包含了一些MISRA指南的Lint抑制注释,这些有助于分析哪些MISRA- C:2012指南被违反,需要在我们的MISRA文档中解释。必需的和建议型的准则一样,我们需记录并解释违反要求的准则是正确的。

使用其它静态分析工具报告的违规行为,

如何处理?

如果使用的静态分析工具报告违反MISRA-C:2012,并不表明embOS不符合MISRA-C:2012。embOS仅仅没有包含你所选择的静态分析工具的抑制注释。有许多不同的分析工具可用,我们无法在embOS源代码中为所有工具包含相应的注释。

处理这个问题的最简单的方法是禁用项目中所有embOS文件的MISRA检查,没有必要检查embOS文件的合规性,因为SEGGER已经完成了该项工作。

如何获得embOS MISRA-C:2012文件?

如果应用中集成了embOS,并且你需要证明应用符合MISRA-C:2012,则可以从SEGGER购买embOS MISRA-C:2012文件。

麦克泰公司代理SEGGER全线产品,具有丰富的RTOS、中间件、分析软件与调试工具使用方面的知识和经验。

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

    关注

    41

    文章

    3563

    浏览量

    129201
  • 编程语言
    +关注

    关注

    10

    文章

    1937

    浏览量

    34584
  • 代码
    +关注

    关注

    30

    文章

    4741

    浏览量

    68319

原文标题:embOS的MISRA-C:2012一致性

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    c6678cache一致性

    专家您好!    我现在在做6678 cache一致性的东西,想请问一下一致性的维护哪些是硬件实现的,哪些需要程序员实现?谢谢!
    发表于 06-24 04:38

    MIPI一致性测试

    MIPI一致性测试测试项目:> TX测试;> RX测试;> S参数和阻抗测试;> DigRF,Unipro和LLI的测试;测试环境: MIPI测试对示波器带宽的要求 >
    发表于 09-26 13:31

    什么是霍尔元件的一致性

    什么是霍尔元件的一致性?霍尔开关元件主要是通过感应磁性来进行开关机,霍尔元件本身又属于无触点开关,因此具有感应距离。霍尔开关都有个触发值和释放值,触发值是指霍尔元件表面达到参数磁性大小,霍尔元器件
    发表于 10-12 09:34

    顺序一致性和TSO一致性分别是什么?SC和TSO到底哪个好?

    如果是多核心的程序,那么顺序一致性就是,对于任何个核心而言所有核心的内存访问实际执行顺序都和程序指定顺序相同上图中左边是核心C1的程序指定顺序,右边是核心C2的程序指定顺序,中间是实
    发表于 07-19 14:54

    一致性规划研究

    针对一致性规划的高度求解复杂度,分析主流一致性规划器的求解策略,给出影响一致性规划器性能的主要因素:启发信息的有效,信念状态表示方法的紧凑
    发表于 04-06 08:43 12次下载

    CMP中Cache一致性协议的验证

    CMP是处理器体系结构发展的个重要方向,其中Cache一致性问题的验证是CMP设计中的项重要课题。基于MESI一致性协议,本文建立了CMP的Cache
    发表于 07-20 14:18 38次下载

    RFID协议一致性测试系统设计(三)

      在具体实现了RFID协议一致性测试系统之后,我们将可以应用于对RFID单元的实际测试之中,本节以EPC UHF Class 1 Gen 2(也被称为ISO 18000-6 Type C)标准的协议一致性测试为例,来介绍RF
    发表于 03-28 17:37 1280次阅读
    RFID协议<b class='flag-5'>一致性</b>测试系统设计(三)

    软件编程规范(MISRA-C)

    MISRA-C种汽车制造业嵌入式C编码标准。FreeRTOS符合MISRA-C编程规范,就连大名鼎鼎的uCOS也宣称基本符合MISRA-C
    发表于 11-02 18:29 26次下载

    加速器一致性接口

    Zynq PS上的加速器一致性接口(Accelerator Coherency Port, ACP)是个兼容AXI3的64位从机接口,连接到SCU(Snoop Control Unit),为PL
    发表于 11-17 15:04 3591次阅读

    Cache一致性协议优化研究

    问题的由来.总结了多核时代高速缓存一致性协议设计的关键问题,综述了近年来学术界对一致性的研究.从程序访存行为模式、目录组织结构、一致性粒度、一致性协议流量、目录协议的可扩展性等方面,阐
    发表于 12-30 15:04 0次下载
    Cache<b class='flag-5'>一致性</b>协议优化研究

    优化模型的乘偏好关系一致性改进

    针对乘偏好信息下的决策问题,引入乘偏好关系的有序一致性、满意一致性以及一致性指数等概念,建立以偏差变量最小化为目标函数的优化模型,进而构
    发表于 03-20 17:28 0次下载

    如何保证缓存一致性

    “ 本文的参考文章是2022年HOT 34上Intel Rob Blakenship关于CXL缓存一致性篇介绍。”
    的头像 发表于 10-19 17:42 1023次阅读
    如何保证缓存<b class='flag-5'>一致性</b>

    DDR一致性测试的操作步骤

    DDR一致性测试的操作步骤  DDR(双数据率)一致性测试是对DDR内存模块进行测试以确保其性能和可靠。在进行DDR一致性测试时,需要遵循
    的头像 发表于 02-01 16:24 1336次阅读

    深入理解数据备份的关键原则:应用一致性与崩溃一致性的区别

    深入理解数据备份的关键原则:应用一致性与崩溃一致性的区别 在数字化时代,数据备份成为了企业信息安全的核心环节。但在备份过程中,两个关键概念——应用一致性和崩溃一致性,常常被误解或混淆。
    的头像 发表于 03-11 11:29 832次阅读
    深入理解数据备份的关键原则:应用<b class='flag-5'>一致性</b>与崩溃<b class='flag-5'>一致性</b>的区别

    C2000™ MISRA-C策略

    电子发烧友网站提供《C2000™ MISRA-C策略.pdf》资料免费下载
    发表于 10-11 11:43 0次下载
    <b class='flag-5'>C</b>2000™ <b class='flag-5'>MISRA-C</b>策略