8비트부터 64비트 마이크로컨트롤러까지 지원하는 임베디드 기기용 POSIX 호환 실시간 운영체제(RTOS)입니다.
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
PyPI에서 MemBrowse CLI를 설치하세요
pip install membrowse - 2
링커 스크립트를 사용해 펌웨어 ELF 파일을 로컬에서 분석하세요
membrowse report build/firmware.elf "src/linker.ld" - 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 통계는 매일 갱신됩니다.
관련 프로젝트
마이크로컨트롤러와 기타 리소스가 제한된 기기에서 실행되며 하드웨어 접근 모듈을 제공하는 경량 Python 3 구현체입니다.
Windows, Linux, macOS에서 ESP32 및 기타 Espressif SoC용 펌웨어를 개발하는 Espressif 공식 개발 프레임워크입니다.
임베디드 개발을 위한 크로스 플랫폼 CLI 도구이자 빌드 시스템으로, 라이브러리 관리, 다양한 보드와 프레임워크, 디버깅 및 단위 테스트를 지원합니다.
50개 이상의 MCU 제품군에서 메모리와 스레드 안전성을 고려해 설계된, 임베디드 시스템용 오픈소스 크로스 플랫폼 USB Host 및 Device 스택입니다.
Zig로 임베디드 애플리케이션을 빌드하기 위한 툴박스로, HAL과 보드·칩 지원을 제공합니다.