flipperdevices/flipperzero-firmware

GitHub: flipperdevices/flipperzero-firmware

Flipper Zero 官方固件源码,为便携式多协议硬件安全测试设备提供核心功能与开发框架。

Stars: 15658 | Forks: 3283

A pixel art of a Dophin with text: Flipper Zero Official Repo # Flipper Zero 固件 - [Flipper Zero 官方网站](https://flipperzero.one)。一种向你的朋友解释 Flipper Zero 能做什么的简单方式。 - [Flipper Zero 固件更新](https://flipperzero.one/update)。为你的海豚(Flipper Zero)提供的改进:最新固件版本、PC 和移动设备的升级工具。 - [用户文档](https://docs.flipper.net)。了解更多关于你的海豚的信息:规格、使用指南以及你想问的任何问题。 - [开发者文档](https://developer.flipper.net/flipperzero/doxygen)。深入探索 Flipper Zero Firmware 源代码:构建系统、固件结构等。 ## 我需要帮助 寻找答案的最佳去处是我们的 [用户文档](https://docs.flipper.net)。如果在那里找不到答案,请查看我们的 [Discord 服务器](https://flipp.dev/discord) 或我们的 [论坛](https://forum.flipperzero.one/)。如果你想为固件开发做贡献或根据自己的需求进行修改,也可以查看我们的 [开发者文档](https://developer.flipper.net/flipperzero/doxygen)。 ## 我想报告问题 如果你发现了问题并想报告,请查看我们的 [Issues](https://github.com/flipperdevices/flipperzero-firmware/issues) 页面。请确保描述中包含你正在使用的固件版本、你的平台以及重现该问题的步骤的清晰说明。 ## 我想贡献代码 在提交 PR 之前,请确认你的更改必须包含在固件中。许多想法可以轻松地作为外部应用程序实现,并发布在 [Flipper Application Catalog](https://github.com/flipperdevices/flipper-application-catalog) 中。如果你不确定,请在 [Discord 服务器](https://flipp.dev/discord) 或 [Issues](https://github.com/flipperdevices/flipperzero-firmware/issues) 页面上联系我们,我们会帮你找到代码的合适位置。 此外,请阅读我们的 [贡献指南](/CONTRIBUTING.md) 和 [代码风格](/CODING_STYLE.md),并确保你的代码与我们的 [项目许可证](/LICENSE) 兼容。 最后,打开一个 [Pull Request](https://github.com/flipperdevices/flipperzero-firmware/pulls) 并确保 CI/CD 状态全部为绿色(通过)。 # 开发 Flipper Zero Firmware 使用 C 语言编写,部分代码使用 C++ 和 armv7m 汇编语言编写。建议具备中级 C 语言知识以便进行舒适的编程。Flipper 应用程序支持 C、C++ 和 armv7m 汇编语言。 # 固件路线图 [固件路线图 Miro 看板](https://miro.com/app/board/uXjVO_3D6xU=/) ## 系统要求 支持的开发平台: - 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 Development Board](https://shop.flipperzero.one/products/wifi-devboard) - 兼容 CMSIS-DAP 的设备:Raspberry Pi Debug Probe 等... - ST-Link (v2, v3, v3mods) - J-Link Flipper Build System 将处理所有其他依赖项。 ## 克隆源代码 确保你有足够的磁盘空间并克隆源代码: ``` git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git ``` ## 构建 使用 Flipper Build Tool 构建固件: ``` ./fbt ``` ## 使用在片调试器刷写固件 将你的在片调试器连接到 Flipper,并使用 Flipper Build Tool 刷写固件: ``` ./fbt flash ``` ## 使用 USB 刷写固件 确保你的 Flipper 已开机且固件运行正常。用 USB 线连接你的 Flipper,并使用 Flipper Build Tool 刷写固件: ``` ./fbt flash_usb ``` ## 文档 - [Flipper Build Tool](/documentation/fbt.md) - 构建、刷写和调试 Flipper 软件 - [应用程序](/documentation/AppsOnSDCard.md),[应用程序清单](/documentation/AppManifests.md) - 开发、构建、部署和调试 Flipper 应用程序 - [硬件组合与救砖](/documentation/KeyCombo.md) - 在最糟糕的情况下恢复你的 Flipper - [Flipper 文件格式](/documentation/file_formats) - 关于 Flipper 如何存储你的数据以及你如何操作它的所有信息 - [万能遥控器](/documentation/UniversalRemotes.md) - 将你的红外遥控器贡献到万能遥控器数据库 - [固件路线图](https://miro.com/app/board/uXjVO_3D6xU=/) - 更多内容请见 [开发者文档](https://developer.flipper.net/flipperzero/doxygen) # 项目结构 - `applications` - 固件中使用的应用程序和服务 - `applications_users` - 用于存放你的额外应用程序和服务的位置 - `assets` - 应用程序和服务使用的资源 - `documentation` - 文档生成系统配置和输入文件 - `furi` - Furi Core:操作系统级原语和辅助工具 - `lib` - 我们的以及第三方的库、驱动程序、工具等... - `site_scons` - 构建系统配置和模块 - `scripts` - 辅助脚本和各种 Python 库 - `targets` - 固件目标:特定于平台的代码 此外,请参阅这些目录中的 `ReadMe.md` 文件以获取更多详细信息。 # 链接 - Discord: [flipp.dev/discord](https://flipp.dev/discord) - 官网: [flipperzero.one](https://flipperzero.one) - 论坛: [forum.flipperzero.one](https://forum.flipperzero.one/) - Kickstarter: [kickstarter.com](https://www.kickstarter.com/projects/flipper-devices/flipper-zero-tamagochi-for-hackers) ## SAST 工具 - [PVS-Studio](https://pvs-studio.com/pvs-studio/?utm_source=website&utm_medium=github&utm_campaign=open_source) - 用于 C、C++、C# 和 Java 代码的静态分析器。
标签:BadUSB, Flipper Zero, Go语言工具, GPIO, iButton, NFC, RFID, STM32, Sub-GHz, 信号分析, 固件源码, 多协议, 客户端加密, 嵌入式开发, 开源硬件, 无线电安全, 物联网, 硬件安全, 硬件黑客, 红外遥控, 逆向工具