promo.gif

向艾达新手学习

2016年12月14日
科技编辑Bill Wong最近担任了“与Ada一起创造”竞赛的评委,他发现了一些有趣的反馈,这将激发嵌入式开发者的兴趣。

> >网站资源
..> >图书馆:TechXchange
. . . .>> TechXchange:嵌入式软件
. . . . . .>>主题:Ada和SPARK

下载本文的。pdf格式
这种文件类型包括高分辨率的图形和原理图(如适用)。

交付一个能够完成设计任务的应用程序是大多数开发人员的目标。实现这一目标的一种方法是使用增强开发过程的工具。使用MISRA编码标准是改进C/ c++开发的一种方法。另一种方法是使用火花, Ada的一个子集,专为安全的应用程序而设计。

当然,使用一种新的编程工具并不是一件轻松的事情。我最近担任的评委之一Adacore的“与艾达一起创造”比赛。法国Issy Les Moulineaux公司的Stephane Carrez凭借一款名为EtherScope的网络流量监控工具获得了冠军。第二名是来自奥斯汀的德国人里维拉(German Rivera),他为NXP杯赛车开发了一款自动驾驶汽车框架。但我想强调的是来自安大略省伦敦的肖恩·诺克(Shawn Nock)获得第三名的反馈,他使用Ada开发了一款蓝牙信标“iBeacon”。

原因是Shawn是一个C程序员,在比赛之前没有使用过Ada。他在博客中写道:“用Ada(一种我不太了解的语言)开发beacon所花的时间与用C开发类似功能所花的时间大致相同,而且我对Ada代码更有信心。”这可以归结为几个简单的因素:

“我觉得艾达的语法很直观。我已经用Python做了大量的工作,所以我发现块表示法和缩进马上就很舒服。与Python不同,Ada保留了分号作为语句分隔符,[使]我感到亲切和模糊。

“我发现在规范文件中起草接口很自然。在C语言中,我养成了在. C文件中同时编写代码和接口的坏习惯,当我的编译器报错时,还会在. C文件中编写头文件。我本可以在C语言中做得更好,但切换到Ada让我清楚地看到了优势。

“更固执的编译器——我已经在我的VCS提交钩子中运行外部测试器和静态分析工具很久了,但是写C有90种方法和上千种工具……让编译器在编译时表达强烈的意见并执行它们可以节省我的时间。从语法检查到样式检查;我发现自己不需要花时间寻找合适的工具来开始编写像样的代码。我认为,在团队中工作时,同意(并执行)一组编译器标志比同意一整个工具生态系统更容易。

“gnat -它是GCC的一部分。这可能是一些嵌入式工程师的缺点…但我喜欢和GCC一起工作。它是一致的,几乎可以在每个平台上使用,维护良好,而且是免费的。使用GNAT,我只需要在我的开发生态系统中添加一个工具,就可以开始使用Ada。

“我没有花任何时间在调试器上。一旦我说服GNAT我的意图在一些相当强烈的编译器标志(-gnatg -gnatp -gnatn2 -gnatwa -gnatQ -gnatw.X);我的软件倾向于Just Work。”

大多数项目的目标是微控制器,比如意法半导体的32位STM32包括Cortex-M4和Cortex-M7解决方案。

这种类型的反馈并不局限于竞争中的个体。我最近主持了Adacore的网络研讨会,“在不倾家荡产的情况下构建高可靠性软件,”在那里,Protean Codes的Rod Chapman谈到了许多使用SPARK的项目。底线是,提出的安全关键项目能够以更少的错误按时完成,从而减少所需的测试量。这降低了项目成本。

静态和动态分析工具被用于C、c++和Java应用程序,以提高代码质量。不幸的是,它们比不上SPARK。出于许多原因,C和c++仍将是嵌入式应用程序的主要工具,但如果您正在寻找这种优势,SPARK可能值得一看。

下载本文的。pdf格式
这种文件类型包括高分辨率的图形和原理图(如适用)。

> >网站资源
..> >图书馆:TechXchange
. . . .>> TechXchange:嵌入式软件
. . . . . .>>主题:Ada和SPARK

从我们的合作伙伴

协同处理器体系结构:一种用于快速成型的嵌入式系统体系结构

2021年7月6日
编者注:尽管它以数字处理性能和吞吐量而闻名,但协处理器体系结构提供了嵌入式系统…

欢迎来到边缘

随着嵌入式网络设备成本的下降——以树莓派为例——它们变得无处不在。但是,这一激增的隐藏成本……

推动绿色交通革命

卡尔-海因茨斯坦梅茨部门总经理汽车动力系统德州仪器。技术的进步进一步使汽车电动化,使新的效率…

物联网设备调试工具和技术的专业指南

2021年3月23日
嵌入式系统的开发,其中软件和硬件必须很好地配合,已经变得极其复杂和具有挑战性,甚至…

Gan功率级设计的热考虑

作者:Serkan Dusmez, Yong Xie, Masoud Beheshti, Paul Brohlin热设计是任何电力电子变换器的重要考虑因素....

适用于恶劣环境的外壳材料

适用于恶劣环境的外壳材料。金属外壳通常不适合高度恶劣的环境……

声音你的意见!

本网站要求您注册或登录后发表评论。
目前还没有任何评论。想开始对话吗?

从我们的合作伙伴

协同处理器体系结构:一种用于快速成型的嵌入式系统体系结构

编者注:尽管它以数字处理性能和吞吐量而闻名,但协处理器体系结构提供了嵌入式系统…

欢迎来到边缘

随着嵌入式网络设备成本的下降——以树莓派为例——它们变得无处不在。但是,这一激增的隐藏成本……

推动绿色交通革命

卡尔-海因茨斯坦梅茨部门总经理汽车动力系统德州仪器。技术的进步进一步使汽车电动化,使新的效率…

物联网设备调试工具和技术的专业指南

嵌入式系统的开发,其中软件和硬件必须很好地配合,已经变得极其复杂和具有挑战性,甚至…

Gan功率级设计的热考虑

作者:Serkan Dusmez, Yong Xie, Masoud Beheshti, Paul Brohlin热设计是任何电力电子变换器的重要考虑因素....
2018beplay

NVIDIA CES 2022特殊地址

2022年1月4日,
MAX-Q是一个笔记本电脑硬件设计框架,另外还有一个新的NVIDIA DRIVE框架。
18beplay下载

4D成像雷达使ADAS更安全

2022年1月4日,
NXP半导体公司的Matthias Feulner展示了该公司的4D成像雷达芯片,以支持2级+ ADAS。
Baidu