Una implementación ligera de Python 3 para microcontroladores y otros dispositivos con recursos limitados, con módulos para acceder al hardware.
membrowse/membrowse-action
GitHub Action y CLI de Python que mide el uso de flash y RAM del firmware integrado a partir de archivos ELF y comenta las diferencias de memoria en los pull requests.
- Estrellas
- 50
- Forks
- 2
- Issues abiertos
- 0
- Último commit
- hace 7 horas
¿Qué es?
MemBrowse mide cuánta flash y RAM ocupa una imagen de firmware integrado. Lee el archivo ELF y el script del enlazador, relaciona los símbolos con sus archivos de origen y muestra el uso por región de memoria, junto con los símbolos de mayor tamaño. La CLI puede ejecutarse localmente sin una cuenta, por lo que resulta útil para revisar una compilación en la máquina del desarrollador.
En CI, la GitHub Action sube cada análisis al servicio MemBrowse, que conserva el historial entre commits. Los pull requests pueden recibir un comentario con las diferencias de memoria, y la compilación puede fallar si se supera un presupuesto configurado. Estas funciones en la nube requieren una API key gratuita.
La herramienta es compatible con cualquier toolchain que genere archivos ELF con información de depuración DWARF, incluidos ARM, Xtensa y RISC-V. Analiza scripts de GNU LD, archivos IAR ICF y archivos de proyecto de SEGGER Embedded Studio, y detecta el formato a partir del contenido del archivo.
Funciones clave
- 01Muestra el uso de flash y RAM por región de memoria a partir de archivos ELF
- 02Relaciona los símbolos con los archivos de origen donde están definidos
- 03Lee diseños de memoria de archivos GNU LD, IAR ICF y SEGGER emProject
- 04Publica diferencias de memoria como comentarios en pull requests mediante una GitHub Action
- 05Puede hacer fallar compilaciones de CI cuando se superan los presupuestos de memoria
Casos de uso
- Detectar aumentos del tamaño del firmware durante la revisión de código
- Comprobar si una nueva función sigue cabiendo en la flash de un microcontrolador
- Comparar el uso de memoria entre commits de un proyecto integrado
- Ejecutar análisis de memoria localmente sin crear una cuenta
Inicio rápido
- 1
Instala MemBrowse CLI desde PyPI
pip install membrowse - 2
Analiza localmente el archivo ELF de tu firmware con su script de enlazado
membrowse report build/firmware.elf "src/linker.ld" - 3
Si quieres, añade el flujo de trabajo de GitHub Actions para hacer un seguimiento de la memoria en CI
Antes de usarlo
- Los comentarios en PR, el seguimiento histórico y los límites de presupuesto en CI requieren una cuenta y una clave de API gratuitas de MemBrowse.
- Tiene licencia GPL-3.0, una licencia copyleft que puede restringir algunos usos propietarios.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es membrowse-action?
- GitHub Action y CLI de Python que mide el uso de flash y RAM del firmware integrado a partir de archivos ELF y comenta las diferencias de memoria en los pull requests. MemBrowse mide cuánta flash y RAM ocupa una imagen de firmware integrado. Lee el archivo ELF y el script del enlazador, relaciona los símbolos con sus archivos de origen y muestra el uso por región de memoria, junto con los símbolos de mayor tamaño. La CLI puede ejecutarse localmente sin una cuenta, por lo que resulta útil para revisar una compilación en la máquina del desarrollador.
- ¿membrowse-action es gratuito? ¿Qué licencia tiene?
- membrowse-action es open source bajo la licencia GPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿membrowse-action sigue mantenido?
- Mantenimiento activo. El último commit de membrowse-action fue el 6 nov 2026.
- ¿Para qué puedo usar membrowse-action?
- Detectar aumentos del tamaño del firmware durante la revisión de código Comprobar si una nueva función sigue cabiendo en la flash de un microcontrolador Comparar el uso de memoria entre commits de un proyecto integrado Ejecutar análisis de memoria localmente sin crear una cuenta
- ¿Cómo se instala membrowse-action?
- Instala MemBrowse CLI desde PyPI: pip install membrowse Analiza localmente el archivo ELF de tu firmware con su script de enlazado: membrowse report build/firmware.elf "src/linker.ld" Si quieres, añade el flujo de trabajo de GitHub Actions para hacer un seguimiento de la memoria en CI
- ¿Dónde consigo membrowse-action?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/membrowse/membrowse-action
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Herramienta de línea de comandos y sistema de compilación multiplataforma para desarrollo embebido, con gestión de bibliotecas, compatibilidad con varias placas y frameworks, depuración y pruebas unitarias.
Stack USB Host y Device de código abierto y multiplataforma para sistemas embebidos, diseñado para ofrecer seguridad de memoria e hilos en más de 50 familias de MCU.
Caja de herramientas para crear aplicaciones embebidas en Zig, con una capa de abstracción de hardware y soporte para placas y chips.
Placa de código abierto que sustituye la placa de circuito de un reloj Casio F-91W clásico y permite ejecutar tus propios programas en la muñeca.
Firmware de código abierto para ESP32 que controla tiras LED RGB direccionables, matrices 2D y paneles HUB75 por WiFi.