Компактная реализация Python 3 для микроконтроллеров и других устройств с ограниченными ресурсами, с модулями для работы с аппаратурой.
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
Установите MemBrowse CLI из PyPI
pip install membrowse - 2
Локально проанализируйте ELF-файл прошивки с помощью скрипта компоновщика
membrowse report build/firmware.elf "src/linker.ld" - 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 обновляется ежедневно.
Похожие проекты
Кроссплатформенный инструмент командной строки и система сборки для разработки встраиваемого ПО: управление библиотеками, поддержка разных плат и фреймворков, отладка и модульное тестирование.
Кроссплатформенный USB Host- и Device-стек с открытым исходным кодом для встраиваемых систем: безопасная работа с памятью и потоками, поддержка более 50 семейств MCU.
Набор инструментов для разработки встроенных приложений на Zig с уровнем аппаратной абстракции и поддержкой плат и микроконтроллеров.
Плата с открытым исходным кодом заменяет плату в классических часах Casio F-91W и позволяет запускать собственные программы прямо на запястье.
Открытая прошивка для ESP32, позволяющая управлять адресными RGB-лентами, 2D-матрицами и панелями HUB75 по WiFi.