Repolode
membrowse

membrowse/membrowse-action

ELFファイルから組み込みファームウェアのフラッシュとRAMの使用量を追跡し、プルリクエストにメモリ差分をコメントするGitHub ActionとPython CLI。

スター
50
フォーク
2
未解決の Issue
0
最終コミット
一昨日

これは何?

MemBrowseは、組み込みファームウェアイメージが使用するフラッシュとRAMの容量を測定します。ELFファイルとリンカスクリプトを読み込み、シンボルをソースファイルに対応付け、メモリ領域ごとの使用量と、サイズの大きいシンボルを報告します。CLIはアカウントなしでローカル実行できるため、開発者自身のマシンでビルドを確認するのに便利です。

CIでは、GitHub Actionが各解析結果をMemBrowseサービスにアップロードし、コミットをまたいだ履歴を保存します。プルリクエストにはメモリ差分をコメントでき、設定した予算を超えた場合はビルドを失敗させることもできます。これらのクラウド機能を使うには、無料のAPIキーが必要です。

ARM、Xtensa、RISC-Vなど、DWARFデバッグ情報を含むELFファイルを出力するあらゆるツールチェーンに対応しています。GNU LDスクリプト、IAR ICFファイル、SEGGER Embedded Studioのプロジェクトファイルを解析し、ファイルの内容から形式を判別します。

主な機能

  • 01ELFファイルからメモリ領域ごとのフラッシュとRAMの使用量を報告
  • 02シンボルを定義元のソースファイルに対応付け
  • 03GNU LD、IAR ICF、SEGGER emProjectファイルからメモリレイアウトを読み込み
  • 04GitHub Actionを通じてプルリクエストのコメントにメモリ差分を投稿
  • 05メモリ予算を超えた場合にCIビルドを失敗させる

ユースケース

  • コードレビューでファームウェアサイズのリグレッションを検出する
  • 新機能がマイクロコントローラーのフラッシュに収まるか確認する
  • 組み込みプロジェクトのコミット間でメモリ使用量を比較する
  • アカウントを作成せずにローカルでメモリ解析を実行する

クイックスタート

  1. 1

    PyPIからMemBrowse CLIをインストールします

    pip install membrowse
  2. 2

    リンカースクリプトを使ってファームウェアのELFファイルをローカルで解析します

    membrowse report build/firmware.elf "src/linker.ld"
  3. 3

    必要に応じて、CIでメモリ使用量を追跡するGitHub Actionsワークフローを追加します

使う前に知っておきたいこと

  • PRコメント、履歴の追跡、CIの予算超過時のゲートには、無料のMemBrowse APIキーとアカウントが必要です。
  • GPL-3.0ライセンスで提供されています。コピーレフトライセンスのため、一部のプロプライエタリな用途が制限される場合があります。

収録されている特集

トピック

よくある質問

membrowse-action とは?
ELFファイルから組み込みファームウェアのフラッシュとRAMの使用量を追跡し、プルリクエストにメモリ差分をコメントするGitHub ActionとPython CLI。 MemBrowseは、組み込みファームウェアイメージが使用するフラッシュとRAMの容量を測定します。ELFファイルとリンカスクリプトを読み込み、シンボルをソースファイルに対応付け、メモリ領域ごとの使用量と、サイズの大きいシンボルを報告します。CLIはアカウントなしでローカル実行できるため、開発者自身のマシンでビルドを確認するのに便利です。
membrowse-action は無料で使えますか?ライセンスは?
membrowse-action は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
membrowse-action は今もメンテナンスされていますか?
活発にメンテナンス中。membrowse-action の最終コミットは 2026年11月4日 です。
membrowse-action は何に使えますか?
コードレビューでファームウェアサイズのリグレッションを検出する 新機能がマイクロコントローラーのフラッシュに収まるか確認する 組み込みプロジェクトのコミット間でメモリ使用量を比較する アカウントを作成せずにローカルでメモリ解析を実行する
membrowse-action のインストール方法は?
PyPIからMemBrowse CLIをインストールします: pip install membrowse リンカースクリプトを使ってファームウェアのELFファイルをローカルで解析します: membrowse report build/firmware.elf "src/linker.ld" 必要に応じて、CIでメモリ使用量を追跡するGitHub Actionsワークフローを追加します
membrowse-action はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/membrowse/membrowse-action

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

50以上のMCUファミリーに対応し、メモリ安全性とスレッド安全性を重視して設計された、組み込みシステム向けのクロスプラットフォームなオープンソースUSB Host/Deviceスタックです。

7258+10 今週1574CMIT更新 21 時間前