مبيد
Mbed هي منصة تطوير ونظام تشغيل للأجهزة المتصلة بالإنترنت ( أجهزة إنترنت الأشياء ) تعتمد على معالجات ARM Cortex-M الدقيقة ذات 32 بت . طُوّر المشروع بالتعاون بين شركة Arm وشركائها التقنيين. [ 1 ] اعتبارًا من يوليو 2024، توقفت Arm عن تطوير Mbed بشكل فعّال. [ 2 ]
النسخة الكاملة هي نظام تشغيل في الوقت الحقيقي (RTOS)، بينما يمكن للأجهزة ذات الموارد المحدودة اختيار استخدام مجموعة فرعية غير RTOS. [ 3 ]
بيئة التطوير
توفر المنصة بيئة تطوير تتضمن ما يلي:
- نظام التشغيل Mbed: نظام التشغيل الأساسي الذي يوفر واجهات برمجة تطبيقات موحدة ويدعم لغات البرمجة C/C++.
- Mbed Studio: بيئة تطوير متكاملة (IDE) توفر أدوات تصحيح الأخطاء ومحررات التعليمات البرمجية.
- Mbed CLI: أدوات سطر الأوامر.
تطوير البرمجيات
التطبيقات
الطريقة الأساسية لتطوير تطبيقات Mbed هي استخدام بيئة التطوير المتكاملة عبر الإنترنت "Keil Studio Cloud"، وهي بيئة تستخدم خدمات الحوسبة السحابية لبناء وتجميع تطبيقات Mbed. ويمكن أيضًا تطوير التطبيقات باستخدام بيئات تطوير أخرى مثل Keil μVision و IAR Embedded Workbench و Arduino IDE و Eclipse مع أدوات GCC ARM Embedded.
نظام التشغيل Mbed
يوفر نظام التشغيل Mbed OS منصة برمجية وأدوات Mbed C/C++ لإنشاء برامج ثابتة لوحدات التحكم الدقيقة التي تعمل على أجهزة إنترنت الأشياء. ويتألف من مكتبات أساسية توفر برامج تشغيل الأجهزة الطرفية لوحدات التحكم الدقيقة، والشبكات، ونظام التشغيل في الوقت الحقيقي، وبيئة التشغيل، وأدوات البناء، وبرامج الاختبار والتصحيح. ويمكن تأمين هذه الاتصالات باستخدام مكتبات SSL/TLS متوافقة مثل Mbed TLS أو wolfSSL ، التي تدعم mbed-rtos.
توفر قاعدة بيانات المكونات مكتبات برامج التشغيل للمكونات والخدمات التي يمكن توصيلها بوحدات التحكم الدقيقة لبناء منتج نهائي.
يعتمد نظام التشغيل Mbed OS، وهو نظام تشغيل في الوقت الحقيقي ، على Keil RTX5. [ 4 ] [ 5 ] [ 6 ]
تاريخ الإصدارات الرئيسية
| مسلسل | حالة | الإصدار الأول | آخر إصدار | وصف |
|---|---|---|---|---|
| Mbed 2 ("mbedlib" أو "mbed SDK") | تم إيقاف هذه الميزة، ولكنها لا تزال مدعومة من قبل Keil Studio Cloud | 8 أكتوبر 2009 [ 7 ] | r163 [ 8 ] (فبراير 2019) | سلسلة الإصدارات الأصلية من Mbed. في البداية، كان يعمل على لوحة Mbed NXP LPC1768، ولكن سرعان ما أُضيفت إليه دعم لوحات أخرى من عدد من الشركات المصنعة. لم يكن يحتوي على نظام تشغيل في الوقت الحقيقي، واعتمد على مكتبات مجتمعية للعديد من الميزات الشائعة مثل الشبكات والمعالجة المتعددة الخيوط. [ 9 ] |
| نظام التشغيل Mbed 3 | متروك | 15.09 (سبتمبر 2015) [ 10 ] | 16.03 [ 11 ] (مارس 2016) | كان Mbed 3.0 إعادة كتابة جوهرية لقاعدة بيانات Mbed الأصلية لإضافة ميزات أساسية لوظائف إنترنت الأشياء (IoT)، مثل الشبكات اللاسلكية وتشفير TLS. [ 12 ] [ 9 ] ومع ذلك، فقد اعتمد على كتابة برامج تعتمد على الأحداث ولم يدعم تعدد الخيوط التقليدي، مما حدّ من انتشاره. قدّم Mbed 3.0 نظام بناء جديدًا يُسمى Yotta. سمح هذا النظام بتقسيم Mbed إلى عدد كبير من الوحدات النمطية الفردية، لكل منها مستودعها الخاص. [ 13 ] [ 12 ] مع ذلك، لم يُستخدم Yotta في Mbed بعد سلسلة إصدارات Mbed 3.x. |
| نظام التشغيل Mbed OS 5.x | تم إيقاف هذه الميزة، ولكنها لا تزال مدعومة من قبل Keil Studio Cloud | 5.1.0 (أغسطس 2016) [ 14 ] | 5.15.9 (مايو 2022) [ 15 ] | جمع نظام التشغيل Mbed OS 5 وظائف من قاعدة بيانات Mbed 2 الأصلية، ومشروع mbed-rtos، ونظام التشغيل Mbed OS 3.0 في قاعدة بيانات واحدة يمكنها دعم مجموعة واسعة من حالات الاستخدام، بدءًا من وظائف المتحكمات الدقيقة الأساسية وصولًا إلى الاتصالات اللاسلكية وميزات إنترنت الأشياء المتقدمة. [ 9 ] استخدم نظام التشغيل Mbed OS 5 مرة أخرى نظام بناء مخصص جديد، وهو "Mbed CLI". ومع ذلك، فقد عاد إلى بنية مستودع متجانسة، حيث تم دمج جميع برامج التشغيل ووظائف الطرف الأول في مستودع Git واحد. |
| نظام التشغيل Mbed OS 6.x | مهجور [ 2 ] | 6.0.0 (يونيو 2020) [ 16 ] | 6.17.0 (فبراير 2023) [ 17 ] | كان نظام التشغيل Mbed OS 6 بمثابة تغيير تدريجي مقارنةً بنظام Mbed OS 5. فقد أعاد تنظيم قاعدة التعليمات البرمجية وتنظيفها بعدة طرق، مثل إيقاف واجهات برمجة التطبيقات القديمة وإعادة ترتيب بنية الدليل لتجميع التعليمات البرمجية بشكل أكثر منطقية. [ 18 ] كما قلّص قائمة اللوحات المدعومة، مركزًا الجهود على عدد أقل من الأجهزة المستهدفة التي تربطها علاقة عمل نشطة مع الشركة المصنعة لشركة ARM. [ 16 ] لا يزال نظام التشغيل Mbed OS 6 يدعم نظام بناء Mbed CLI، ولكن الإصدارات اللاحقة أضافت دعمًا لنظام بناء جديد يُسمى "Mbed CLI 2". [ 19 ] يستخدم هذا النظام نصوص CMake مُعدّلة لتجميع Mbed، مع غلاف Python للتفاعل معه. ولدعم مُجمِّع ARM Clang في هذا النظام، ساهمت ARM بمُحوِّل CMake إلى ARM Clang. [ 20 ] في التاسع من يوليو/تموز 2024، أُعلن [ 2 ] أن منصة ونظام تشغيل Mbed سيصلان إلى نهاية عمرهما الافتراضي في يوليو/تموز 2026... وقد أوقفت شركة Arm بالفعل الصيانة النشطة والتكامل المستمر (CI) لقاعدة بيانات نظام تشغيل Mbed. لذا، لا تتوقع رؤية أي إصلاحات أو تحسينات قبل يوليو/تموز 2026. بعد يوليو/تموز 2026، ستُؤرشف قاعدة البيانات على GitHub. |
تطوير الأجهزة
لوحات العرض التوضيحي

تتوفر العديد من لوحات العرض التوضيحي للأجهزة لمنصة Mbed، وأولها لوحة التحكم الدقيقة Mbed الأصلية. تعتمد لوحة التحكم الدقيقة Mbed (المسوقة باسم "mbed NXP LPC1768") على متحكم دقيق من NXP ، مزود بنواة ARM Cortex M3 تعمل بتردد 96 ميجاهرتز، وذاكرة فلاش بسعة 512 كيلوبايت ، وذاكرة وصول عشوائي (RAM) بسعة 32 كيلوبايت، بالإضافة إلى العديد من المنافذ، بما في ذلك إيثرنت ، وجهاز USB ، وCAN ، و SPI ، و I2C، ومنافذ إدخال/إخراج أخرى . [ 21 ] [ 22 ] وقد حازت لوحة التحكم الدقيقة Mbed على الجائزة الأولى في فئة البرمجيات/الأدوات المدمجة ضمن جوائز EDN السنوية للابتكار عام 2010. [ 23 ]
تم إصدار نسخ مختلفة من اللوحة، مع وحدات التحكم الدقيقة NXP LPC2368 ( ARM7TDMI-S ) وNXP LPC1768 ( Cortex-M3 ) وNXP LPC11U24 ( Cortex-M0 ) [ 24 ] .
HDK
صُممت مجموعة تطوير الأجهزة Mbed (HDK) خصيصًا لمصنعي المعدات الأصلية ، وتوفر معلومات لبناء أجهزة مخصصة تدعم نظام التشغيل Mbed. تتكون هذه المجموعة من برامج ثابتة للواجهة ومخططات يمكن استخدامها لإنشاء لوحات تطوير ووحدات OEM ومنتجات قابلة لإعادة البرمجة مناسبة للإنتاج بسهولة.
تطوير المشاريع
يتم تطوير المشروع بواسطة شركة Arm بالتعاون مع شركات تقنية كبرى أخرى ومجتمع مطوري Mbed. ويتم التطوير والمساهمات على مستويات مختلفة:
- المنصة الأساسية – منصة البرمجيات الأساسية، التي طوّرها المساهمون الرئيسيون والشركات الشريكة، ويتولى فريق Mbed إدارتها وصيانتها. تُطوّر هذه المنصة الأساسية بموجب ترخيص Apache 2.0 من خلال اتفاقية مساهمة . وتشمل جميع مكونات البرمجيات العامة الأساسية التي توفرها المنصة، بالإضافة إلى منافذ HAL التي تسمح لـ Mbed بالعمل بسلاسة على وحدات التحكم الدقيقة من مختلف المصنّعين، ومنافذ سلسلة الأدوات التي تتيح التطوير باستخدام سلاسل أدوات مضمنة مختلفة.
- قاعدة بيانات المكونات – مكتبة مكونات، طورتها شركات ومجتمع مطورين أوسع، لتوفير الدعم للمكونات الطرفية، وأجهزة الاستشعار، وأجهزة الراديو، والبروتوكولات، وواجهات برمجة تطبيقات الخدمات السحابية اللازمة لبناء الأجهزة النهائية. تُقدم هذه المكونات بموجب رخصة أباتشي 2.0 (مُشجعة) أو تراخيص أخرى يختارها المطورون، وتدعمها الشركات المعنية وأعضاء مجتمع المطورين.
أدوات التطوير
يدعم نظام التشغيل Mbed OS، وقد دعم، عددًا من أدوات التطوير المختلفة.
مُجمِّع Mbed عبر الإنترنت (تم إيقافه منذ عام 2022)
يمكن تطوير تطبيقات منصة Mbed باستخدام بيئة التطوير المتكاملة Mbed عبر الإنترنت ، وهي محرر ومترجم أكواد مجاني. يكفي تثبيت متصفح ويب على جهاز الكمبيوتر المحلي، حيث يتم تجميع المشاريع على السحابة، أي على خادم بعيد، باستخدام مترجم ARMCC للغة C/C++. توفر بيئة التطوير المتكاملة Mbed مساحات عمل خاصة مع إمكانية استيراد وتصدير ومشاركة الأكواد باستخدام نظام التحكم في الإصدارات الموزع Mercurial ، ويمكن استخدامها أيضًا لإنشاء وثائق الأكواد. [ 25 ]
لم يتضمن برنامج Mbed Online Compiler أي وظائف تصحيح الأخطاء، واعتمد على دورة تطوير حيث يقوم المستخدمون بتنزيل التعليمات البرمجية المجمعة كملف .bin، ثم نسخها يدويًا إلى لوحة Mbed (التي تظهر كقرص فلاش USB).
تم إيقاف تشغيل برنامج Mbed Online Compiler في 1 مارس 2023، وتم استبداله ببرنامج Keil Studio Cloud. [ 26 ]
واجهة سطر الأوامر Mbed
لتلبية الحاجة إلى تطوير نظام التشغيل Mbed OS دون اتصال بالإنترنت، أتاحت ARM واجهة سطر الأوامر Mbed CLI. وهي حزمة بايثون تسمح بإنشاء برامج Mbed OS واستيرادها وتجميعها من سطر الأوامر. كما تتكامل مع مستودعات Git الخارجية ومع مستودع مكتبات Mbed، موفرةً أوامر لتنزيل المكتبات وتحديثها من مصادر بعيدة. [ 27 ]
يتكون Mbed CLI داخليًا من قاعدتي بيانات مختلفتين. تعمل حزمة mbed-cli pip، التي توفر أمر mbed، كواجهة أمامية تستقبل الأوامر من المستخدم، وهي قادرة على تنزيل نظام التشغيل Mbed ومكتباته. ولتجميع Mbed والبرامج التي تستخدمه، تستدعي واجهة mbed-cli الأمامية نصوص أدوات البناء الموجودة في مستودع mbed-os. هذه النصوص مسؤولة عن تحديد خيارات التجميع الصحيحة وتنفيذ المُجمِّع والرابط.
بعد سنوات من التطوير، أصبحت صيانة نصوص أدوات البناء المعقدة عبئًا كبيرًا على مطوري نظام التشغيل Mbed. دفعهم هذا إلى تجميد كود أداة البناء والعمل على إنشاء Mbed CLI 2 بدلاً من ذلك. [ 28 ]
استوديو إم بيد
Mbed Studio هو بيئة تطوير متكاملة (IDE) مصممة خصيصًا للعمل مع نظام التشغيل Mbed OS. صدر لأول مرة في فبراير 2019، وقدّم Mbed Studio تجربة تحرير أكثر شمولًا من المُصرّف عبر الإنترنت، بما في ذلك ميزة الإكمال التلقائي الذكي للتعليمات البرمجية ودعم تصحيح الأخطاء. وكما هو الحال في المُصرّف عبر الإنترنت، يتضمن دعمًا مدمجًا لإنشاء مشاريع Mbed جديدة وتحديد التبعيات على المكتبات من مستودعات Git ومستودع مكتبات Mbed.
يستخدم Mbed Studio مُترجم Arm Compiler 6، المرخص خصيصًا من ARM لإدراجه في بيئة التطوير المتكاملة (IDE)، وذلك لمترجم لغة C/C++. أما بالنسبة لوظائف تصحيح الأخطاء، فيستخدم Mbed Studio برنامج pyOCD debug bridge، ولا يمكنه تصحيح أخطاء إلا الأجهزة التي يدعمها pyOCD. تعتمد بيئة التطوير المتكاملة نفسها على Eclipse Theia ، وقد صُممت لتكون قابلة للتكييف بسهولة للتشغيل في متصفح الويب - وهو مشروع تطور لاحقًا ليصبح Keil Studio Cloud. [ 29 ] دعم Mbed Studio في البداية أنظمة التشغيل Windows وMac، ثم نُقل لاحقًا ليعمل على Ubuntu Linux مع إصداره 1.0 في يونيو 2020. [ 30 ]
كيل ستوديو كلاود
على غرار مُجمِّع Mbed عبر الإنترنت، يُتيح Keil Studio Cloud تطوير تطبيقات نظام التشغيل Mbed OS دون الحاجة إلى تثبيت أي أدوات تطوير على الجهاز المحلي. ومع ذلك، فهو يدعم العديد من الميزات الإضافية، مثل وظيفة الإكمال التلقائي الذكي المُحسَّنة ونظام التحكم في الإصدارات المُدمج باستخدام Git. على عكس المُجمِّع عبر الإنترنت، يُمكن لـ Keil Studio Cloud تنزيل وتصحيح لوحات Mbed المدعومة مباشرةً من المتصفح باستخدام وظيفة WebUSB . يُتيح ذلك تجربة بناء وتصحيح بنقرة واحدة تُضاهي ما تُقدمه بيئات التطوير المتكاملة (IDEs) المكتبية. مع ذلك، لا تدعم هذه الوظيفة جميع لوحات Mbed أو أدوات تصحيح الأخطاء. [ 26 ]
مراجع
- ↑ "دليل مستخدم Arm Keil Studio Cloud" . خدمة التوثيق Arm . تم الاطلاع عليه بتاريخ 9 يناير 2023 .
- 1 2 3 "تحديث هام حول Mbed" . تم الاطلاع عليه بتاريخ 16-07-2024 .
- ↑ "مقدمة - مقدمة إلى نظام التشغيل Mbed OS 6 | وثائق Mbed OS 6" . os.mbed.com . تم الاطلاع عليه بتاريخ 15 مارس 2024 .
- ↑ "الصفحة الرئيسية" . arm-software.github.io . تم الاطلاع عليه بتاريخ 2021-04-05 .
- ↑ "Keil RTX5" . www2.keil.com . تم الاطلاع عليه بتاريخ 2021-04-05 .
- ↑ "معمارية - مقدمة إلى نظام التشغيل Mbed OS 6 | وثائق نظام التشغيل Mbed OS 6" . os.mbed.com . تم الاطلاع عليه بتاريخ 5 أبريل 2021 .
- ↑ "mbed متوفر الآن! | mbed" . 2010-04-04. مؤرشف من الأصل في 4 أبريل 2010. تم الاطلاع عليه بتاريخ 26 أبريل 2025 .
- ↑ "mbed-dev - مصادر مكتبة mbed. يحل محل mbed-src. | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 2023-08-08 .
- 1 2 3 "تقديم نظام التشغيل mbed OS 5 | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 2023-08-08 .
- ↑ "mbed OS 15.09 | mbed" . 10-06-2016. مؤرشف من الأصل في 10-06-2016 . تم الاطلاع عليه في 01-07-2024 .
- ↑ "الإصدارات | mbed" . 10-06-2016. مؤرشف من الأصل في 10-06-2016 . تم الاطلاع عليه في 08-08-2023 .
- 1 2 "الإعلان عن خططنا لإصدار mbed v3.0 | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 2023-08-08 .
- ↑ نظام التشغيل ARM Mbed 3 ، Arm Mbed، 24-09-2018 ، تم الاطلاع عليه بتاريخ 08-08-2023
- ↑ "إصدار mbed-os-5.1.0 · ARMmbed/mbed-os" . GitHub . تم الاطلاع عليه بتاريخ 2024-07-01 .
- ↑ "إصدار mbed-os-5.15.9 · ARMmbed/mbed-os" . GitHub . تم الاطلاع عليه بتاريخ 2023-08-08 .
- ١ ٢ "تم إصدار نظام التشغيل Arm Mbed OS 6.0 اليوم | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ ٨ أغسطس ٢٠٢٣ .
- ↑ "إصدار mbed-os-6.17.0 · ARMmbed/mbed-os" . GitHub . تم الاطلاع عليه بتاريخ 2023-08-08 .
- ↑ "بنية دليل جديدة لنظام التشغيل Mbed | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 2023-08-08 .
- ↑ "تقديم أدوات Mbed الجديدة | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 2023-08-08 .
- ↑ "mbed-os/tools/cmake/README.md at mbed-os-6.15.0 · ARMmbed/mbed-os" . GitHub . تم الاطلاع عليه بتاريخ 2023-08-08 .
- ↑ mbed LPC1768 | Mbed.com
- ↑ "مراجعة على موقع devmonkey.edn.com" . مؤرشفة من الأصل بتاريخ 2018-04-01 . تم الاطلاع عليها بتاريخ 2014-12-13 .
- ↑ بيان صحفي من شركة ARM
- ↑ إعلان mbed Cortex M0 LPC11U24
- ↑ "دليل استخدام مُجمِّع mbed | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 2023-08-08 .
- 1 2 "مقدمة إلى Keil Studio Cloud وإيقاف Mbed Online Compiler | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 2023-08-08 .
- ↑ "Mbed CLI 1 - أدوات البناء | وثائق نظام التشغيل Mbed OS 6" . os.mbed.com . تم الاطلاع عليه بتاريخ 1 يوليو 2024 .
- ↑ "تقديم أدوات Mbed الجديدة | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 1 يوليو 2024 .
- ↑ "Mbed Studio Public Beta | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 2024-07-01 .
- ↑ "إصدار Mbed Studio 1.0 | Mbed" . os.mbed.com . تم الاطلاع عليه بتاريخ 1 يوليو 2024 .
روابط خارجية
- أنظمة تشغيل ARM
- برنامج المتحكم الدقيق
