
renode v1.17.0
오픈소스 시뮬레이션 프레임워크로, ARM, RISC-V, x86 등을 지원하며 다중 노드 임베디드 및 IoT 시스템용 수정되지 않은 소프트웨어를 개발, 테스트, 디버깅할 수 있습니다.
Renode
Copyright (c) 2010-2026 Antmicro
Renode란 무엇인가요?
Renode는 Antmicro가 다중 노드 임베디드 네트워크(유선 및 무선 모두)를 위한 가상 개발 도구로 만들었으며, 효과적이고 테스트되었으며 안전한 IoT 시스템을 구축하기 위한 확장 가능한 워크플로우를 가능하게 하는 데 목적이 있습니다.
Renode를 사용하면 IoT 장치용 수정되지 않은 소프트웨어를 개발, 테스트, 디버깅 및 시뮬레이션하는 것이 빠르고 비용 효율적이며 안정적입니다.
지원되는 아키텍처는 다음과 같습니다:
- ARMv7 및 ARMv8 Cortex-A, Cortex-R 및 Cortex-M
- x86 및 x86_64
- RISC-V
- SPARC
- POWER
- Xtensa
- MSP430X
왜 Renode를 사용해야 하나요?
Renode는 임베디드 시스템(게이트웨이, 온보드 컴퓨터, 센서 노드 및 마이크로컨트롤러 모두)용 소프트웨어 개발에 대한 수년간의 경험을 바탕으로 만들어졌습니다.
물리적 임베디드 시스템을 테스트하고 개발하는 것은 재현성이 낮고 시스템의 현재 상태에 대한 통찰력이 부족하기 때문에 어렵습니다. 특히 다중 노드 시나리오에서 더욱 그렇습니다.
Renode는 일반적으로 대상 하드웨어에 플래시하는 바이너리와 동일한 수정되지 않은 바이너리를 가상 보드나 보드 시스템에서 실행할 수 있게 함으로써 이 문제를 해결합니다.
이 도구의 중요한 측면 중 하나는 CPU뿐만 아니라 전체 SoC(예: 이기종 멀티코어 SoC 및 다양한 주변장치)와 그들 간의 유선 또는 무선 연결을 시뮬레이션하여 사용자가 복잡한 시나리오를 처리하고 실제 프로덕션 소프트웨어를 테스트할 수 있도록 한다는 것입니다.
설치
사용 가능한 빌드 및 릴리스
나이틀리 빌드
모든 시스템용 Renode의 나이틀리 빌드는 builds.renode.io에서 사용할 수 있습니다.
최신 빌드는 항상 renode-latest.* 패키지로 제공됩니다.
다음 패키지 형식을 사용할 수 있습니다:
renode-latest.linux-portable.tar.gz- 휴대용 Linux 패키지, dotnet 런타임 포함renode-latest.linux.tar.gz- Linux 사전 빌드 아카이브, 호스트에 dotnet 설치 필요renode-latest.pkg.tar.xz- Arch Linux 패키지renode-latest.x86_64.rpm- Red Hat / Fedora 패키지renode-latest.deb- Debian 기반 배포판 패키지renode-latest.osx-arm64-portable.dmg- Apple Silicon(arm64) Mac용 macOS 패키지renode-latest.osx-x64-portable.dmg- Intel(x86_64) Mac용 macOS 패키지renode-latest.windows-portable.zip- Windows 휴대용 패키지, 설치 프로그램 없음renode-latest.setup.exe- Windows 설치 프로그램renode-latest.tar.xz- Renode 소스
안정적인 릴리스
안정적인 번호가 매겨진 릴리스와 해당 릴리스 노트는 GitHub의 Releases 섹션에서 확인할 수 있습니다.
homebrew tap을 통한 설치
macOS에서는 안정적인 버전과 나이틀리 버전의 Renode를 사용자 정의 tap에서 Homebrew를 통해 설치할 수 있습니다.
안정적인 버전을 설치하려면 brew install renode/tap/renode를 사용하고, 최신 나이틀리 빌드를 설치하려면 brew install renode/tap/renode-nightly를 사용하세요.
이렇게 하면 renode-test용 Python 환경을 사전 구성하는 것을 포함한 모든 종속성이 설치됩니다.
Linux 휴대용 릴리스 사용
Linux 사용자라면 Renode를 사용하는 가장 쉬운 방법은 릴리스 섹션에서 최신 linux-portable을 다운로드하고 다음을 사용하여 압축을 푸는 것입니다:
mkdir renode_portable
wget https://builds.renode.io/renode-latest.linux-portable.tar.gz
tar xf renode-latest.linux-portable.tar.gz -C renode_portable --strip-components=1
어디에서나 사용하려면 생성된 디렉터리로 이동하여 시스템 경로에 추가하세요:
cd renode_portable
export PATH="`pwd`:$PATH"
휴대용 패키지를 UI 활성화 상태로 실행하려면 호스트에 GTK2를 사용할 수 있어야 합니다.
Robot Framework 테스트를 사용하려면 추가 필수 구성 요소 섹션을 따르세요. 그렇지 않으면 'Renode 실행' 섹션으로 진행하세요.
종속성 설치
dotnet
Renode는 dotnet >= 6.0이 필요합니다.
dotnet을 설치하려면 공식 설치 가이드를 따르세요.
기타 종속성 (Linux 전용)
Ubuntu 20.04에서는 다음 명령으로 나머지 종속성을 설치할 수 있습니다:
sudo apt-get install policykit-1 libgtk2.0-0 screen uml-utilities gtk-sharp2 libc6-dev libicu-dev gcc python3 python3-pip
다른 배포판을 사용하는 경우 패키지 관리자를 사용하여 유사한 패키지 목록을 설치해야 합니다. 패키지 이름이 약간 다를 수 있습니다.
패키지에서 설치
이 저장소의 릴리스 섹션으로 이동하여 시스템에 맞는 패키지를 다운로드하세요.
Linux
제공된 *.deb, *.rpm 또는 *.pkg.tar.xz 패키지를 사용하여 선호하는 패키지 관리자로 Renode를 설치하세요.
macOS
제공된 *.dmg를 일반적인 방법으로 사용하세요.
또한 macOS에서 명령줄로 Renode를 사용하려면 alias renode='/Applications/Renode.app/Contents/MacOS/renode' 및 alias renode-test='/Applications/Renode.app/Contents/MacOS/renode-test'를 사용 중인 셸에 따라 .bashrc 또는 .zshrc 파일에 추가하여 적절한 별칭을 만드세요.
Windows
제공된 *.msi 파일에서 Renode를 설치하세요. 설치 프로그램을 통해 바탕 화면 및/또는 시작 메뉴에 아이콘을 추가하고 PATH에 항목을 추가할 수 있습니다.
추가 필수 구성 요소
Robot Framework 테스트
테스트 케이스를 작성하고 실행하기 위해 Renode는 Robot 테스트 프레임워크와 통합됩니다.
이를 위해서는 Python 3(Windows의 경우 Cygwin도 필요합니다. 자세한 내용은 고급 설치 지침을 참조하십시오)과 pip(해당 패키지는 Linux에서 python-pip 또는 python3-pip라고 부를 수 있음)를 설치해야 합니다.
Python 3와 pip가 있으면 추가 모듈을 설치하세요:
python3 -m pip install -r tests/requirements.txt
기타 도구
또한 /tools 하위 디렉터리의 각 도구에는 Renode의 요구 사항과 별도로 requirements.txt 파일이 포함될 수 있습니다.
가상 환경에서 pip install -r requirements.txt로 설치하세요.
소스에서 빌드
소스에서 Renode를 빌드하는 방법에 대한 자세한 내용은 문서를 참조하세요.
Renode 실행
패키지로 설치하는 위의 지침을 따른 후에는 시스템 전체에서 renode 명령을 사용할 수 있어야 합니다:
renode [flags] [file]
소스에서 빌드한 경우 관련 디렉터리로 이동하여 다음을 사용하세요:
./renode [flags] [file]
선택적 [file] 인수를 사용하면 시작 시 실행할 스크립트의 경로를 제공할 수 있습니다.
이 스크립트는 몇 가지 선택적 플래그를 지원하며, 가장 유용한 플래그는 다음과 같습니다:
-p 출력에서 제어 코드(예: 색상) 제거
-P INT32 창을 여는 대신 지정된 포트에서 Monitor 명령 수신
-e COMMAND 시작 시 명령 실행 (선택적 스크립트 후 실행). 여러 번 사용 가능
--console 별도 창 대신 콘솔에서 Monitor 실행
--disable-gui XWT GUI 지원 비활성화. 자동으로 HideMonitor 설정
--hide-monitor Monitor 창을 표시하지 않음
--hide-log 콘솔에 로그 메시지를 표시하지 않음
--hide-analyzers 분석기 표시하지 않음
-v 버전 출력 후 종료
-h 도움말 및 사용법 정보 표시
Renode는 비슷한 선택적 플래그 세트로 Windows 시스템에서 실행할 수 있습니다.
샘플 시나리오
아래에서는 시뮬레이션된 하드웨어에서 실행되는 펌웨어 조각을 볼 수 있습니다. Renode Monitor는 UART 출력과 로거를 표시하는 분석기 창과 함께 표시됩니다. 이 특정 설정에 대한 자세한 내용은 전용 저장소를 참조하세요.
Linux에서 Renode를 실행하는 대체 방법
renode-run
renode-run은 Renode를 다운로드하여 실행하고, Renodepedia에서 사용 가능한 데모와 로컬 ELF 파일을 쉽게 실행할 수 있는 Python 스크립트입니다.
사용법은 저장소를 참조하세요.
renode-run은 휴대용 패키지를 기반으로 하며, 주요 장점은 단일 명령으로 Renode를 최신 나이틀리 빌드로 쉽게 업데이트할 수 있다는 것입니다.
pyrenode3
pyrenode3는 Renode와 프로그래밍 방식으로 상호 작용하기 위한 Python 라이브러리입니다.
사용법은 저장소를 참조하세요.
Docker 컨테이너에서 Renode 실행
Docker에서 Renode를 실행하려면 Docker Hub에서 사용 가능한 사전 빌드된 이미지를 사용할 수 있습니다.
Linux에서 대화형 모드로 Renode를 시작하려면 시스템에 Docker가 설치되어 있다고 가정하고 다음 중 하나를 실행하세요:
- 최신 번호 버전 빌드:
docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:latest - 나이틀리 dotnet 빌드:
docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:nightly-dotnet
그러면 Renode Monitor 창이 표시됩니다. 또는 위 줄 끝에 사용자 정의 명령을 제공할 수 있습니다.
X 서버 통과 없이 콘솔 모드로 이미지를 실행하려면 다음을 실행하세요:
docker run -ti antmicro/renode bash
명령에 -v 스위치를 더 추가하여 자신의 디렉터리를 마운트할 수 있습니다.
자세한 내용과 기본 Dockerfile은 GitHub 저장소를 방문하세요.
문서
문서는 Read the Docs에서 확인할 수 있습니다.
라이선스 및 기여
Renode는 허용적인 MIT 라이선스로 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
버그 신고, 기능 요청 및 GitHub 풀 리퀘스트/이슈를 통한 기여를 환영합니다. 자세한 내용은 CONTRIBUTING.md 파일을 참조하세요.
상업적 지원
Renode에 대한 상업적 지원은 Antmicro에서 제공합니다. Antmicro는 고객이 새로운 임베디드 기술과 현대적인 개발 방법론을 채택할 수 있도록 지원하는 전문 회사입니다.
Antmicro는 Renode 프레임워크와 관련 도구를 만들고 유지 관리하며, 새 플랫폼 추가, 통합, 플러그인 및 도구와 같은 서비스를 기꺼이 제공합니다.
서비스 문의는 [email protected]로 연락해 주십시오.