
renode v1.17.0
إطار محاكاة مفتوح المصدر لتطوير واختبار وتصحيح البرامج غير المعدلة لأنظمة الأنظمة المضمنة والإنترنت الأشياء متعددة العقد، يدعم ARM وRISC-V وx86 وغيرها.
رينود
حقوق النشر (ج) 2010-2026 أنتميكرو
ما هو رينود؟
تم إنشاء رينود بواسطة أنتميكرو كأداة تطوير افتراضية للشبكات المدمجة متعددة العقد (سلكية ولاسلكية) ويهدف إلى تمكين سير عمل قابل للتوسع لإنشاء أنظمة إنترنت الأشياء فعالة ومختبرة وآمنة.
مع رينود، يصبح تطوير واختبار وتصحيح ومحاكاة البرامج غير المعدلة لأجهزة إنترنت الأشياء سريعًا وفعالًا من حيث التكلفة وموثوقًا.
تشمل البنى المدعومة:
- ARMv7 و ARMv8 Cortex-A و Cortex-R و Cortex-M
- x86 و x86_64
- RISC-V
- SPARC
- POWER
- Xtensa
- MSP430X
لماذا نستخدم رينود؟
تم إنشاء رينود بناءً على سنوات عديدة من الخبرة في تطوير البرامج للأنظمة المدمجة - سواء للبوابات أو أجهزة الكمبيوتر المدمجة أو عقد الاستشعار ووحدات التحكم الدقيقة.
يعد اختبار وتطوير الأنظمة المادية المدمجة صعبًا بسبب ضعف قابلية إعادة الإنتاج والافتقار إلى الرؤية داخل الحالة الحالية للنظام، خاصة في سيناريوهات متعددة العقد.
يعالج رينود هذه المشكلة من خلال السماح لك بتشغيل ملفات ثنائية غير معدلة مطابقة تمامًا لتلك التي ستقوم عادةً بحرقها على أجهزتها المستهدفة على لوحة أو نظام من اللوحات الافتراضية.
أحد الجوانب المهمة للأداة هو أنها لا تحاكي وحدات المعالجة المركزية فحسب، بل تحاكي أيضًا أنظمة كاملة على شريحة (مثل أنظمة متعددة النوى غير المتجانسة والأجهزة الطرفية المختلفة) بالإضافة إلى الاتصالات السلكية أو اللاسلكية بينها، مما يسمح للمستخدمين بمعالجة سيناريوهات معقدة واختبار برامج الإنتاج الحقيقية.
التثبيت
الإصدارات والبنيات المتاحة
البنيات الليلية
البنيات الليلية لـ رينود لجميع الأنظمة متاحة على builds.renode.io.
أحدث البنيات متاحة دائمًا كحزم renode-latest.*.
تتوفر تنسيقات الحزم التالية:
renode-latest.linux-portable.tar.gz- حزمة لينكس محمولة، تحتوي على بيئة تشغيل dotnetrenode-latest.linux.tar.gz- أرشيف لينكس مبني مسبقًا، يتطلب تثبيت dotnet على المضيفrenode-latest.pkg.tar.xz- حزمة آرتش لينكسrenode-latest.x86_64.rpm- حزمة ريد هات / فيدوراrenode-latest.deb- حزمة توزيعة دبيانrenode-latest.osx-arm64-portable.dmg- حزمة ماك لأنظمة Apple Silicon (arm64)renode-latest.osx-x64-portable.dmg- حزمة ماك لأنظمة إنتل (x86_64)renode-latest.windows-portable.zip- حزمة ويندوز محمولة، بدون مثبتrenode-latest.setup.exe- مثبت ويندوزrenode-latest.tar.xz- مصادر رينود
الإصدارات المستقرة
الإصدارات المستقرة المرقمة وملاحظات الإصدار الخاصة بها متاحة في قسم الإصدارات على جيت هاب.
التثبيت من مخزن homebrew
على ماك، يمكن تثبيت كل من الإصدارات المستقرة والليلية لـ رينود باستخدام Homebrew من مخزننا المخصص.
لتثبيت الإصدار المستقر استخدم brew install renode/tap/renode، أو brew install renode/tap/renode-nightly لأحدث بنية ليلية.
سيؤدي هذا إلى تثبيت جميع التبعيات، بما في ذلك الإعداد المسبق لبيئة بايثون لـ renode-test
استخدام الإصدار المحمول على لينكس
إذا كنت مستخدم لينكس، فإن أسهل طريقة لاستخدام رينود هي تنزيل أحدث 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"
يرجى ملاحظة أن الحزمة المحمولة تتطلب توفر GTK2 على المضيف للتشغيل مع واجهة المستخدم المفعلة.
اتبع قسم المتطلبات الإضافية إذا كنت ترغب في استخدام Robot Framework للاختبار. وإلا، تابع إلى قسم 'تشغيل رينود'.
تثبيت التبعيات
dotnet
يتطلب رينود dotnet >= 6.0.
لتثبيت dotnet، اتبع دليل التثبيت الرسمي.
التبعيات الأخرى (لينكس فقط)
على أوبونتو 20.04، يمكنك تثبيت التبعيات المتبقية باستخدام الأمر التالي:
sudo apt-get install policykit-1 libgtk2.0-0 screen uml-utilities gtk-sharp2 libc6-dev libicu-dev gcc python3 python3-pip
إذا كنت تستخدم توزيعة مختلفة، فستحتاج إلى تثبيت قائمة مماثلة من الحزم باستخدام مدير الحزم الخاص بك؛ لاحظ أن أسماء الحزم قد تختلف قليلاً.
التثبيت من الحزم
انتقل إلى قسم الإصدارات لهذا المستودع وقم بتنزيل الحزمة المناسبة لنظامك.
لينكس
قم بتثبيت رينود باستخدام مدير الحزم المفضل لديك باستخدام الحزم *.deb أو *.rpm أو *.pkg.tar.xz المقدمة.
ماك
استخدم *.dmg المقدم كالمعتاد.
بالإضافة إلى ذلك، لاستخدام رينود من سطر الأوامر على ماك، قم بإنشاء الأسماء المستعارة المناسبة عن طريق إضافة alias renode='/Applications/Renode.app/Contents/MacOS/renode' و alias renode-test='/Applications/Renode.app/Contents/MacOS/renode-test' إلى ملف .bashrc أو .zshrc الخاص بك، حسب الصدفة التي تستخدمها.
ويندوز
قم بتثبيت رينود من ملف *.msi المقدم. سيسمح لك المثبت بإضافة أيقونات إلى سطح المكتب و/أو قائمة ابدأ وإدخال إلى PATH.
المتطلبات الإضافية
اختبار Robot Framework
لكتابة وتشغيل حالات الاختبار، يتكامل رينود مع إطار عمل Robot للاختبار.
يتطلب ذلك تثبيت بايثون 3 (على ويندوز، ستحتاج أيضًا إلى Cygwin - راجع تعليمات التثبيت المتقدمة) مع pip (لاحظ أن الحزمة ذات الصلة قد تسمى python-pip أو python3-pip على لينكس).
بمجرد حصولك على بايثون 3 و pip، قم بتثبيت الوحدات الإضافية:
python3 -m pip install -r tests/requirements.txt
أدوات أخرى
بالإضافة إلى ذلك، قد تحتوي كل أداة من الأدوات الموجودة في الدليل الفرعي /tools على ملف requirements.txt منفصل عن متطلبات رينود.
قم بتثبيتها في بيئتك الافتراضية باستخدام pip install -r requirements.txt.
البناء من المصدر
للحصول على معلومات حول بناء رينود من المصدر، راجع الوثائق.
تشغيل رينود
بعد اتباع الإرشادات أعلاه حول التثبيت من حزمة، يجب أن يكون الأمر renode متاحًا على مستوى النظام:
renode [flags] [file]
إذا قمت ببنائه من المصدر، انتقل إلى الدليل ذي الصلة واستخدم:
./renode [flags] [file]
تتيح لك الوسيطة الاختيارية [file] تقديم مسار إلى برنامج نصي لتشغيله عند بدء التشغيل.
يدعم البرنامج النصي عدة علامات اختيارية، وأكثرها فائدة معروضة أدناه:
-p إزالة رموز التحكم (مثل الألوان) من الإخراج
-P INT32 بدلاً من فتح نافذة، استمع لأوامر Monitor على المنفذ المحدد
-e COMMAND تنفيذ أمر عند بدء التشغيل (يتم تنفيذه بعد البرنامج النصي الاختياري). يمكن استخدامه عدة مرات
--console تشغيل Monitor في وحدة التحكم بدلاً من نافذة منفصلة
--disable-gui تعطيل دعم واجهة المستخدم الرسومية XWT. يحدد تلقائيًا HideMonitor
--hide-monitor لا تظهر نافذة Monitor
--hide-log لا تظهر رسائل السجل في وحدة التحكم
--hide-analyzers لا تظهر المحللات
-v طباعة الإصدار والخروج
-h عرض المساعدة ومعلومات الاستخدام
يمكن تشغيل رينود على أنظمة ويندوز مع مجموعة مماثلة من العلامات الاختيارية.
سيناريو نموذجي
أدناه، يمكنك رؤية قطعة من البرامج الثابتة تعمل على أجهزة محاكاة. تظهر نافذة Renode Monitor بجانب نافذة محلل تعرض مخرجات UART ومسجل. لمزيد من المعلومات حول هذا الإعداد بالذات، راجع مستودعه المخصص.
طرق بديلة لتشغيل رينود على لينكس
renode-run
renode-run هو برنامج نصي بلغة بايثون يقوم بتنزيل وتشغيل رينود، ويتيح لك تشغيل العروض التوضيحية المتاحة في Renodepedia وكذلك ملفات ELF المحلية بسهولة.
انتقل إلى المستودع للحصول على تعليمات الاستخدام.
تعتمد renode-run على حزمة محمولة وتتمثل ميزتها الرئيسية في سهولة تحديث رينود إلى أحدث بنية ليلية باستخدام أمر واحد.
pyrenode3
pyrenode3 هي مكتبة بايثون للتفاعل مع رينود برمجيًا.
انتقل إلى المستودع للحصول على تعليمات الاستخدام.
تشغيل رينود في حاوية Docker
إذا كنت ترغب في تشغيل رينود في Docker، يمكنك استخدام الصور المبنية مسبقًا المتاحة على Docker Hub.
لبدء تشغيل رينود في الوضع التفاعلي على لينكس، بافتراض أنك قمت بتثبيت 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 الأساسي، قم بزيارة المستودع على جيت هاب.
الوثائق
الوثائق متاحة على Read the Docs.
الترخيص والمساهمات
يتم إصدار رينود بموجب ترخيص MIT المتساهل. للحصول على التفاصيل، راجع ملف LICENSE.
نحن سعداء بقبول تقارير الأخطاء وطلبات الميزات والمساهمات عبر طلبات السحب / المشكلات على جيت هاب. للحصول على التفاصيل، راجع ملف CONTRIBUTING.md.
الدعم التجاري
يتم توفير الدعم التجاري لـ رينود بواسطة Antmicro، وهي شركة متخصصة في مساعدة عملائها على اعتماد تقنيات مدمجة جديدة ومنهجيات تطوير حديثة.
أنشأت وصانت شركة Antmicro إطار عمل رينود والأدوات ذات الصلة، وهي سعيدة بتقديم خدمات مثل إضافة منصات جديدة وعمليات التكامل والإضافات والأدوات.
للاستعلام عن خدماتنا، اتصل بنا على [email protected].