flipperzero-firmware - Flipper Zero的固件。

Created at: 2020-08-01 05:43:20
Language: C
License: GPL-3.0

鳍状肢零固件

不和

显示代码

欢迎来到Flipper Zero的固件存储库!我们的目标是使用良好的文档创建漂亮干净的代码,让每个人都能愉快地使用。

克隆存储库

你应该克隆

$ git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git

阅读文档

查看有关如何在文件夹中构建固件编写应用程序取消砖块设备等的详细信息。

documentation

更新固件

从更新服务器获取最新固件

Flipper Zero的固件由两个组件组成:

  • Core2固件集 - 意法半导体专有组件:FUS +无线电堆栈。FUS 在出厂时已刷新,你永远不应更新它。
  • Core1 固件 - HAL + 操作系统 + 驱动程序 + 应用程序。

它们都必须按描述的顺序闪烁。

使用脱机更新包

通过 USB 连接鳍状肢:

./fbt flash_usb

只需构建包:

./fbt updater_package

要更新,请将生成的目录复制到 Flipper 的 SD 卡,然后导航到存档应用程序中的文件。

update.fuf

使用STLink

酷睿1固件

先决条件:

单行:

./fbt firmware_flash

带 USB DFU

  1. 下载最新固件

  2. 将鳍状肢重新启动到引导加载程序

  • 按住 + 进行重置
    ← Left
    ↩ Back
  • 松开并按住,直到蓝色 LED 亮起
    ↩ Back
    ← Left
  • 释放
    ← Left
  1. dfu-util -D full.dfu -a 0

在 Linux/macOS 上构建

查看有关构建和刷新固件的详细信息。

documentation/fbt.md

macOS 先决条件

确保你已经酿造并安装所有依赖项:

brew bundle --verbose

Linux 先决条件

FBT 工具处理所有内容,只是必需的。

git

可选依赖项

  • openocd (在 SWD 上调试/刷新)
  • 热收缩(编译图像资源)
  • 叮叮当当格式(代码格式)
  • dfu-util (在 USB DFU 上闪烁)
  • protobuf (编译原始源代码)

例如,要在 Debian 上安装它们,请使用:

apt update
apt install openocd clang-format-13 dfu-util protobuf-compiler

热缩必须从源代码编译

编译所有内容

./fbt

检查生成输出。

dist/

使用 flipper-z-{target}-full-{suffix}.dfu 刷新你的设备。

闪光一切

通过ST-Link连接你的设备并运行:

./fbt firmware_flash

链接

项目结构

  • applications
    - 固件中使用的应用程序和服务
  • assets
    - 应用程序和服务使用的资产
  • furi
    - Furi Core:操作系统级别的原语和助手
  • debug
    - 调试工具:GDB插件,SVD文件等
  • documentation
    - 文档生成系统配置和输入文件
  • firmware
    - 固件源代码
  • lib
    - 我们和第三方库,驱动程序等
  • scripts
    - 补充脚本和 Python 库主页

还要注意这些目录中的文件。

ReadMe.md