nasa/fprime
GitHub: nasa/fprime
NASA 开源的飞行软件框架,专为航天器和嵌入式系统提供组件驱动的快速开发能力。
Stars: 10842 | Forks: 1507
A Flight-Proven, Multi-Platform, Open-Source Flight Software Framework

#
F´ (F Prime) 是一个组件驱动的框架,能够实现航天飞行和其他嵌入式软件应用的快速开发与部署。F´ 最初由 [喷气推进实验室](https://www.jpl.nasa.gov/) 开发,已成功部署于 [多个太空应用](https://fprime.jpl.nasa.gov/overview/projects/)。它专为但不仅限于 CubeSats、SmallSats 和仪器等小型航天系统量身定制。
**请访问 F´ 官方网站:** [https://fprime.jpl.nasa.gov](https://fprime.jpl.nasa.gov/) 获取更多信息。
## F´ 提供了什么
- 一种将飞行软件分解为具有明确接口的独立组件的架构
- 一个提供消息队列和线程等核心功能的 C++ 框架
- 用于指定组件和连接并自动生成代码的建模工具
- 不断增长的可直接使用的组件集合
- 用于在单元和集成级别测试飞行软件的测试工具。
了解更多关于 [F´ 核心特性](https://fprime.jpl.nasa.gov/overview) 的信息。
## 系统要求
以下系统要求适用于开发 F´ 应用程序的工作站。要查看 F´ 应用程序支持运行的平台列表,请参阅 [支持的平台](./docs/user-manual/framework/supported-platforms.md)。
1. Linux、带有 WSL 的 Windows 或 macOS 操作系统
2. [git](https://git-scm.com/)
3. [Python 3.9+](https://www.python.org/downloads/)、[虚拟环境](https://docs.python.org/3/library/venv.html) 和 [PIP](https://pypi.org/project/pip/)
4. [Clang](https://clang.llvm.org/) 或 [GNU C 和 C++ 编译器](https://gcc.gnu.org/)(如 gcc 和 g++)
点击展开:如何验证系统要求
2. `git --version`
3. `python --version` 和 `python -m venv -h`。您的系统可能会使用替代命令,例如 `python3` 或 `python3.13`。对于 pip:`pip --version`。在您的系统上,它可能是 `pip3` 或 `pipx`。
4. `g++ --version` 然后创建、构建并运行一个测试程序。例如,创建一个名为 `hello.cpp` 的文件,内容如下:
#include
int main(void){
std::cout << "Hello, World!" << std::endl;
}
接着构建并运行它,例如:
% g++ -o hi hello.cpp
% ./hi
Hello, World!
## 入门指南
要开始使用 F´,请使用以下命令安装 F´ 引导工具:
```
pip install fprime-bootstrap
```
然后,使用以下命令创建一个新项目:
```
fprime-bootstrap project
```
请参阅 [HelloWorld 教程](https://fprime.jpl.nasa.gov/latest/tutorials-hello-world/docs/hello-world/),它将指导您完成开发 F´ 项目的所有步骤。
鼓励新用户通读 [用户手册](https://fprime.jpl.nasa.gov/latest/docs/user-manual/) 并探索 [其他教程](https://fprime.jpl.nasa.gov/latest/docs/tutorials/)。
## 获取帮助
### 讨论区
如有疑问、探讨改进或寻求帮助,请使用本项目的 [GitHub Discussions](https://github.com/nasa/fprime/discussions)。
### 错误报告
要报告错误和问题,请[在此处开启一个 Issue](https://github.com/nasa/fprime/issues)。
### 社区
[F´ 社区](https://github.com/fprime-community) GitHub 组织包含第三方贡献、更多关于飞行软件开发的文档以及其他资源。
## 资源
- [用户手册](https://fprime.jpl.nasa.gov/latest/docs/user-manual/)
- [教程](https://fprime.jpl.nasa.gov/latest/docs/tutorials/)
- [讨论区](https://github.com/nasa/fprime/discussions)
- [提交 Issue](https://github.com/nasa/fprime/issues)
- [F´ 社区](https://github.com/fprime-community)
## 团队介绍
以下角色的成员属于 CCB,根据我们的[治理](./GOVERNANCE.md)文件,他们在框架内拥有决策权。
| 角色 | 团队成员 |
|-------------------|-----------------|
| 社区经理 | @LeStarch |
| 社区经理 | @thomas-bc |
| 社区经理 | @kevin-f-ortega |
| 安全主管 | @bitWarrior |
| CCB 成员 | @bocchino |
| CCB 成员 | @kevin-f-ortega |
| CCB 成员 | @SterlingPeet |
| CCB 成员 | @timcanham |
| CCB 成员 | @zimri-leisher |
每个产品都有一组维护者,负责在日常工作中落实 CCB 的指导方向,并在产品中具体实现。
| 产品 | 核心维护者 |
|------------------------------|----------------------------|
| F Prime | @LeStarch, @thomas-bc |
| F Prime (v3.6.x 维护) | @SterlingPeet |
| fprime-tools | @thomas-bc, @LeStarch |
| fprime-gds | @thomas-bc, @LeStarch |
| fpp | @bocchino, @Kronos3 |
| F Prime 平台 | @kevin-f-ortega, @LeStarch |
| 安全性 | @bitWarrior |
## 发行说明
与该项目相关的版本历史记录和构件可以在 [Releases](https://github.com/nasa/fprime/releases) 中找到。
标签:C++, Clang, CubeSat, GCC, NASA JPL, Python, SmallSat, 代码自动生成, 单元测试, 多平台, 太空应用, 嵌入式系统, 建模工具, 开源框架, 持续集成, 数据擦除, 无后门, 正则匹配, 消息队列, 系统架构, 组件驱动, 航天软件, 逆向工具, 集成测试, 飞行软件框架