इस प्रोजेक्ट के बारे में

Renode, Antmicro द्वारा निर्मित एक ओपन-सोर्स सिमुलेशन और वर्चुअल डेवलपमेंट फ्रेमवर्क है, जो मल्टी-नोड वायर्ड और वायरलेस नेटवर्क सहित जटिल एम्बेडेड सिस्टम के लिए बनाया गया है। इसे भौतिक हार्डवेयर पर निर्भर हुए बिना IoT और एम्बेडेड सॉफ़्टवेयर के निर्माण, परीक्षण और डिबगिंग के लिए एक स्केलेबल वर्कफ़्लो का समर्थन करने के लिए डिज़ाइन किया गया है। मूल विचार यह है कि लक्ष्य हार्डवेयर पर फ्लैश किए जाने वाले बाइनरी के समान बिना संशोधित बाइनरी को वर्चुअल बोर्ड या बोर्डों के सिस्टम पर चलाया जाए। Renode केवल CPU ही नहीं, बल्कि पूरे SoC का सिमुलेशन करता है, जिसमें हेटेरोजीनियस मल्टीकोर डिज़ाइन और पेरिफेरल्स के साथ-साथ नोड्स के बीच कनेक्शन भी शामिल हैं। इससे जटिल मल्टी-नोड परिदृश्यों को पुन: प्रस्तुत करना और उनका निरीक्षण करना संभव हो जाता है, जिन्हें वास्तविक हार्डवेयर पर देखना कठिन होता है। समर्थित आर्किटेक्चर में ARMv7 और ARMv8 Cortex-A, Cortex-R और Cortex-M, x86 और x86_64, RISC-V, SPARC, POWER, Xtensa और MSP430X शामिल हैं। इंस्टॉलेशन विकल्पों में Linux, macOS और Windows के लिए नाइटली बिल्ड, स्थिर क्रमांकित रिलीज़, macOS के लिए Homebrew टैप, वितरण पैकेज (deb, rpm, pkg.tar.xz), पोर्टेबल आर्काइव, Windows इंस्टॉलर और Docker इमेज शामिल हैं। Renode के लिए dotnet 6.0 या नया संस्करण आवश्यक है; पोर्टेबल Linux पैकेज में रनटाइम एम्बेडेड होता है, जबकि अन्य पैकेजों के लिए होस्ट पर dotnet की आवश्यकता हो सकती है। स्रोत से बिल्ड करना अलग से प्रलेखित है। `renode` कमांड एक वैकल्पिक स्टार्टअप स्क्रिप्ट और हेडलेस या कंसोल संचालन के लिए फ्लैग स्वीकार करता है, जैसे GUI को अक्षम करना, मॉनिटर या लॉग को छिपाना, किसी पोर्ट पर Monitor कमांड के लिए सुनना, और स्टार्टअप पर कमांड निष्पादित करना। Renode परीक्षण मामलों को लिखने और चलाने के लिए Robot Framework के साथ एकीकृत होता है, और अतिरिक्त टूलिंग में डेमो या स्थानीय ELF फ़ाइलों को डाउनलोड करने और चलाने के लिए `renode-run`, और Python से प्रोग्रामेटिक इंटरैक्शन के लिए `pyrenode3` शामिल हैं। दस्तावेज़ीकरण Read the Docs पर होस्ट किया गया है। यह प्रोजेक्ट MIT लाइसेंस के तहत जारी किया गया है और GitHub के माध्यम से बग रिपोर्ट, फीचर अनुरोध और योगदान स्वीकार करता है। वाणिज्यिक समर्थन और सेवाएँ Antmicro द्वारा प्रदान की जाती हैं।