Repolode
membrowse

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. 1

    Instala MemBrowse CLI desde PyPI

    pip install membrowse
  2. 2

    Analiza localmente el archivo ELF de tu firmware con su script de enlazado

    membrowse report build/firmware.elf "src/linker.ld"
  3. 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