问题标签 [do178-b]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
language-agnostic - 什么会更有成效?将 VAX PASCAL 转换为 GNU PASCAL 或将其移植到 perl 或其他语言
我有这个遗留代码库(Compaq PERL),大约 1500 行代码,我需要移植到 Windows。我想使用gnu PASCAL(我已经安装并且可以使用)。我已经将我们的汇编程序(HP 64000 8051)从 VAX 上移到了Windows(KEIL 8051)上。
软件工程总监希望所有产品都脱离 VAX。这是问题所在,我尝试使用gpc从 CYGWIN 上的 VAX编译PASCAL。似乎需要做很多事情才能从一个 PASCAL 到另一个获得(IO 和算法)等效性。
我非常了解 PERL、FORTRAN、C 和 C++(还有 JAVA,但我宁愿不)。我的问题归结为 1500 行代码,将 PASCAL 代码移植到另一个 PASCAL 会更有效率,还是将其移植到另一种语言会更有效率?VAX PASCAL 是我在大学时的第一语言,但我已经有 8 年没有主动使用它进行编程了。我经常和专业地使用 PERL、C、C++ 和 FORTRAN。
我会说,就我的选择而言,如果我要转换成另一种语言,那就是 PERL。
代码所做的是对 INTEL hex 和 TEX HEX 图像文件执行填充和校验和。我知道 Srec 1.4 程序可以工作,但这不是一个选择,因为我必须让我的代码符合 DO-178B 的要求(而且我的公司对使用开源代码持谨慎态度)(他们对 open 没有问题源工具;只是代码)。
embedded - 安全关键嵌入式系统中的显示系统资源?
我正在寻找可以回答我以下问题的资源。
- SC ERTS 架构中的显示系统到底适合哪里。
- SC显示系统和普通的有什么区别?
- 硬件和软件在显示系统中扮演什么角色?
我必须为我的课程作业准备一份显示系统的详细调查。请注意,我要求的是参考资料、来源等,而不是实际的答案。
我也很乐意看到肢体的建议和评论。
我已经找到了一些有用的东西:DO 178B 标准,SCADE 显示系统。
c - 嵌入式应用程序中的内存管理资源
我应该如何管理任务关键型嵌入式应用程序中的内存?
我在谷歌上找到了一些文章,但找不到真正有用的实用指南。
禁止DO-178b
动态内存分配,但你将如何管理内存呢?提前预分配所有内容并发送一个指向每个需要分配的函数的指针?在堆栈上分配它?使用全局静态分配器(但它与动态分配非常相似)?
答案的形式可以是常规答案、对资源的引用或对好的开源嵌入式系统的引用。
澄清:这里的问题不是内存管理是否可用于嵌入式系统。但是对于嵌入式系统来说,什么是好的设计,可以最大限度地提高可靠性。
我不明白为什么静态预分配缓冲池并动态获取和删除它与动态分配内存不同。
optimization - “DO-178B A 级”是否禁止优化编译器?
机载系统有“DO-178B”A级和B级认证。它是否禁止使用优化编译器?
例如,一些编译器会重新排序指令以获得更高的性能。DO-178B lev.A 或 lev.B 是否禁止这种重新排序?
大多数现代 CPU 都在硬件中内置了这种重新排序功能。是否允许在 DO-178B lev.A 软件/硬件系统中使用它们?
rhapsody - DO-178 航空电子环境的狂想曲?
有没有人在 DO-178 航空电子设备环境中成功使用过 Rhapsody?也就是说,与 FAA/DER 流程合作,向他们提供工件并让他们获得批准。由于我的理解是 Rhapsody 不是可认证的 MDD 工具,我很好奇是否还有其他缓解因素。
如果你成功了,你采取了哪些步骤来实现这一目标?
感谢您的任何反馈和见解。
svn - DO178-B物镜的SVN
我正在做一个可行性研究,看看是否可以使用 SVN 来维护 DO-178B/C 项目。我见过的大多数 DO178 项目都使用 CVS 或类似的配置管理工具,它们分别维护每个文件的版本(与 SVN 不同)。以下是我的项目所需的配置管理的一些派生目标:
- 对于每个文件,应提供完整的修改历史。
- 应该有办法证明每个版本的文件都经过校对。这要求应该有一种方法可以列出自以前的某个 TAG 以来对特定文件所做的所有修改。
- 对于完成的每项修改,应该可以进行分组,通过该分组我可以确定哪些文件是针对共同需求而修改的。通常,我们在修改历史注释中为每个修改使用一个主题标签。如果相同的主题标签出现在多个文件中,则它们属于同一组。
- 最后,配置索引报告应该可用,其中列出了每个文件修改的摘要,因为一些已经存在的 TAG。通常,此摘要涉及文件的基线版本,然后是此后所做的每次修改,每次修改的主题标签列表,然后是最终版本。
有谁知道我如何使用 SVN,以便我仍然能够向软件审计员提供这些报告。
dead-code - 死代码和停用代码有什么区别?
Dead code
和Deactivated code
as per和有什么不一样DO178-b
?
请提供一些例子来突出差异。
git - 在开发高完整性软件时使用 DVCS
有没有人在开发用于高完整性软件领域的项目时使用分布式版本控制工具(如 Mercurial、Git、Bazaar 等)有任何经验,我在想你是否必须开发航空电子软件,比如说DO-178B标准?
是否有任何规则禁止使用现代 DVCS?
do178-b - DO-178B D 级认证是否需要 RTOS?
具体来说,达到 D 级认证需要哪些目标……这只是“次要”关键性。
我似乎无法在公众中找到任何可以指出 D 级目标的东西。我希望通用操作系统能够满足任何标准。
c - 使用#define 给结构成员起别名
这是一个主观问题,所以我会接受“没有答案”,但请仔细阅读,因为这专门针对代码安全至关重要的系统。
我为安全关键系统采用了一些嵌入式 C 代码,其中原作者(在随机位置)使用了如下语法:
有效地使用#define 来别名和隐藏深层结构成员。大多是两三个,但偶尔也有四个深。顺便说一句:这是一个简单的例子,实际代码要复杂得多,但我不能在这里发布任何部分。
this 的使用并不一致,在某些地方别名变量直接使用其他变量的别名,某些代码部分没有别名。
IMO 这是一种不好的做法,因为它使代码变得模糊而无益,降低了可维护性和可读性,从而导致未来的错误和误解。
如果风格是 100% 一致的,那么也许我会更满意。
然而,作为安全关键的改变是昂贵的。因此,不想解决“不会破产”的问题,我对其他论点持开放态度。
我应该修复它还是不理会它?
是否有任何指南(例如通用 C、MISRA 或 DO178B 样式指南)对此有意见?