Repolode
membrowse

membrowse/membrowse-action

ELF 파일을 바탕으로 임베디드 펌웨어의 Flash 및 RAM 사용량을 추적하고, Pull Request에 메모리 사용량 차이를 댓글로 남기는 GitHub Action 및 Python CLI입니다.

스타
50
포크
2
열린 이슈
0
마지막 커밋
어제

어떤 프로젝트인가요?

MemBrowse는 임베디드 펌웨어 이미지가 Flash와 RAM을 얼마나 사용하는지 측정합니다. ELF 파일과 링커 스크립트를 읽고 심볼을 소스 파일과 연결해 메모리 영역별 사용량과 가장 큰 심볼을 보고합니다. CLI는 계정 없이 로컬에서 실행할 수 있어 개발자 자신의 머신에서 빌드를 확인할 때 유용합니다.

CI에서는 GitHub Action이 각 분석 결과를 MemBrowse 서비스에 업로드하고, 서비스는 커밋별 기록을 보관합니다. Pull Request에 메모리 사용량 차이를 보여주는 댓글을 남길 수 있으며, 설정된 예산을 초과하면 빌드를 실패 처리할 수 있습니다. 이러한 클라우드 기능을 사용하려면 무료 API 키가 필요합니다.

DWARF 디버그 정보를 포함한 ELF 파일을 생성하는 모든 툴체인을 지원하며, ARM, Xtensa, RISC-V도 포함됩니다. GNU LD 스크립트, IAR ICF 파일, SEGGER Embedded Studio 프로젝트 파일을 파싱하며 파일 내용을 바탕으로 형식을 감지합니다.

핵심 기능

  • 01ELF 파일에서 메모리 영역별 Flash 및 RAM 사용량을 보고합니다
  • 02심볼을 해당 정의가 있는 소스 파일과 연결합니다
  • 03GNU LD, IAR ICF, SEGGER emProject 파일에서 메모리 레이아웃을 읽습니다
  • 04GitHub Action을 통해 메모리 사용량 차이를 Pull Request 댓글로 게시합니다
  • 05메모리 예산을 초과하면 CI 빌드를 실패 처리할 수 있습니다

활용 사례

  • 코드 리뷰 중 펌웨어 크기 회귀를 찾아냅니다
  • 새 기능이 마이크로컨트롤러의 Flash 용량에 여전히 들어가는지 확인합니다
  • 임베디드 프로젝트의 커밋별 메모리 사용량을 비교합니다
  • 계정을 만들지 않고 로컬에서 메모리를 분석합니다

빠른 시작

  1. 1

    PyPI에서 MemBrowse CLI를 설치하세요

    pip install membrowse
  2. 2

    링커 스크립트를 사용해 펌웨어 ELF 파일을 로컬에서 분석하세요

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

    선택 사항으로 CI에서 메모리 사용량을 추적하는 GitHub Actions 워크플로를 추가하세요

사용 전 알아둘 점

  • PR 댓글, 기록 추적, CI 예산 한도 적용에는 무료 MemBrowse API 키와 계정이 필요합니다.
  • GPL-3.0 라이선스가 적용됩니다. 카피레프트 라이선스이므로 일부 독점 소프트웨어 용도가 제한될 수 있습니다.

포함된 컬렉션

토픽

자주 묻는 질문

membrowse-action은(는) 무엇인가요?
ELF 파일을 바탕으로 임베디드 펌웨어의 Flash 및 RAM 사용량을 추적하고, Pull Request에 메모리 사용량 차이를 댓글로 남기는 GitHub Action 및 Python CLI입니다. MemBrowse는 임베디드 펌웨어 이미지가 Flash와 RAM을 얼마나 사용하는지 측정합니다. ELF 파일과 링커 스크립트를 읽고 심볼을 소스 파일과 연결해 메모리 영역별 사용량과 가장 큰 심볼을 보고합니다. CLI는 계정 없이 로컬에서 실행할 수 있어 개발자 자신의 머신에서 빌드를 확인할 때 유용합니다.
membrowse-action은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
membrowse-action은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
membrowse-action은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. membrowse-action의 마지막 커밋은 2026년 11월 6일입니다.
membrowse-action은(는) 어디에 사용할 수 있나요?
코드 리뷰 중 펌웨어 크기 회귀를 찾아냅니다 새 기능이 마이크로컨트롤러의 Flash 용량에 여전히 들어가는지 확인합니다 임베디드 프로젝트의 커밋별 메모리 사용량을 비교합니다 계정을 만들지 않고 로컬에서 메모리를 분석합니다
membrowse-action는 어떻게 설치하나요?
PyPI에서 MemBrowse CLI를 설치하세요: pip install membrowse 링커 스크립트를 사용해 펌웨어 ELF 파일을 로컬에서 분석하세요: membrowse report build/firmware.elf "src/linker.ld" 선택 사항으로 CI에서 메모리 사용량을 추적하는 GitHub Actions 워크플로를 추가하세요
membrowse-action은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/membrowse/membrowse-action

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

50개 이상의 MCU 제품군에서 메모리와 스레드 안전성을 고려해 설계된, 임베디드 시스템용 오픈소스 크로스 플랫폼 USB Host 및 Device 스택입니다.

7.3천+13 이번 주1.6천CMIT업데이트 3시간 전