
flipperzero-firmware v1.5.0-rc
Flipper Zero 固件源代码
Flipper Zero 固件
- Flipper Zero 官方网站 - 向朋友介绍 Flipper Zero 功能的最简单方式。
- Flipper Zero 固件更新 - 让你的海豚更强大:最新固件版本、PC 和移动设备升级工具。
- 用户文档 - 了解更多关于你的海豚:规格、使用指南,以及你想问的任何问题。
- 开发者文档 - 深入探索 Flipper Zero 固件源代码:构建系统、固件结构等。
贡献
我们的主要目标是围绕 Flipper 建立一个健康、可持续的社区,因此我们欢迎任何新想法和贡献。不过这里也有一定的规则和禁忌,请仔细阅读本页和我们的行为准则。
我需要帮助
查找答案的最佳地点是我们的用户文档。如果在那里找不到答案,可以查看我们的 Discord 服务器。如果你想为固件开发做贡献,或根据自己的需求修改固件,也可以查看我们的开发者文档。
我想报告问题
如果你发现了问题并希望上报,请查看我们的 Issues 页面。请确保描述中包含你使用的固件版本、平台信息,以及清晰的问题复现步骤。
我想提出新功能
如果你有功能需求,或想为已有的需求投票,请使用 Discussions,并遵守我们的讨论指南。
我想贡献代码
在提出 PR 之前,请确认你的更改确实需要包含在固件中。许多想法都可以轻松实现为外部应用,并发布到 Flipper 应用目录。如果你不确定,请通过 Discord 服务器 或 Issues 页面联系我们,我们会帮你找到合适的代码归属位置。
另外,请阅读我们的贡献指南和代码风格,并确保你的代码兼容我们的项目许可证。
最后,打开一个 Pull Request,并确保 CI/CD 状态全部为绿色。
开发
Flipper Zero 固件使用 C 语言编写,其中部分代码使用 C++ 和 armv7m 汇编语言。建议具备中级 C 语言知识,以便更流畅地进行编程。Flipper 应用支持使用 C、C++ 和 armv7m 汇编语言开发。
环境要求
支持的开发平台:
- Windows 10+,含 PowerShell 和 Git(x86_64)
- macOS 12+,含 Command Line Tools(x86_64、arm64)
- Ubuntu 20.04+,含 build-essential 和 Git(x86_64)
支持的在线调试器(可选,但强烈推荐):
- Flipper Zero Wi-Fi 开发板
- 兼容 CMSIS-DAP:Raspberry Pi Debug Probe 等...
- ST-Link(v2、v3、v3mods)
- J-Link
Flipper 构建系统会自动处理所有其他依赖。
克隆源代码
请确保你有足够的磁盘空间,然后克隆源代码:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
构建
使用 Flipper 构建工具构建固件:
./fbt
使用在线调试器刷写固件
将在线调试器连接到你的 Flipper,然后使用 Flipper 构建工具刷写固件:
./fbt flash
使用 USB 刷写固件
确保你的 Flipper 已开机且固件运行正常。用 USB 线连接 Flipper,然后使用 Flipper 构建工具刷写固件:
./fbt flash_usb
文档
- Flipper 构建工具 - 构建、刷写和调试 Flipper 软件
- 应用程序、应用程序清单 - 开发、构建、部署和调试 Flipper 应用程序
- 硬件组合键与救砖 - 在最棘手的情况下恢复你的 Flipper
- Flipper 文件格式 - 关于 Flipper 如何存储数据以及如何操作数据的全部内容
- 万能遥控器 - 将你的红外遥控器贡献到万能遥控数据库中
- 更多内容请参阅开发者文档
项目结构
applications- 固件中使用的应用程序和服务applications_users- 存放你额外应用程序和服务的位置assets- 应用程序和服务使用的资源documentation- 文档生成系统的配置和输入文件furi- Furi Core:操作系统级原语和辅助工具lib- 我们及第三方的库、驱动、工具等...site_scons- 构建系统配置和模块scripts- 辅助脚本和各类 Python 库targets- 固件目标:平台相关代码
另外,请参阅这些目录中的 ReadMe.md 文件以了解更多详情。
链接
- Discord: flipp.dev/discord
- Reddit: reddit.com/r/flipperzero
- 网站:flipper.net
- Kickstarter: kickstarter.com
SAST 工具
- PVS-Studio - 用于 C、C++、C# 和 Java 代码的静态分析器。