【原创】2021-02嵌入式月刊:登陆火星的F prime飞行软件框架

目录

 

1. 前言

2. F prime的情况简介

2.1 相关网址

2.2 到底是个啥玩意

2.3 代码简单分析

Autocoders

CFDP

Ci

Config

Drv

Fw

Gds

Os

Ref 和 RPI

Utils

3. 结束


1. 前言

        今年2月份最大的科技新闻莫过于有三艘太空飞船先后抵达火星。它们分别是:阿拉伯联合酋长国的“希望”号探测器、我们中国的“天问一号”和美国的“毅力号”火星车。

       “毅力号”不是携带了一辆叫“机智号”小直升机吗?这小飞机里就用了一套专门为小型飞行器设计的开源软件框架F prime。下面就对它做个简单的介绍。(真的非常简单,随便看看,重在科普^_^)

 

2. F prime的情况简介

2.1 相关网址

        https://github.com/nasa/fprime

        https://nasa.github.io/fprime/

 

2.2 到底是个啥玩意

        根据github上的信息,F prime是JPL专门为快速开发小型空间飞行系统而设计的一个软件框架。这里的空间飞行系统是指微型和小型卫星或其它科学仪器。

                 F prime有以下特点:

                        专门为飞行系统的各个部分的开发定义了设计良好的软件接口

                        有一个用c++写的框架,提供消息队列和线程

                        提供一个自动生成代码的建模工具

                        不断丰富的组件包。

                        单元和集成测试工具。

2.3 代码简单分析

        代码下载和编译都参照github来就是,不多说。(推荐去gitee下载,速度快)

        如下图,F prime的源码一共有十多个。我们一个个浏览看大概都有些什么东西。

Autocoders

不用说,这个目录就下面就是自动生成代码的建模工具。其实是用Java写的eclipse插件。看了一下它的说明文档,感觉有点类似于能生成代码的UML建模工具。

 

CFDP

里面就只有一个checksum 类及其测试代码。但有意思的是CFDP这个协议。CFDP 应该是 CCSDS File Delivery Protocol,它是由空间数据系统委员(CCSDS, Consultative Committee for Space Data Systems)制定。它可以说是因为现有TCP/IP不能满足星际空间受限的网络环境而提出来的。(具体怎么受限法,我没详细了解,不过可能与DTN (Delay Tolerant Network) 这种东西有关)。

 

Ci

一个辅助代码管理的小工具,略过。

 

Config

常规目录名,对软件的各个模块进行配置,比如设置某类消息的最大长度等等。

 

Drv

里面有些简单的串口、iic、spi、gpio等设备的驱动,做嵌入式的一看大概就明白是什么。

 

Fw

里面提供了一些算是中间件吧,比如buffer模块,log模块等等。

 

Gds

这个Gds是用python写的一个pc机上的小工具,应该是一个用于测试和监视飞行器状态的小工具。

 

Os

这个就是用c++写的框架,提供消息队列和线程,看起来是可以运行在linux和macos上。不过我也没有编译运行,没有测试过。

 

Ref 和 RPI

这是作者提供的demo。

 

Utils

一些c++工具类

 

3. 结束

         这次就到此为止吧,挺流水账的,其实我没有体会出这个框架有多了不起。可能知识太局限了,也可能人家本来也就没把牛掰的东西往上面放吧。


版权声明
        所有原创文章(未进行特殊标识的均属于原创) 的著作权属于本人
        所有转载文章(标题注明[转]的所有文章) 的著作权属于原作者。
        所有译文文章(标题注明[译]的所有文章) 的原文著作权属于原作者,译文著作权属于本人。

转载注意事项
        除注明外,所有文章均采用 Creative Commons BY-NC-ND 4.0(自由转载-保持署名-非商用-禁止演绎)协议发布。
        你可以在非商业的前提下免费转载,但同时你必须:
        保持文章原文,不作修改。
        明确署名,即至少注明 作者:BoatOnMCU 字样以及文章的原始链接,且不得使用 rel="nofollow" 标记。
        商业用途请电话联系本人。
        微信公众号转载一律不授权,除非联系本人并获得授权。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值