Repolode
membrowse

membrowse/membrowse-action

GitHub Action и Python CLI для отслеживания использования flash и RAM в прошивках по ELF-файлам и публикации изменений в памяти в комментариях к pull request.

Звёзды
50
Форки
2
Открытые issues
0
Последний коммит
позавчера

Что это?

MemBrowse измеряет, сколько flash и RAM занимает образ прошивки для embedded-устройства. Он анализирует ELF-файл и linker script, связывает символы с исходными файлами и показывает использование памяти по регионам, а также самые крупные символы. CLI можно запускать локально без аккаунта — удобно проверять сборку на машине разработчика.

В CI GitHub Action загружает результаты каждого анализа в сервис MemBrowse, где сохраняется история между коммитами. В pull request можно добавить комментарий с изменениями в использовании памяти, а сборку — завершить с ошибкой, если превышен заданный бюджет. Для этих облачных функций нужен бесплатный API key.

Инструмент поддерживает любые toolchain, которые создают ELF-файлы с отладочной информацией DWARF, включая ARM, Xtensa и RISC-V. Он разбирает скрипты GNU LD, файлы IAR ICF и проекты SEGGER Embedded Studio, определяя формат по содержимому файла.

Ключевые возможности

  • 01Показывает использование flash и RAM по регионам памяти на основе ELF-файлов
  • 02Связывает символы с исходными файлами, где они определены
  • 03Читает карту памяти из файлов GNU LD, IAR ICF и SEGGER emProject
  • 04Публикует изменения в использовании памяти в комментариях к pull request с помощью GitHub Action
  • 05Может завершать сборки CI с ошибкой при превышении лимитов памяти

Сценарии использования

  • Выявление регрессий в размере прошивки при проверке кода
  • Проверка, поместится ли новая функция во flash микроконтроллера
  • Сравнение использования памяти между коммитами embedded-проекта
  • Локальный анализ использования памяти без создания аккаунта

Быстрый старт

  1. 1

    Установите MemBrowse CLI из PyPI

    pip install membrowse
  2. 2

    Локально проанализируйте ELF-файл прошивки с помощью скрипта компоновщика

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

    При желании добавьте workflow GitHub Actions для отслеживания использования памяти в CI

Что важно знать

  • Для комментариев к PR, отслеживания истории и контроля лимита бюджета в CI требуются бесплатный API-ключ и аккаунт MemBrowse.
  • Распространяется по лицензии GPL-3.0 — лицензии с взаимным раскрытием исходного кода, которая может ограничивать некоторые способы проприетарного использования.

В подборках

Темы

Частые вопросы

Что такое membrowse-action?
GitHub Action и Python CLI для отслеживания использования flash и RAM в прошивках по ELF-файлам и публикации изменений в памяти в комментариях к pull request. MemBrowse измеряет, сколько flash и RAM занимает образ прошивки для embedded-устройства. Он анализирует ELF-файл и linker script, связывает символы с исходными файлами и показывает использование памяти по регионам, а также самые крупные символы. CLI можно запускать локально без аккаунта — удобно проверять сборку на машине разработчика.
membrowse-action можно использовать бесплатно? Какая у него лицензия?
membrowse-action распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
membrowse-action всё ещё поддерживается?
Активно поддерживается. Последний коммит в membrowse-action — 4 нояб. 2026 г..
Для чего можно использовать membrowse-action?
Выявление регрессий в размере прошивки при проверке кода Проверка, поместится ли новая функция во flash микроконтроллера Сравнение использования памяти между коммитами embedded-проекта Локальный анализ использования памяти без создания аккаунта
Как установить membrowse-action?
Установите MemBrowse CLI из PyPI: pip install membrowse Локально проанализируйте ELF-файл прошивки с помощью скрипта компоновщика: membrowse report build/firmware.elf "src/linker.ld" При желании добавьте workflow GitHub Actions для отслеживания использования памяти в CI
Где скачать membrowse-action?
Исходный код и инструкции по установке — на GitHub: https://github.com/membrowse/membrowse-action

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Кроссплатформенный инструмент командной строки и система сборки для разработки встраиваемого ПО: управление библиотеками, поддержка разных плат и фреймворков, отладка и модульное тестирование.

9,6 тыс.+8 за неделю917PythonApache-2.0Активно поддерживаетсяОбновлён 21 день назад

Кроссплатформенный USB Host- и Device-стек с открытым исходным кодом для встраиваемых систем: безопасная работа с памятью и потоками, поддержка более 50 семейств MCU.

7,3 тыс.+10 за неделю1,6 тыс.CMITОбновлён 19 часов назад

Открытая прошивка для ESP32, позволяющая управлять адресными RGB-лентами, 2D-матрицами и панелями HUB75 по WiFi.

19 тыс.+43 за неделю4,4 тыс.C++EUPL-1.2Активно поддерживаетсяОбновлён 17 часов назад