HeadlinesBriefing HeadlinesBriefing.com

esp32sim: محاكي ESP32 مفتوح المصدر بلغة Rust

Hacker News •
×

esp32sim هو محاكي ESP32 مفتوح المصدر يعمل في المتصفح أو محليًا. يشغّل البرامج الثابتة الحقيقية دون الحاجة إلى أي أجهزة مادية أو خدمات سحابية أو اشتراك. يهدف المشروع إلى تسهيل تجربة برمجيات ESP32 واختبارها ومحاكاتها دون الحاجة دائمًا إلى جهاز متصل. وقد شارك مطوره مقطع فيديو تجريبيًا قصيرًا، ويسأل مطوري الأنظمة المدمجة عن الميزات التي يحتاجها مثل هذا المحاكي قبل أن يتمكنوا من استخدامه في التطوير أو الاختبار أو التكامل المستمر.

كُتب المحاكي بلغة Rust ويُنفّذ محاكاة على مستوى التعليمات لأربع رقائق ESP32 عبر بنيتي المعالجات لدى Espressif. وتشمل الرقائق ESP32 الكلاسيكية وESP32-S3 اللتين تستخدمان أنوية Xtensa، وESP32-C3 وESP32-C6 اللتين تستخدمان أنوية RISC-V. تقلع كل رقاقة بذاكرة mask ROM الحقيقية وبمحمّل الإقلاع الحقيقي من المرحلة الثانية وبصورة التطبيق دون تعديل، دون أي برامج ثابتة مرقّعة أو stubs. كما يدعم ESP32 الكلاسيكية لوحة TTGO T-Display مع شاشتها ST7789 وأزرارها.

يُشترك كثير من منطق نظام الرقاقة الواحدة بين الرقاقات. فالرقاقة C3 تعيد استخدام نماذج UART والمؤقتات وGPIO ومتحكم ذاكرة SPI Flash وDMA ونماذج التشفير الخاصة بـS3، مع إضافة خريطة الذاكرة الخاصة بها ومتحكم الذاكرة المؤقتة ومصفوفة المقاطعات. أما C6 فتعيد استخدام النماذج نفسها مع خريطة ذاكرتها وواجهة المقاطعات الخاصة بها. الأنوية وحدها هي المختلفة فعليًا. المشروع مرخّص بموجب رخصة MIT، ويعمل إصدار المتصفح عبر WebAssembly.

يبقى سؤال المطور مفتوحًا: ما الذي يجعل هذا المحاكي عمليًا لسير عمل الأنظمة المدمجة الحقيقية؟

المصدر: Hacker News · لخّصه HeadlinesBriefing