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