我们的主要目标是围绕 Flipper 建立一个健康、可持续的社区,因此我们对任何新想法和贡献持开放态度。我们这里也有一些规则和禁忌,因此请仔细阅读本页和我们的行为准则。
搜索答案的最佳位置是我们的用户文档。如果您在那里找不到答案,请检查我们的 Discord 服务器或我们的论坛。如果您想为固件开发做出贡献或根据自己的需要对其进行修改,您还可以查看我们的开发人员文档。
如果您发现问题并想要报告,请查看我们的问题页面。确保描述包含有关您正在使用的固件版本、平台的信息,以及重现问题的步骤的清晰说明。
在打开 PR 之前,请确认您的更改必须包含在固件中。许多想法可以轻松地作为外部应用程序实现并在 Flipper 应用程序目录中发布。如果您不确定,请在 Discord 服务器或问题页面上联系我们,我们将帮助您找到代码的正确位置。
另外,请阅读我们的贡献指南和编码风格,并确保您的代码与我们的项目许可证兼容。
最后,打开 Pull Request 并确保 CI/CD 状态均为绿色。
Flipper Zero 固件是用 C 语言编写的,其中一些部分是用 C++ 和 armv7m 汇编语言编写的。为了轻松编程,建议具备中级 C 知识。 Flipper 应用程序支持 C、C++ 和 armv7m 汇编语言。
固件路线图 Miro Board
支持的开发平台:
支持的在线调试器(可选但强烈推荐):
Flipper 构建系统将处理所有其他依赖项。
确保有足够的空间并克隆源代码:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
使用 Flipper 构建工具构建固件:
./fbt
使用 Flipper 构建工具将您的在线调试器连接到 Flipper 和闪存固件:
./fbt flash
确保您的 Flipper 已打开,并且您的固件正在运行。使用 USB 电缆连接 Flipper 并使用 Flipper Build Tool 刷新固件:
./fbt flash_usb
applications
- 固件中使用的应用程序和服务applications_users
- 存放其他应用程序和服务的地方assets
- 应用程序和服务使用的资产documentation
- 文档生成系统配置和输入文件furi
- Furi Core:操作系统级原语和助手lib
- 我们和第三方库、驱动程序、工具等...site_scons
- 构建系统配置和模块scripts
- 补充脚本和各种 python 库targets
- 固件目标:平台特定代码另外,请参阅这些目录中的ReadMe.md
文件以获取更多详细信息。