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”。

原因是肖恩是在竞争之前没有使用过ADA的C程序员。“在ADA中开发灯塔(一种我不知道的语言)在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应用程序来提高代码质量。不幸的是,与火花相比,它们差不多。C和C ++将留出嵌入式应用程序的主要工具,因为许多原因,但如果您正在寻找该边缘,则可能值得一看。

下载本文的。pdf格式
此文件类型包括适用时的高分辨率图形和原理图。

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

受欢迎的合作伙伴内容

36 v, 4-A降压电源模块在小5.5 x 5 x 4 mm增强型HotRod™QFN占地面积简单

36 v, 4-A降压电源模块在小5.5 x 5 x 4 mm增强型HotRod™QFN占地面积简单

博客:了解3GPP 5G版16

2020年7月3日,5G新无线电(NR)随着5G标准的第16版发布,达到了一个非常令人兴奋的里程碑。我们将探讨rel的六个关键方面。

UCC25640x半桥LLC评估模块

概述。订购并开始开发。TI的标准条款和条件评估项目适用..技术文档。内容是按“原样”提供的……

设计低EMI电源

由于电子系统变得越来越密集和相互连接,降低了电磁干扰(EMI)的影响正在变得越来越大......

声音你的意见!

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