
renode v1.17.0
मल्टी-नोड एम्बेडेड और IoT सिस्टम के लिए अपरिवर्तित सॉफ्टवेयर के विकास, परीक्षण और डिबगिंग के लिए खुला-स्रोत सिमुलेशन ढांचा, जो ARM, RISC-V, x86 और अधिक का समर्थन करता है।
Renode
कॉपीराइट (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) Macs के लिए macOS पैकेजrenode-latest.osx-x64-portable.dmg- Intel (x86_64) Macs के लिए macOS पैकेजrenode-latest.windows-portable.zip- Windows पोर्टेबल पैकेज, बिना इंस्टॉलर केrenode-latest.setup.exe- Windows इंस्टॉलरrenode-latest.tar.xz- Renode स्रोत
स्थिर रिलीज़
स्थिर, क्रमांकित रिलीज़ और उनके रिलीज़ नोट GitHub पर Releases अनुभाग में उपलब्ध हैं।
Homebrew टैप से इंस्टॉलेशन
macOS पर Renode के स्थिर और नाइटली दोनों संस्करणों को हमारे कस्टम टैप से 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 का उपयोग करने के लिए, अपने .bashrc या .zshrc फ़ाइल में alias renode='/Applications/Renode.app/Contents/MacOS/renode' और alias renode-test='/Applications/Renode.app/Contents/MacOS/renode-test' जोड़कर उपयुक्त उपनाम बनाएं, यह इस बात पर निर्भर करता है कि आप किस शेल का उपयोग कर रहे हैं।
Windows
प्रदान किए गए *.msi फ़ाइल से Renode स्थापित करें। इंस्टॉलर आपको अपने डेस्कटॉप और/या स्टार्ट मेनू में आइकन और अपने PATH में एक प्रविष्टि जोड़ने की अनुमति देगा।
अतिरिक्त पूर्वापेक्षाएँ
Robot Framework परीक्षण
परीक्षण मामले लिखने और चलाने के लिए, Renode Robot परीक्षण फ्रेमवर्क के साथ एकीकृत होता है।
इसके लिए आपको pip के साथ Python 3 स्थापित करना होगा (Windows पर, आपको Cygwin की भी आवश्यकता होगी - उन्नत स्थापना निर्देश देखें) (ध्यान दें कि 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 एक Python स्क्रिप्ट है जो Renode को डाउनलोड और चलाता है, और आपको Renodepedia में उपलब्ध डेमो के साथ-साथ स्थानीय ELF फ़ाइलें आसानी से चलाने देता है।
उपयोग निर्देशों के लिए रिपॉजिटरी पर जाएं।
renode-run एक पोर्टेबल पैकेज पर निर्भर करता है और इसका मुख्य लाभ एक ही कमांड का उपयोग करके Renode को नवीनतम नाइटली बिल्ड में अपडेट करने की आसानी है।
pyrenode3
pyrenode3 एक Python लाइब्रेरी है जो Renode के साथ प्रोग्रामेटिक रूप से इंटरैक्ट करने के लिए है।
उपयोग निर्देशों के लिए रिपॉजिटरी पर जाएं।
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 ने Renode Framework और संबंधित टूलिंग बनाया और बनाए रखा है, और नए प्लेटफ़ॉर्म, एकीकरण, प्लगइन और टूल जोड़ने जैसी सेवाएं प्रदान करने में प्रसन्न है।
हमारी सेवाओं के बारे में पूछताछ करने के लिए, हमसे [email protected] पर संपर्क करें।