嵌入式软件 Misra 标准

2023-12-22

我需要使大量代码符合 MISRA 要求。
第一个问题:有人可以给一个估计用于根据经验传递编写良好的嵌入式系统代码。我知道“写得好”的定义不明确且模糊,所以我要求进行原始估计。
第二个问题:对可定制(即允许抑制特定警告)并在自动构建环境(即命令行界面)中使用的工具的任何建议
任何其他可以帮助完成此任务的有用建议。
谢谢伊利亚。


我还强烈推荐 PC-Lint。如果您碰巧使用 Visual Studio 编译代码,我推荐使用 Riverblade 的插件“Visual Lint”。如果无法在 Visual Studio 中编译代码,仍然可以从命令行运行 PC-Lint,效果良好。

某些嵌入式系统编译器提供 MISRA 合规性测试作为编译器警告。我使用IAR编译器进行Arm7/Arm9开发。它在编译器设置中提供了一个易于配置的 MISRA 合规性检查表。

很难想出一条经验法则来估计编写一些符合 MISRA 要求的良好代码所需的时间。很大程度上取决于程序员现有的编码习惯以及他们最初遵循 MISRA 规则的程度。

粗略估计:
2 - 3 天即可熟练掌握 PC-Lint 的使用。
使现有代码符合 MISRA 的初步通过:首先花费 10% 到 25% 的时间编写代码。
保持代码符合 MISRA 标准:代码开发增加 5% 到 10%。其中一半成本用于改变编码员的习惯,以遵循“MISRA 方式”做事。另一半是代码测试和检查的额外成本,以确保 MISRA 合规性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式软件 Misra 标准 的相关文章

  • 将处理后的图形绘制到另一个图形中

    我想将一个经过处理的图形绘制到另一个图形中 I have two graphics var gHead Graphics FromImage h var gBackground Graphics FromImage b Transform
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 在 C++ 中分割大文件

    我正在尝试编写一个程序 该程序接受一个大文件 任何类型 并将其分成许多较小的 块 我想我已经有了基本的想法 但由于某种原因我无法创建超过 12 kb 的块大小 我知道谷歌等上有一些解决方案 但我更感兴趣的是了解这个限制的根源是什么 然后实际
  • 为什么基类必须有一个带有 0 个参数的构造函数?

    这不会编译 namespace Constructor0Args class Base public Base int x class Derived Base class Program static void Main string a
  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 为什么 FTPWebRequest 或 WebRequest 通常不接受 /../ 路径?

    我正在尝试从 ftp Web 服务器自动执行一些上传 下载任务 当我通过客户端甚至通过 Firefox 连接到服务器时 为了访问我的目录 我必须指定如下路径 ftp ftpserver com AB00000 incoming files
  • C# 编译器如何决定发出可重定向的程序集引用?

    NET Compact Framework 引入了可重定向程序集引用 现在用于支持可移植类库 基本上 编译器会发出以下 MSIL assembly extern retargetable mscorlib publickeytoken 7C
  • 如何排列表格中的项目 - MVC3 视图 (Index.cshtml)

    我想使用 ASP NET MVC3 显示特定类型食品样本中存在的不同类型维生素的含量 如何在我的视图 Index cshtml 中显示它 an example 这些是我的代码 table tr th th foreach var m in
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将

随机推荐

  • CPython 源 - 如何构建静态 python26.lib?

    我正在尝试使用 Cython 将 hello pyx 文件编译为 exe 第一步是使用命令 cython cplus embed hello pyx 将 hello pyx 编译为 hello cpp 文件 Embed选项意味着Genera
  • Sublime Text - 选择最后一个增量选择的元素?

    I recently discovered the insanely useful ctrl D functionality in sublime text With a careful eye it s almost as functio
  • AngularJS ng-model 的默认值

    是否可以使 ng models 获得默认值 例如 我有一个使用了 jQuery 的表单serialize函数 每当 a 值不存在时 它仍然会将其包含在序列化数据中 例如 name age 但是 当我使用尝试使用 Angular 发布它时 h
  • Express 3.4.8 照片上传问题-不使用bodyParser()如何解决?

    我在 Gist 的代码 https gist github com yhagio 10654836 https gist github com yhagio 10654836 我是 Express 新手 尝试从 Node js in Act
  • WAMPServer 在 Windows 10 上无法正常工作,“无法执行服务操作”

    最近我从Windows 7 64升级到Windows 10 64 在此之前 我已经让 WAMPServer 运行得很好 但现在它不起作用了 每当我启动它时 我都会使服务器离线 单击 上线 只会弹出 无法执行服务操作 错误 我已经尝试过重新安
  • mapboxgl.js 与 leaflet.js

    我即将启动一个 Web 应用程序 其主要目的是显示 Mapbox 地图 切换图层并根据与地图的交互显示数据 我想知道我应该使用 mapboxgl js 和 leaflet js mapboxgl js 或 leaflet js 每个人都一直
  • 异步下载多个文件并等待所有文件完成,然后再执行其余代码

    我正在尝试从互联网下载多个文件并等待所有文件完成 这是我正在运行的 C 控制台应用程序 因此不需要进度条事件处理程序 然而 即使所有文件尚未下载 它目前也只是继续执行代码 1 下载所有文件 2 完成下载文件A 3 所有文件下载完毕 4 文件
  • 使用 webclient C# 检查 URL 是否为下载链接

    我正在从历史数据库中读取数据 对于读取的每个 URL 我都会下载它并将数据存储到字符串中 我希望能够确定该链接是否是下载链接 即 exe 或 zip 例如我假设我需要阅读标头来确定这一点 但我不知道如何使用 WebClient 来做到这一点
  • 如何使用 DataBinder.Eval 在 gridview 中选中复选框

    我正在尝试检查一个复选框 基本上在我的数据库中该值是否为 1 或 0 一个叫做Active bit not null 我可以将值传递给gridview 但现在我试图检查该位是否为1 或者如果该位为0则不检查但它不起作用 它只是显示未检查但该
  • 自动保存您正在处理的文件?

    可以让 Eclipse 自动保存您已打开和正在处理的文件 并且这样做不会触发任何与保存挂钩的操作吗 Windows gt 首选项 gt 常规 gt 工作区 gt 工作区保存间隔 以分钟为单位 中的选项是否执行此操作 您可以使用智能保存 它是
  • 我可以在 IPAD 中运行 html/Javascript 文件吗?

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个文件夹 其中有一个 html 文件夹和 javascript 文件 我可以在没有互联网的情况下在 ipad 中仅从文件系统运行该 html 页
  • MVC3 AntiForgeryToken 问题

    我正在尝试为我的 MVC3 应用程序实现 AntiForgeryToken 设置 FormAuthentication cookie 后 我遇到 AntiForgeryToken 问题 这是一个解释我的问题的简单示例 我的家庭控制器具有以下
  • apache tomcat catalina 作为 CORS 过滤器的 Maven 依赖项

    我在我的网络应用程序中使用 org apache catalina filters CorsFilter 所以我指定了maven依赖
  • 获取数组类型记录字段的长度

    我正在编写一个包装器用于与外部二进制 API 进行通信 API 使用 PDU 打包二进制记录 进行通信 字符串是 AnsiChar 数组并且以零结尾 type TSomePDU packed record StringField array
  • 如何在java Hibernate中更新主键

    我正在研究 Mvc 架构 我有 pojo 对象 我想更改主键 请你帮帮我 主键是 varchar 前任 Users users usersDao load mark 您永远不应该更改主键的值 主键定义了对象的身份 如果主键已更改 Hiber
  • PHP SOAP客户端调用带参数函数

    我创建了一个 SOAP 客户端 如下所示 client new SoapClient file wsdl 然后当我想调用API函数时 client gt Authenticate user password 我收到以下错误 格式化程序在尝试
  • 如何从 QuickBook(.qbw) 文件中查询一些数据?

    情况 我是 QuickBooks 世界的新手 我有一个 qbw文件 gt 公司名称 qbw 这是一个巨大的文件 几乎包含了有关我公司的所有信息 我要查询some该文件中的数据 不是全部 而是一些 假设我只想查询inventory repor
  • 球体上密度最高的位置

    我在球体表面有很多点 如何计算具有最大点密度的球体的面积 点 我需要非常快地完成这件事 例如 如果这是一个正方形 我想我可以创建一个网格 然后让点投票网格的哪一部分是最好的 我尝试将这些点转换为球面坐标 然后制作网格 这两种方法都效果不佳
  • 媒体播放器/录音机(声子)

    我想开发一个媒体播放器 录音机 主要目标平台是Windows 支持其他操作系统就更好了 但这不是一个高优先级 它应该能够播放 wav mp3 avi 等格式 它还应该能够录制音频 麦克风 和视频 网络摄像头或采集卡 由于我对 QT 和 C
  • 嵌入式软件 Misra 标准

    我需要使大量代码符合 MISRA 要求 第一个问题 有人可以给一个估计用于根据经验传递编写良好的嵌入式系统代码 我知道 写得好 的定义不明确且模糊 所以我要求进行原始估计 第二个问题 对可定制 即允许抑制特定警告 并在自动构建环境 即命令行