1.crazyfly重量仅为19克,拥有72mhz Cortex-M3处理器。在无线芯片上发现了另一个皮质核心。(图片由bitfever提供)。

Ada/SPARK修复疯狂飞行纳米四旋翼

2015年8月25日,
crazyfly四旋翼是一个开源项目,包括硬件。我尝试了一个用Ada的子集SPARK重写控制软件的项目。

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

我刚拿到了Crazyfliequadrotor(图1)Bitcraze.这架飞机是一个开源项目,包括开源硬件。它被设计成一个开发平台,不像大多数其他四旋翼往往是封闭的系统。该软件可以下载,控制应用程序可以在PC上运行。它支持索尼双震控制器。

我查看了crazyfly的清单,并从PS3上拿出了我的索尼控制器。这个系统运行得很好,但我真正得到crazyfly的原因是为了检查Anthony Gracio的SPARK项目(见“如何使用SPARK防止无人机坠毁”.安东尼是一个实习生AdaCore他用Ada的一个子集SPARK重写了控制软件。

控制软件和库是用c++编写的。这并不奇怪,因为C和c++往往是用于像这样最深入嵌入的项目的语言。它们也是从芯片供应商那里获得的典型工具集的一部分圣微电子用于crazyfly的Cortex-M3芯片。

Anthony使用了Adacore的标准工具链,该工具链可以作为开源项目使用。SPARK是为高完整性软件设计的,它提供了一个比大多数采用静态和动态验证的平台要好得多的平台。Adacore还有一个SPARK Pro版本。

Ada和SPARK的一个新特性是契约的概念(参见“Ada 2012:契约的喜悦”-电子设计).它是Ada 2012的一部分,并使用预处理器将最初由SPARK开始的实现形式化。它允许“基于合同的编程”。这是使用指定输入和输出的契约对过程或方法进行注释的地方。这是在Ada固有的范围检查之外的。

将c++代码替换为SPARK代码是一个相对简单的练习。从本质上讲,这与添加c++代码的新版本是一样的。区别在于质量。Anthony发现并纠正了一些由于使用SPARK而导致的错误。SPARK代码在功能上与bug修复是相同的。

我真的很希望看到crazyfly项目切换到SPARK,但我怀疑c++爱好者没有领会这个暗示。在此期间,我希望有机会做一些SPARK编码。

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

从我们的合作伙伴

功率完整性表征信心

价格适合任何预算,WaveSurfer 4000HD有更多的能力,比你想象的分析电力轨道,功率排序,和电源管理…

理解和使用e - stop

问:什么是电子档?如何使用?答:e停止,或紧急停止开关,用于确保机器和人员的安全。他们正在使用……

Gan功率级设计的热考虑

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

GaN基和硅基fet基有源箝位反激变换器的比较

摘自2018年德州仪器电源设计研讨会。SEM2300,话题3。TI文献编号:SLUP380。©2018德州仪器公司…

制作精良的电气外壳的优点

优良的电气外壳的优点由:默里斯洛威克。图1:恶劣环境的户外工业机箱的GEOS线。苏……

声音你的意见!

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

从我们的合作伙伴

功率完整性表征信心

价格适合任何预算,WaveSurfer 4000HD有更多的能力,比你想象的分析电力轨道,功率排序,和电源管理…

理解和使用e - stop

问:什么是电子档?如何使用?答:e停止,或紧急停止开关,用于确保机器和人员的安全。他们正在使用……

Gan功率级设计的热考虑

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

GaN基和硅基fet基有源箝位反激变换器的比较

摘自2018年德州仪器电源设计研讨会。SEM2300,话题3。TI文献编号:SLUP380。©2018德州仪器公司…
Baidu