flipperzero-firmware - フリッパーゼロファームウェアソースコード

(Flipper Zero firmware source code)

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

フリッパーゼロファームウェア

不和

コードを表示

フリッパーゼロのファームウェアリポジトリへようこそ! 私たちの目標は、優れたドキュメントを使用して素敵でクリーンなコードを作成し、誰もが楽しく作業できるようにすることです。

リポジトリのクローン作成

でクローンを作成する必要があります

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

ドキュメントを読む

ファームウェアの構築アプリケーションの作成デバイスのブリック解除などの方法の詳細をフォルダで確認してください。

documentation

ファームウェアの更新

アップデートサーバーから最新のファームウェアを取得する

フリッパーゼロのファームウェアは、次の2つのコンポーネントで構成されています。

  • Core2ファームウェアセット - STによる独自のコンポーネント:FUS +無線スタック。FUSは工場でフラッシュされるため、更新しないでください。
  • Core1ファームウェア - HAL + OS + ドライバ + アプリケーション。

どちらも、説明されている順序でフラッシュする必要があります。

オフライン更新プログラム パッケージを使用

フリッパーを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してインストールしていることを確認してください。

brew bundle --verbose

Linux の前提条件

FBTツールはすべてを処理しますが、必要なのは必須です。

git

オプションの依存関係

  • openocd (SWD を介したデバッグ/フラッシュ)
  • 熱収縮(画像アセットのコンパイル)
  • クラン形式 (コードフォーマット)
  • dfu-util (USB DFU 経由でフラッシュ)
  • protobuf (proto sources のコンパイル)

たとえば、それらを Debian にインストールするには、次のようにします。

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

熱収縮はソースからコンパイルする必要があります。

すべてをコンパイルする

./fbt

ビルド出力を確認します。

dist/

フリッパー-z-{ターゲット}-フル-{サフィックス}.dfu を使用して、デバイスをフラッシュします。

すべてをフラッシュ

ST-Link経由でデバイスを接続し、次のコマンドを実行します。

./fbt firmware_flash

リンクス

プロジェクト構造

  • applications
    - ファームウェアで使用されるアプリケーションとサービス
  • assets
    - アプリケーションとサービスで使用される資産
  • furi
    - フリコア:osレベルのプリミティブとヘルパー
  • debug
    - デバッグツール:GDBプラグイン、SVDファイルなど
  • documentation
    - ドキュメント生成システム設定と入力ファイル
  • firmware
    - ファームウェアのソースコード
  • lib
    - 当社および第三者のライブラリ、ドライバなど
  • scripts
    - 補助スクリプトとPythonライブラリホーム

また、これらのディレクトリ内のファイルにも注意してください。

ReadMe.md