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, 代码自动生成, 单元测试, 多平台, 太空应用, 嵌入式系统, 建模工具, 开源框架, 持续集成, 数据擦除, 无后门, 正则匹配, 消息队列, 系统架构, 组件驱动, 航天软件, 逆向工具, 集成测试, 飞行软件框架