Rust يوسع الحدود: دعم منصة جديدة للأنظمة المدمجة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

Rust تدعم رسميًا منصة جديدة: ماذا يعني هذا للمطورين؟



يستمر النظام البيئي لـ Rust في التوسع بنشاط. مؤخرًا، أعلن فريق Rust عن إضافة دعم رسمي لمنصة مستهدفة جديدة (target). هذا حدث مهم للمجتمع، خاصة للمطورين الذين يعملون مع الأنظمة المدمجة (embedded) وبيئات bare-metal. تفتح المنصة الجديدة الأبواب لاستخدام Rust في نطاق أوسع من الأجهزة - من وحدات التحكم الدقيقة (microcontrollers) إلى وحدات التحكم الصناعية.



يتعلق الأمر بمنصة ARMv8-M مع دعم الوضع الآمن (TrustZone for Armv8-M) وبدونه. هذه عائلة من وحدات التحكم الدقيقة 32 بت، تُستخدم في أجهزة إنترنت الأشياء (IoT)، وأجهزة الاستشعار، وأنظمة المنزل الذكي، والتطبيقات الحيوية التي تتطلب عزلًا وموثوقية على مستوى الأجهزة. سابقًا، كان الدعم تجريبيًا (tier 3)، والآن تم ترقيته إلى حالة tier 2، مما يعني ضمان عمل الأدوات الأساسية رسميًا.



ما الذي تغير؟

  • حالة المنصة: تم ترقية الـ target thumbv8m.main-none-eabi و thumbv8m.main-none-eabihf إلى المستوى tier 2.
  • التوفر: يتم الآن توفير المترجم والمكتبة القياسية في الإصدارات الرسمية لـ Rust (rustc, cargo).
  • الاختبار: تم إعداد بناء تلقائي وتشغيل اختبارات لهذه الأهداف في البنية التحتية للتكامل المستمر (CI) لـ Rust.
  • الأمان: دعم TrustZone يسمح بإنشاء بيئات تنفيذ موثوقة (TEE) على وحدات التحكم الدقيقة.


لماذا هذا مهم لمطوري الأنظمة المدمجة (embedded)؟

لقد أثبتت Rust نفسها منذ فترة طويلة كلغة للبرمجة على مستوى النظام، حيث تكون سلامة الذاكرة والأداء أمرًا بالغ الأهمية. ومع ذلك، كان دعم منصات الأجهزة المحددة غير متساوٍ. ARMv8-M هي عائلة حديثة تحل محل ARMv7-M القديمة. تعتمد الرقائق الجديدة من NXP و STMicroelectronics وبائعين آخرين بشكل متزايد على هذا النواة.

الآن، يمكن للمطورين استخدام جميع مزايا Rust (تكلفة صفرية للتجريدات، الملكية (ownership)، السمات (traits)) على وحدات التحكم الدقيقة هذه دون الحاجة إلى بناء المترجم من المصدر أو استخدام تصحيحات خارجية. هذا يخفض حاجز الدخول ويسرع تطوير البرامج الثابتة (firmware).



كيف يؤثر هذا على النظام البيئي؟

  • الكريتات (Crates): يمكن الآن اختبار وبناء المكتبات للعمل مع الأجهزة الطرفية (GPIO, SPI, I2C, UART) تحت الـ target الرسمي، مما يحسن توافقها.
  • المشاريع: أطر العمل مثل embedded-hal و cortex-m تحصل على أساس مستقر لدعم الرقائق الجديدة.
  • الأدوات: أدوات التصحيح (debuggers)، والمبرمجات (flashers)، وإضافات بيئة التطوير المتكاملة (IDE) (مثل probe-rs, cargo-flash) ستعمل مع المنصة الجديدة "خارج الصندوق".


ما هي الخطوات التالية؟

يخطط فريق Rust في الإصدارات القادمة لنقل عدة بنيات أخرى إلى المستوى tier 2، بما في ذلك RISC-V (RV32E و RV64E) وإصدارات محدثة من ARM Cortex-A. هذا جزء من استراتيجية طويلة المدى لجعل Rust اللغة الأساسية لجميع التطويرات المدمجة، بما في ذلك القياس عن بعد (telemetry)، والإلكترونيات automotive، وإلكترونيات الطيران (avionics).

للموارد التعليمية <

المكتبات الموصى بها