news 2026/9/5 23:40:53

一条命令搞定Flipper Zero固件编译

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一条命令搞定Flipper Zero固件编译

一条命令搞定Flipper Zero固件编译

【免费下载链接】awesome-flipperzero🐬 A collection of awesome resources for the Flipper Zero device.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-flipperzero

你翻出刚入手的 Flipper Zero,想把 Unleashed 固件刷上去,却找不到固件编译的入口。FBT(Flipper Build Tool)是固件编译使用的构建工具,管的是交叉编译、打包产物和烧录这几件事,语法简单到只有一层目标参数。跟着做完这几步,你就能在自己的电脑上产出第一份固件包,并按需求切换编译目标。

快速跑通:一条命令出固件

先准备一台 Ubuntu 20.04 或更新的机器,推荐这个系统是因为它的依赖源最齐,交叉编译工具链装起来最省心。依赖装好后克隆仓库并直接运行构建:

git clone https://gitcode.com/GitHub_Trending/aw/awesome-flipperzero cd awesome-flipperzero && ./fbt

跑完后终端会滚动大量编译日志然后停住,build/目录下生成固件产物包。跑通这一步说明环境基本没问题,后面无论换哪个目标参数都只改命令、不换环境。

搞懂FBT到底在做什么

把整个流程想成寄快递:源码是散件,交叉编译是按 ARM 芯片的规则把散件打包(Flipper Zero 主控是 ARM Cortex-M,所以必须用arm-none-eabi-gcc这类交叉编译工具链,而不是电脑自带的 x86 编译器),打包是压缩封装,烧录则是把包裹直接塞进设备 Flash。FBT 把这三步串成一条命令,你的决定只落在目标参数上:

./fbt firmware

📌 目标参数决定流程走到哪一步:只编译出包、编译加烧录、还是出发布压缩包。想清楚"这次要走到哪一步",参数就不会用错。

按需求选目标:fbt目标参数速查

四个最常用的目标参数覆盖了从本地编译到发布分发的全部路径,按需求查表即可:

你想达成什么目标参数命令产物
只产出固件包firmware./fbt firmwarebuild/下的固件 zip
编译并直接烧录设备flash./fbt flash经 USB 直接写入设备 Flash
出可调试的版本debug./fbt debug带调试符号的固件
出可分发的发布包dist./fbt dist打包好的发布压缩文件

⚠️ 第一次只建议用firmware,先拿 zip 走 SD 卡升级;flash需要设备保持 USB 连接,中途断开会前功尽弃。

走一遍完整流程:编译Unleashed并写入SD卡

第 1 步:装依赖、克隆源码。工具链没装过的话,先补齐编译依赖:

sudo apt update && sudo apt install -y build-essential cmake \ gcc-arm-none-eabi

仓库沿用上文的克隆命令。此时你会看到 apt 输出Setting up gcc-arm-none-eabi一行,确认交叉编译工具链就位。

第 2 步:选固件并编译。选 Unleashed 是因为它开发活跃、默认解除 Sub-GHz 地区限制、支持滚动码和大量社区插件,是多数人的默认选择;各版本差异可查 Firmwares.md:

固件特点适合谁
Unleashed滚动码支持、社区插件、活跃开发多数人默认
RogueMaster基于 Unleashed 加自定义图形与实验功能想换动画尝鲜
Xtreme代码更整洁、模块扩展更多想要稳定基线

然后执行编译,此时你会确认终端日志滚完、build/目录多出固件 zip 文件:

./fbt firmware

第 3 步:把产物写入 SD 卡。把编译出的 zip 解压到 SD 卡根目录,这是官方支持的升级方式,不用额外烧录工具:

cd ~/sdcard && unzip ~/awesome-flipperzero/build/f7-firmware-D/*.zip

此时你会确认 SD 卡里出现了升级用的固件文件。

第 4 步:插卡开机。把 SD 卡插回设备并开机,设备识别到升级包后会自动刷机。此时你会看到屏幕进入升级流程,重启后落进新固件主界面,从源码到上机的闭环完成。

出问题了:按顺序排查

遇到卡壳按这个顺序走,比对着报错乱试快得多:

  1. 先查工具链。报错出现arm-none-eabi-gcc: command not found,说明交叉编译工具链缺失,重装gcc-arm-none-eabi即可,FBT 全靠它产出 ARM 固件。
  2. 再确认目标参数。./fbt不带目标参数时的行为和显式写firmware不一致,把目标参数写全能排除一半"命令写错"的情况。
  3. 检查自定义配置。刷入后卡在开机 logo,多半是改过的配置项互相不兼容,换回默认配置重新编译再试。
  4. 三步都排除后,查 FAQ.md 兜底,SD 卡选型、刷失败后的恢复方法那里都有现成答案。

接下来你可以:一是给命令追加OPTFLAGS=-Os编译选项,让编译器更激进地压体积,适合想塞更多自定义内容的场景;二是打开 README.md 的 Databases & Dumps 一栏,Sub-GHz 数据、红外转码脚本这些现成资源能直接配合你刚编好的固件使用。

【免费下载链接】awesome-flipperzero🐬 A collection of awesome resources for the Flipper Zero device.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-flipperzero

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 23:38:50

Code Mode:以代码规模限制驱动可扩展软件中的可控AI编程

1. 为什么这一期 Code Mode 值得开发者关注如果你平时用 AI 编程助手写代码,大概率会遇到这样一个场景:让它改一个模块,它动的是全局的公共函数;让它修一个 Bug,它顺手把旁边的函数也重构成了新写法;让它在…

作者头像 李华
网站建设 2026/9/5 23:38:15

轨道异物识别数据集构建与YOLOv8模型训练实战指南

简介:本资源是面向轨道交通智能运维场景的轨道异物识别专用数据集,专为深度学习目标检测任务设计,适用于高校科研、工业AI项目开发及YOLO系列算法实战训练者。数据集涵盖person、obsticle_oc、Animal、vehicle、motor_bicycle、Train共6类关键…

作者头像 李华
网站建设 2026/9/5 23:36:36

Wand-Enhancer免费解锁Wand Pro

Wand-Enhancer免费解锁Wand Pro 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 打开修改面板,一半高级项是灰的,旁边挂着 P…

作者头像 李华
网站建设 2026/9/5 23:36:04

Mermaid图风格统一实践:用CLI与CI让渲染回归标准化

最近技术社区里关于 open code、OSS 协作与 AI 编码工具的讨论明显多了起来。与之相伴的一个小话题很有意思:有开发者用“艺术自由”来形容某些开放式 OSS 创作集体产出的 Mermaid 图——同一套文档体系里,每张流程图风格都不一样,有的节点拥…

作者头像 李华
网站建设 2026/9/5 23:33:23

Git Stash 用法详解:把未完成的工作先“藏起来”

前言 写代码时经常遇到这种情况: 正在改一个功能,突然来了紧急 bug 要修想临时切换分支去看别人的代码本地改了一堆文件,但还不想提交 这时候如果直接 git checkout 或 git pull,Git 会报错,说你有未提交的修改。 Git …

作者头像 李华