Repolode
membrowse

membrowse/membrowse-action

GitHub Action e CLI em Python que monitora o uso de flash e RAM de firmware embarcado a partir de arquivos ELF e comenta diferenças de memória em pull requests.

Estrelas
50
Forks
2
Issues abertas
0
Último commit
há 24 horas

O que é?

O MemBrowse mede quanto de flash e RAM uma imagem de firmware embarcado utiliza. Ele lê o arquivo ELF e o linker script, associa símbolos aos respectivos arquivos-fonte e informa o uso por região de memória, além de listar os maiores símbolos. A CLI pode ser executada localmente sem uma conta, o que é útil para verificar um build na própria máquina do desenvolvedor.

No CI, a GitHub Action envia cada análise ao serviço MemBrowse, que mantém um histórico entre commits. Os pull requests podem receber um comentário mostrando as diferenças de memória, e o build pode falhar quando um limite configurado é excedido. Esses recursos na nuvem exigem uma API key gratuita.

A ferramenta oferece suporte a qualquer toolchain que gere arquivos ELF com informações de debug DWARF, incluindo ARM, Xtensa e RISC-V. Ela analisa scripts GNU LD, arquivos IAR ICF e arquivos de projeto do SEGGER Embedded Studio, identificando o formato pelo conteúdo do arquivo.

Recursos principais

  • 01Informa o uso de flash e RAM por região de memória a partir de arquivos ELF
  • 02Associa símbolos aos arquivos-fonte em que são definidos
  • 03Lê layouts de memória de arquivos GNU LD, IAR ICF e SEGGER emProject
  • 04Publica diferenças de memória como comentários em pull requests por meio de uma GitHub Action
  • 05Pode fazer builds de CI falharem quando os limites de memória são excedidos

Casos de uso

  • Detectar regressões no tamanho do firmware durante a revisão de código
  • Verificar se um novo recurso ainda cabe na flash de um microcontrolador
  • Comparar o uso de memória entre commits de um projeto embarcado
  • Executar análises de memória localmente sem criar uma conta

Início rápido

  1. 1

    Instale o MemBrowse CLI pelo PyPI

    pip install membrowse
  2. 2

    Analise localmente o arquivo ELF do seu firmware com o script do linker

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

    Opcionalmente, adicione o workflow do GitHub Actions para acompanhar o uso de memória no CI

Antes de usar

  • Comentários em PRs, acompanhamento histórico e bloqueio por limite de orçamento no CI exigem uma conta e uma chave de API gratuitas do MemBrowse.
  • Licenciado sob GPL-3.0, uma licença copyleft que pode restringir alguns usos proprietários.

Em coleções

Tópicos

Perguntas frequentes

O que é membrowse-action?
GitHub Action e CLI em Python que monitora o uso de flash e RAM de firmware embarcado a partir de arquivos ELF e comenta diferenças de memória em pull requests. O MemBrowse mede quanto de flash e RAM uma imagem de firmware embarcado utiliza. Ele lê o arquivo ELF e o linker script, associa símbolos aos respectivos arquivos-fonte e informa o uso por região de memória, além de listar os maiores símbolos. A CLI pode ser executada localmente sem uma conta, o que é útil para verificar um build na própria máquina do desenvolvedor.
membrowse-action é gratuito? Qual é a licença?
membrowse-action é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
membrowse-action ainda é mantido?
Manutenção ativa. O último commit de membrowse-action foi em 6 de nov. de 2026.
Para que posso usar membrowse-action?
Detectar regressões no tamanho do firmware durante a revisão de código Verificar se um novo recurso ainda cabe na flash de um microcontrolador Comparar o uso de memória entre commits de um projeto embarcado Executar análises de memória localmente sem criar uma conta
Como instalar membrowse-action?
Instale o MemBrowse CLI pelo PyPI: pip install membrowse Analise localmente o arquivo ELF do seu firmware com o script do linker: membrowse report build/firmware.elf "src/linker.ld" Opcionalmente, adicione o workflow do GitHub Actions para acompanhar o uso de memória no CI
Onde consigo membrowse-action?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/membrowse/membrowse-action

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados