النظام المضمن

نظام مضمن على بطاقة توصيل مع معالج وذاكرة ومصدر طاقة وواجهات خارجية

النظام المضمن هو نظام كمبيوتر متخصص - وهو مزيج من معالج الكمبيوتر وذاكرة الكمبيوتر وأجهزة الإدخال والإخراج الطرفية - له وظيفة مخصصة داخل نظام ميكانيكي أو إلكتروني أكبر . [1] [2] يتم تضمينه كجزء من جهاز كامل غالبًا ما يتضمن أجهزة كهربائية أو إلكترونية وأجزاء ميكانيكية. نظرًا لأن النظام المضمن يتحكم عادةً في العمليات المادية للجهاز الذي يتم تضمينه فيه، فإنه غالبًا ما يكون لديه قيود حوسبة في الوقت الفعلي . تتحكم الأنظمة المضمنة في العديد من الأجهزة المستخدمة بشكل شائع. [3] في عام 2009 ، قُدِّر أن ثمانية وتسعين بالمائة من جميع المعالجات الدقيقة المصنعة كانت تستخدم في الأنظمة المضمنة. [4] [ بحاجة لتحديث ]

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

نظرًا لأن النظام المضمن مخصص لمهام محددة، يمكن لمهندسي التصميم تحسينه لتقليل حجم المنتج وتكلفته وزيادة موثوقيته وأدائه. يتم إنتاج بعض الأنظمة المضمنة بكميات كبيرة، مما يستفيد من اقتصاديات الحجم .

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

تتراوح الأنظمة المضمنة من الأنظمة ذات التعقيد المنخفض، والتي تحتوي على شريحة متحكم دقيقة واحدة، إلى الأنظمة ذات التعقيد العالي للغاية والتي تحتوي على وحدات متعددة وأجهزة محيطية وشبكات، والتي قد توجد في رفوف المعدات أو عبر مناطق جغرافية كبيرة متصلة عبر خطوط اتصالات طويلة المدى.

تاريخ

خلفية

يمكن إرجاع أصول المعالج الدقيق والميكروكنترولر إلى الدائرة المتكاملة MOS ، وهي شريحة دائرة متكاملة مصنوعة من MOSFETs ( ترانزستورات تأثير المجال المعدنية والأكسيدية شبه الموصلة ) وتم تطويرها في أوائل الستينيات. بحلول عام 1964، وصلت شرائح MOS إلى كثافة ترانزستور أعلى وتكاليف تصنيع أقل من الرقائق ثنائية القطب . زادت رقائق MOS في التعقيد بمعدل تنبأ به قانون مور ، مما أدى إلى التكامل واسع النطاق (LSI) مع مئات الترانزستورات على شريحة MOS واحدة بحلول أواخر الستينيات. كان تطبيق شرائح MOS LSI على الحوسبة هو الأساس لأول معالجات دقيقة، حيث بدأ المهندسون يدركون أنه يمكن احتواء نظام معالج كمبيوتر كامل على عدة شرائح MOS LSI. [5]

تم تطوير أول معالجات دقيقة متعددة الرقائق، Four-Phase Systems AL1 في عام 1969 و Garrett AiResearch MP944 في عام 1970، باستخدام رقائق MOS LSI متعددة. كان أول معالج دقيق أحادي الرقاقة هو Intel 4004 ، الذي تم إصداره في عام 1971. تم تطويره بواسطة Federico Faggin ، باستخدام تقنية MOS ذات البوابة السيليكونية ، جنبًا إلى جنب مع مهندسي Intel Marcian Hoff و Stan Mazor ، ومهندس Busicom Masatoshi Shima . [6]

تطوير

كان أحد أول الأنظمة المضمنة الحديثة التي يمكن التعرف عليها هو جهاز كمبيوتر التوجيه الخاص بأبولو ، [ بحاجة لمصدر ] الذي طوره تشارلز ستارك درابر في مختبر الأجهزة التابع لمعهد ماساتشوستس للتكنولوجيا عام 1965 تقريبًا . في بداية المشروع، كان جهاز كمبيوتر التوجيه الخاص بأبولو يُعتبر العنصر الأكثر خطورة في مشروع أبولو لأنه استخدم الدوائر المتكاملة المتجانسة التي تم تطويرها حديثًا في ذلك الوقت لتقليل حجم الكمبيوتر ووزنه.

كان أحد الأنظمة المضمنة المبكرة التي تم إنتاجها بكميات كبيرة هو كمبيوتر التوجيه Autonetics D-17 لصاروخ Minuteman ، والذي تم إصداره في عام 1961. عندما دخل Minuteman II إلى الإنتاج في عام 1966، تم استبدال D-17 بجهاز كمبيوتر جديد يمثل أول استخدام واسع النطاق للدوائر المتكاملة.

منذ ظهور هذه التطبيقات المبكرة في ستينيات القرن العشرين، انخفضت أسعار الأنظمة المضمنة، كما شهدنا ارتفاعًا كبيرًا في قوة المعالجة والوظائف. صُمم المعالج الدقيق المبكر، Intel 4004 (الذي تم إصداره في عام 1971)، للآلات الحاسبة وغيرها من الأنظمة الصغيرة، ولكنه كان لا يزال يتطلب ذاكرة خارجية وشرائح دعم. وبحلول أوائل الثمانينيات، تم دمج مكونات الذاكرة ونظام الإدخال والإخراج في نفس الشريحة التي يتكون منها المعالج لتشكيل متحكم دقيق. تجد المتحكمات الدقيقة تطبيقات حيث يكون الكمبيوتر للأغراض العامة مكلفًا للغاية. ومع انخفاض تكلفة المعالجات الدقيقة والمتحكمات الدقيقة، زاد انتشار الأنظمة المضمنة.

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

التطبيقات

مجموعة فرعية للكمبيوتر المضمن لآلة التصويت الإلكترونية Accupoll [7]

توجد الأنظمة المضمنة بشكل شائع في التطبيقات الاستهلاكية والصناعية والسيارات والأجهزة المنزلية والطبية والاتصالات والتجارية والفضائية والعسكرية.

تستخدم أنظمة الاتصالات العديد من الأنظمة المضمنة من مفاتيح الهاتف للشبكة إلى الهواتف المحمولة لدى المستخدم النهائي . تستخدم الشبكات الحاسوبية أجهزة توجيه مخصصة وجسور شبكة لتوجيه البيانات.

تشمل الأجهزة الإلكترونية الاستهلاكية مشغلات MP3 وأجهزة التلفزيون والهواتف المحمولة وأجهزة ألعاب الفيديو والكاميرات الرقمية وأجهزة استقبال نظام تحديد المواقع العالمي ( GPS ) والطابعات . تشمل الأجهزة المنزلية ، مثل أفران الميكروويف والغسالات وغسالات الصحون ، أنظمة مدمجة لتوفير المرونة والكفاءة والميزات. تستخدم أنظمة التدفئة والتهوية وتكييف الهواء المتقدمة ترموستات متصلة بالشبكة للتحكم في درجة الحرارة التي يمكن أن تتغير حسب الوقت من اليوم والموسم بشكل أكثر دقة وكفاءة . تستخدم أتمتة المنزل الشبكات السلكية واللاسلكية التي يمكن استخدامها للتحكم في الأضواء والمناخ والأمن والصوت / المرئي والمراقبة وما إلى ذلك، وكلها تستخدم أجهزة مدمجة للاستشعار والتحكم.

تستخدم أنظمة النقل من الطيران إلى السيارات بشكل متزايد الأنظمة المدمجة. تحتوي الطائرات الجديدة على إلكترونيات طيران متقدمة مثل أنظمة التوجيه بالقصور الذاتي وأجهزة استقبال نظام تحديد المواقع العالمي (GPS) التي لها أيضًا متطلبات أمان كبيرة. تعتمد المركبات الفضائية على أنظمة الإلكترونيات الفلكية لتصحيح المسار. تستخدم المحركات الكهربائية المختلفة - محركات التيار المستمر بدون فرشاة والمحركات الحثية ومحركات التيار المستمر - وحدات تحكم إلكترونية للمحركات . تستخدم السيارات والمركبات الكهربائية والمركبات الهجينة بشكل متزايد الأنظمة المدمجة لزيادة الكفاءة وتقليل التلوث. تشمل أنظمة سلامة السيارات الأخرى التي تستخدم الأنظمة المدمجة نظام الفرامل المانعة للانغلاق (ABS) والتحكم الإلكتروني في الثبات (ESC / ESP) والتحكم في الجر (TCS) والدفع الرباعي الأوتوماتيكي .

تستخدم المعدات الطبية أنظمة مدمجة للمراقبة ، وأنواع مختلفة من التصوير الطبي ( التصوير المقطعي بالإصدار البوزيتروني (PET)، والتصوير المقطعي المحوسب بالانبعاث الفوتوني الفردي (SPECT)، والتصوير المقطعي المحوسب (CT)، والتصوير بالرنين المغناطيسي (MRI) للفحوصات الداخلية غير الجراحية. غالبًا ما تعمل الأنظمة المضمنة داخل المعدات الطبية بأجهزة كمبيوتر صناعية. [8]

تُستخدم الأنظمة المضمنة في الأنظمة ذات الأهمية الحرجة للسلامة في صناعات الطيران والدفاع. ما لم يتم توصيلها بشبكات سلكية أو لاسلكية عبر شبكة خلوية 3G مدمجة أو طرق أخرى لأغراض مراقبة إنترنت الأشياء والتحكم فيها، يمكن عزل هذه الأنظمة عن الاختراق وبالتالي تكون أكثر أمانًا. [ بحاجة لمصدر ] من أجل السلامة من الحرائق، يمكن تصميم الأنظمة بحيث تتمتع بقدرة أكبر على التعامل مع درجات الحرارة الأعلى والاستمرار في العمل. في التعامل مع الأمان، يمكن أن تكون الأنظمة المضمنة مكتفية ذاتيًا وتكون قادرة على التعامل مع أنظمة الاتصالات والكهرباء المقطوعة.

الأجهزة اللاسلكية المصغرة التي تسمى موتيس هي أجهزة استشعار لاسلكية متصلة بالشبكة. تستفيد شبكات الاستشعار اللاسلكية من التصغير الذي أصبح ممكنًا بفضل تصميم الدوائر المتكاملة المتقدمة (IC) لربط أنظمة فرعية لاسلكية كاملة بأجهزة استشعار متطورة، مما يتيح للأشخاص والشركات قياس عدد لا يحصى من الأشياء في العالم المادي والتصرف بناءً على هذه المعلومات من خلال أنظمة المراقبة والتحكم. هذه الموتيس مستقلة تمامًا وستعمل عادةً على مصدر بطارية لسنوات قبل الحاجة إلى تغيير البطاريات أو شحنها.

صفات

تم تصميم الأنظمة المضمنة لأداء مهمة محددة، على النقيض من أجهزة الكمبيوتر العامة المصممة لأداء مهام متعددة. بعضها لديه قيود أداء في الوقت الفعلي يجب الوفاء بها، لأسباب مثل السلامة وسهولة الاستخدام؛ وقد يكون لدى البعض الآخر متطلبات أداء منخفضة أو معدومة، مما يسمح بتبسيط أجهزة النظام لتقليل التكاليف.

لا تعد الأنظمة المضمنة دائمًا أجهزة مستقلة. فالعديد من الأنظمة المضمنة عبارة عن جزء صغير داخل جهاز أكبر يخدم غرضًا أكثر عمومية. على سبيل المثال، يتميز روبوت جيتار جيبسون بنظام مضمن لضبط الأوتار، لكن الغرض العام من روبوت جيتار هو تشغيل الموسيقى. [9] وبالمثل، يوفر النظام المضمن في السيارة وظيفة محددة كنظام فرعي للسيارة نفسها.

أنظمة e-con eSOM270 و eSOM300 على الكمبيوتر

تُعرف تعليمات البرامج المكتوبة للأنظمة المضمنة باسم البرامج الثابتة ، ويتم تخزينها في ذاكرة للقراءة فقط أو شرائح ذاكرة فلاش . وهي تعمل بموارد محدودة من أجهزة الكمبيوتر: ذاكرة صغيرة، ولوحة مفاتيح أو شاشة صغيرة أو غير موجودة.

واجهات المستخدم

واجهة مستخدم نص النظام المضمن باستخدام MicroVGA [nb 1]

تتراوح الأنظمة المضمنة من عدم وجود واجهة مستخدم على الإطلاق، في الأنظمة المخصصة لمهمة واحدة، إلى واجهات مستخدم رسومية معقدة تشبه أنظمة تشغيل سطح المكتب الحديثة للكمبيوتر. تستخدم الأجهزة المضمنة البسيطة أزرارًا وثنائيات باعثة للضوء (LED) وشاشات عرض رسومية أو رقمية من الكريستال السائل (LCD) مع نظام قائمة بسيط . توفر الأجهزة الأكثر تطورًا التي تستخدم شاشة رسومية مع استشعار اللمس أو مفاتيح ناعمة على حافة الشاشة المرونة مع تقليل المساحة المستخدمة: يمكن أن يتغير معنى الأزرار مع الشاشة، ويتضمن الاختيار السلوك الطبيعي للإشارة إلى ما هو مطلوب.

توفر بعض الأنظمة واجهة مستخدم عن بُعد بمساعدة اتصال تسلسلي (مثل RS-232 ) أو اتصال شبكي (مثل Ethernet ). يعمل هذا النهج على توسيع قدرات النظام المضمن، وتجنب تكلفة العرض، وتبسيط حزمة دعم اللوحة (BSP) والسماح للمصممين ببناء واجهة مستخدم غنية على الكمبيوتر الشخصي. ومن الأمثلة الجيدة على ذلك الجمع بين خادم HTTP المضمن الذي يعمل على جهاز مضمن (مثل كاميرا IP أو جهاز توجيه الشبكة ). يتم عرض واجهة المستخدم في متصفح الويب على جهاز كمبيوتر متصل بالجهاز.

المعالجات في الأنظمة المضمنة

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

تم تطوير العديد من وحدات التحكم الدقيقة لاستخدامها في الأنظمة المضمنة. كما تُستخدم المعالجات الدقيقة للأغراض العامة في الأنظمة المضمنة، ولكنها تتطلب عمومًا دوائر دعم أكثر من وحدات التحكم الدقيقة.

لوحات كمبيوتر جاهزة

PC/104 وPC/104+ هما مثالان على معايير لوحات الكمبيوتر الجاهزة المخصصة للأنظمة المضمنة والمتينة الصغيرة والمنخفضة الحجم. تعتمد هذه الأنظمة في الغالب على x86 وغالبًا ما تكون صغيرة الحجم مقارنة بالكمبيوتر الشخصي القياسي، على الرغم من أنها لا تزال كبيرة جدًا مقارنة بمعظم الأنظمة المضمنة البسيطة (8/16 بت). قد تستخدم أنظمة DOS أو FreeBSD أو Linux أو NetBSD أو OpenHarmony أو نظام تشغيل في الوقت الفعلي (RTOS) مضمن مثل MicroC/OS-II أو QNX أو VxWorks .

في تطبيقات معينة، حيث لا يشكل الحجم الصغير أو كفاءة الطاقة اهتمامًا أساسيًا، قد تكون المكونات المستخدمة متوافقة مع تلك المستخدمة في أجهزة الكمبيوتر الشخصية x86 للأغراض العامة. تساعد اللوحات مثل مجموعة VIA EPIA في سد الفجوة من خلال كونها متوافقة مع أجهزة الكمبيوتر الشخصية ولكنها متكاملة للغاية، أو أصغر حجمًا ماديًا أو لها سمات أخرى تجعلها جذابة لمهندسي الأجهزة المدمجة. تتمثل ميزة هذا النهج في أنه يمكن استخدام مكونات السلع منخفضة التكلفة جنبًا إلى جنب مع نفس أدوات تطوير البرامج المستخدمة في تطوير البرامج العامة. لا تزال الأنظمة المبنية بهذه الطريقة تعتبر مدمجة لأنها مدمجة في أجهزة أكبر وتؤدي دورًا واحدًا. ومن الأمثلة على الأجهزة التي قد تتبنى هذا النهج ماكينات الصراف الآلي (ATM) وأجهزة الألعاب ، والتي تحتوي على كود خاص بالتطبيق.

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

يستخدم أحد أنماط التصميم الشائعة وحدة نظام صغيرة، ربما بحجم بطاقة العمل، تحمل شرائح BGA عالية الكثافة مثل معالج النظام على الشريحة القائم على ARM والأجهزة الطرفية، وذاكرة فلاش خارجية للتخزين، وذاكرة DRAM للذاكرة وقت التشغيل. عادةً ما يوفر بائع الوحدة برنامج تمهيد ويتأكد من وجود مجموعة مختارة من أنظمة التشغيل، بما في ذلك Linux وبعض الخيارات في الوقت الفعلي. يمكن تصنيع هذه الوحدات بكميات كبيرة، من قبل المنظمات المألوفة بقضايا الاختبار المتخصصة لديها، ودمجها مع اللوحات الرئيسية المخصصة ذات الحجم الأقل بكثير مع الأجهزة الطرفية الخارجية الخاصة بالتطبيق. تشمل الأمثلة البارزة لهذا النهج Arduino و Raspberry Pi .

حلول ASIC وFPGA SoC

يحتوي النظام على شريحة (SoC) على نظام كامل - يتكون من معالجات متعددة ومضاعفات وذاكرة تخزين مؤقتة وحتى أنواع مختلفة من الذاكرة وأجهزة محيطية مختلفة مثل واجهات الاتصالات السلكية أو اللاسلكية على شريحة واحدة. غالبًا ما يتم تضمين وحدات معالجة الرسومات (GPU) ومعالجات الإشارات الرقمية (DSP) في مثل هذه الشرائح. يمكن تنفيذ SoCs كدائرة متكاملة خاصة بالتطبيق (ASIC) أو باستخدام مصفوفة بوابات قابلة للبرمجة ميدانيًا (FPGA) والتي يمكن إعادة تكوينها عادةً.

تعد تطبيقات ASIC شائعة في الأنظمة المضمنة عالية الحجم مثل الهواتف المحمولة والهواتف الذكية . يمكن استخدام تطبيقات ASIC أو FPGA في الأنظمة المضمنة غير عالية الحجم ذات الاحتياجات الخاصة في نوع أداء معالجة الإشارة والواجهات والموثوقية، كما هو الحال في الطيران.

الأجهزة الطرفية

صورة مقربة لشريحة SMSC LAN91C110 (SMSC 91x)، وهي شريحة إيثرنت مدمجة

تتحدث الأنظمة المضمنة مع العالم الخارجي عبر الأجهزة الطرفية ، مثل:

أدوات

كما هو الحال مع البرامج الأخرى، يستخدم مصممو الأنظمة المضمنة المترجمين والمجمعين وأدوات تصحيح الأخطاء لتطوير برامج الأنظمة المضمنة. ومع ذلك، قد يستخدمون أيضًا أدوات أكثر تحديدًا:

  • في مصححات الأخطاء أو المحاكيات (انظر القسم التالي).
  • أدوات مساعدة لإضافة مبلغ اختباري أو CRC إلى برنامج، حتى يتمكن النظام المضمن من التحقق مما إذا كان البرنامج صالحًا.
  • بالنسبة للأنظمة التي تستخدم معالجة الإشارات الرقمية ، قد يستخدم المطورون دفترًا حسابيًا لمحاكاة الرياضيات.
  • تساعد أدوات النمذجة والمحاكاة على مستوى النظام المصممين على إنشاء نماذج محاكاة لنظام يحتوي على مكونات أجهزة مثل المعالجات والذاكرات و DMA والواجهات والحافلات وتدفق سلوك البرامج كمخطط حالة أو مخطط تدفق باستخدام كتل مكتبة قابلة للتكوين. يتم إجراء المحاكاة لاختيار المكونات الصحيحة من خلال إجراء مقايضات الطاقة مقابل الأداء وتحليل الموثوقية وتحليل الاختناقات. تتضمن التقارير النموذجية التي تساعد المصمم على اتخاذ قرارات بشأن البنية الأساسية زمن انتقال التطبيق ومعدل نقل الجهاز واستخدام الجهاز واستهلاك الطاقة للنظام بالكامل بالإضافة إلى استهلاك الطاقة على مستوى الجهاز.
  • أداة تطوير تعتمد على النموذج تقوم بإنشاء ومحاكاة تدفق البيانات الرسومية ومخططات حالة UML للمكونات مثل المرشحات الرقمية ووحدات التحكم في المحرك وفك تشفير بروتوكول الاتصال والمهام متعددة المعدلات.
  • يمكن استخدام المجمِّعين والمربطين المخصصين لتحسين الأجهزة المتخصصة.
  • قد يكون للنظام المضمن لغة خاصة به أو أداة تصميم، أو قد يضيف تحسينات إلى لغة موجودة مثل Forth أو Basic .
  • هناك بديل آخر وهو إضافة نظام تشغيل RTOS أو نظام تشغيل مضمن
  • أدوات النمذجة وتوليد التعليمات البرمجية غالبًا ما تعتمد على آلات الحالة

يمكن أن تأتي أدوات البرمجيات من عدة مصادر:

  • شركات البرمجيات المتخصصة في سوق البرامج المضمنة
  • تم نقله من أدوات تطوير البرمجيات GNU
  • في بعض الأحيان، يمكن استخدام أدوات التطوير للكمبيوتر الشخصي إذا كان المعالج المضمن قريبًا من معالج الكمبيوتر الشخصي الشائع

مع تزايد تعقيد الأنظمة المضمنة، تنتقل الأدوات وأنظمة التشغيل عالية المستوى إلى الآلات حيث يكون ذلك منطقيًا. على سبيل المثال، غالبًا ما تحتاج الهواتف المحمولة والمساعدات الرقمية الشخصية وأجهزة الكمبيوتر الاستهلاكية الأخرى إلى برامج مهمة يتم شراؤها أو توفيرها من قبل شخص آخر غير الشركة المصنعة للإلكترونيات. في هذه الأنظمة، يلزم وجود بيئة برمجة مفتوحة مثل Linux أو NetBSD أو FreeBSD أو OSGi أو Embedded Java حتى يتمكن مزود البرامج التابع لجهة خارجية من البيع لسوق كبيرة.

تصحيح الأخطاء

يمكن إجراء التصحيح المضمن على مستويات مختلفة، اعتمادًا على المرافق المتاحة. تشمل الاعتبارات: هل يؤدي ذلك إلى إبطاء التطبيق الرئيسي، ومدى قرب النظام أو التطبيق الذي تم تصحيح أخطائه من النظام أو التطبيق الفعلي، ومدى تعبير المشغلات التي يمكن ضبطها للتصحيح (على سبيل المثال، فحص الذاكرة عند الوصول إلى قيمة عداد برنامج معين )، وما الذي يمكن فحصه في عملية التصحيح (مثل الذاكرة فقط، أو الذاكرة والسجلات، وما إلى ذلك).

من أبسط تقنيات وأنظمة التصحيح إلى أكثرها تعقيدًا، يمكن تقسيمها تقريبًا إلى المجالات التالية:

  • تصحيح أخطاء المقيمين التفاعليين، باستخدام الغلاف البسيط الذي يوفره نظام التشغيل المضمن (على سبيل المثال Forth وBasic)
  • تتمتع أدوات تصحيح الأخطاء التي تعمل بالبرمجيات فقط بميزة عدم حاجتها إلى أي تعديل في الأجهزة ولكن يتعين عليها التحكم بعناية في ما تسجله من أجل الحفاظ على الوقت ومساحة التخزين. [10]
  • التصحيح الخارجي باستخدام التسجيل أو إخراج المنفذ التسلسلي لتتبع العملية باستخدام إما شاشة في الفلاش أو باستخدام خادم تصحيح مثل Remedy Debugger الذي يعمل حتى في أنظمة متعددة النواة غير المتجانسة .
  • مصحح أخطاء داخل الدائرة (ICD)، وهو جهاز مادي يتصل بالمعالج الدقيق عبر واجهة JTAG أو Nexus . [11] وهذا يسمح بالتحكم في تشغيل المعالج الدقيق خارجيًا، ولكنه يقتصر عادةً على قدرات تصحيح أخطاء محددة في المعالج.
  • يقوم محاكي الدائرة الداخلية (ICE) باستبدال المعالج الدقيق بمكافئ محاكي، مما يوفر التحكم الكامل في جميع جوانب المعالج الدقيق.
  • يوفر المحاكي الكامل محاكاة لجميع جوانب الأجهزة، مما يسمح بالتحكم فيها وتعديلها بالكامل، ويسمح بتصحيح الأخطاء على جهاز كمبيوتر عادي. الجانب السلبي هو التكلفة والتشغيل البطيء، في بعض الحالات يكون أبطأ بما يصل إلى 100 مرة من النظام النهائي.
  • بالنسبة لتصميمات SoC، فإن النهج النموذجي هو التحقق من التصميم وتصحيح أخطائه على لوحة نموذج أولي FPGA. تُستخدم أدوات مثل Certus [12] لإدخال مجسات في تنفيذ FPGA والتي تجعل الإشارات متاحة للمراقبة. يُستخدم هذا لتصحيح أخطاء تفاعلات الأجهزة والبرامج الثابتة والبرامج عبر FPGAs متعددة في تنفيذ بقدرات مماثلة لمحلل المنطق.

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

التتبع

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

مصداقية

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

قد تتضمن مشكلات الموثوقية المحددة ما يلي:

  • لا يمكن إغلاق النظام بشكل آمن للإصلاح، أو أنه من الصعب الوصول إليه لإصلاحه. ومن الأمثلة على ذلك أنظمة الفضاء، والكابلات تحت سطح البحر، ومنارات الملاحة، وأنظمة حفر الآبار، والسيارات.
  • يجب أن يظل النظام قيد التشغيل لأسباب تتعلق بالسلامة. وقد يكون انخفاض الأداء في حالة الفشل أمرًا لا يطاق. وغالبًا ما يختار المشغل عمليات النسخ الاحتياطي. ومن الأمثلة على ذلك الملاحة الجوية، وأنظمة التحكم في المفاعلات، وضوابط السلامة الحرجة في المصانع الكيميائية، وإشارات القطارات.
  • سوف يخسر النظام مبالغ كبيرة من المال عند إيقاف تشغيله: مفاتيح الهاتف، وضوابط المصانع، وضوابط الجسور والمصاعد، وتحويل الأموال وصناعة السوق، والمبيعات والخدمات الآلية.

يتم استخدام مجموعة متنوعة من التقنيات، في بعض الأحيان مجتمعة، للتعافي من الأخطاء - سواء أخطاء البرامج مثل تسربات الذاكرة ، أو الأخطاء الناعمة في الأجهزة:

  • مؤقت مراقبة يقوم بإعادة ضبط النظام وإعادة تشغيله ما لم يخطر البرنامج أنظمة المراقبة الفرعية بشكل دوري
  • يضمن التصميم باستخدام بنية قاعدة الحوسبة الموثوقة (TCB) بيئة نظام آمنة وموثوقة للغاية [14]
  • إن المشرف الافتراضي المصمم للأنظمة المضمنة قادر على توفير تغليف آمن لأي مكون من مكونات النظام الفرعي بحيث لا يتمكن مكون البرنامج المخترق من التدخل مع أنظمة فرعية أخرى أو برامج النظام ذات المستوى المتميز. [15] يمنع هذا التغليف انتشار الأخطاء من نظام فرعي إلى آخر، وبالتالي تحسين الموثوقية. قد يسمح هذا أيضًا بإيقاف تشغيل النظام الفرعي وإعادة تشغيله تلقائيًا عند اكتشاف الخطأ.
  • يمكن أن تساعد البرمجة التي تدرك المناعة المهندسين على إنتاج أكواد أنظمة مضمنة أكثر موثوقية. [16] [17] تهدف المبادئ التوجيهية وقواعد الترميز مثل MISRA C/C++ إلى مساعدة المطورين على إنتاج برامج ثابتة موثوقة وقابلة للنقل بعدة طرق مختلفة: عادةً عن طريق تقديم المشورة أو إصدار أوامر ضد ممارسات الترميز التي قد تؤدي إلى أخطاء وقت التشغيل (تسريبات الذاكرة، واستخدامات المؤشر غير الصالحة)، واستخدام عمليات التحقق وقت التشغيل ومعالجة الاستثناءات (فحوصات النطاق/السلامة، وفحوصات صحة القسمة على الصفر وفهرس المخزن المؤقت، والحالات الافتراضية في عمليات التحقق المنطقية)، وتحديد حدود الحلقة، وإنتاج أكواد قابلة للقراءة من قبل البشر ومعلقة جيدًا ومنظمة بشكل جيد، وتجنب غموض اللغة الذي قد يؤدي إلى تناقضات أو آثار جانبية ناتجة عن المترجم (ترتيب تقييم التعبيرات، والتكرار، وأنواع معينة من وحدات الماكرو). يمكن استخدام هذه القواعد غالبًا جنبًا إلى جنب مع مدققي الكود الثابت أو فحص النموذج المحدود لأغراض التحقق الوظيفي، كما تساعد أيضًا في تحديد خصائص توقيت الكود . [16]

حجم مرتفع مقابل حجم منخفض

بالنسبة للأنظمة ذات الحجم الكبير مثل الهواتف المحمولة ، فإن تقليل التكلفة عادة ما يكون الاعتبار التصميمي الأساسي. وعادة ما يختار المهندسون الأجهزة التي تكون جيدة بما يكفي لتنفيذ الوظائف الضرورية.

بالنسبة للأنظمة المضمنة ذات الحجم المنخفض أو النماذج الأولية، يمكن تكييف أجهزة الكمبيوتر للأغراض العامة عن طريق الحد من البرامج أو استبدال نظام التشغيل بنظام تشغيل في الوقت الحقيقي.

هندسة البرمجيات المضمنة

في عام 1978 أصدرت جمعية مصنعي الكهرباء الوطنية ICS 3-1978، وهو معيار لوحدات التحكم الدقيقة القابلة للبرمجة، [18] بما في ذلك أي وحدات تحكم تعتمد على الكمبيوتر تقريبًا، مثل أجهزة الكمبيوتر ذات اللوحة الواحدة ، ووحدات التحكم الرقمية، ووحدات التحكم القائمة على الأحداث.

هناك عدة أنواع مختلفة من هندسة البرمجيات المستخدمة بشكل شائع.

حلقة تحكم بسيطة

في هذا التصميم، يحتوي البرنامج ببساطة على حلقة تراقب أجهزة الإدخال. تستدعي الحلقة برامج فرعية ، يدير كل منها جزءًا من الأجهزة أو البرامج. ومن ثم يطلق عليها حلقة تحكم بسيطة أو إدخال وإخراج مبرمج.

نظام التحكم بالمقاطعة

يتم التحكم في بعض الأنظمة المضمنة بشكل أساسي عن طريق المقاطعات . وهذا يعني أن المهام التي يقوم بها النظام يتم تشغيلها من خلال أنواع مختلفة من الأحداث؛ يمكن إنشاء مقاطعة، على سبيل المثال، بواسطة مؤقت في فترة زمنية محددة مسبقًا، أو بواسطة وحدة تحكم منفذ تسلسلي تستقبل البيانات.

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

تعدد المهام التعاوني

إن تعدد المهام التعاوني يشبه إلى حد كبير مخطط حلقة التحكم البسيطة، إلا أن الحلقة مخفية في واجهة برمجة التطبيقات . [3] [1] يحدد المبرمج سلسلة من المهام، وتحصل كل مهمة على بيئتها الخاصة للعمل فيها. عندما تكون المهمة خاملة، فإنها تستدعي روتين خامل يمرر التحكم إلى مهمة أخرى.

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

تعدد المهام الاستباقي أو تعدد الخيوط

في هذا النوع من الأنظمة، يتم التبديل بين المهام أو الخيوط بواسطة جزء منخفض المستوى من التعليمات البرمجية استنادًا إلى مؤقت يستدعي مقاطعة. هذا هو المستوى الذي يُعتبر فيه النظام عمومًا أنه يحتوي على نواة نظام تشغيل. واعتمادًا على مقدار الوظائف المطلوبة، فإنه يقدم قدرًا أكبر أو أقل من التعقيدات المترتبة على إدارة مهام متعددة تعمل بشكل مفاهيمي بالتوازي.

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

وبسبب هذه التعقيدات، فمن الشائع أن تستخدم المؤسسات نظام تشغيل في الوقت الحقيقي جاهز للاستخدام، مما يسمح لمبرمجي التطبيقات بالتركيز على وظائف الجهاز بدلاً من خدمات نظام التشغيل. ومع ذلك، فإن اختيار تضمين نظام تشغيل في الوقت الحقيقي يجلب معه مشكلاته الخاصة، حيث يجب إجراء الاختيار قبل بدء عملية تطوير التطبيق. يجبر هذا التوقيت المطورين على اختيار نظام التشغيل المضمن لأجهزتهم بناءً على المتطلبات الحالية وبالتالي يقيد الخيارات المستقبلية إلى حد كبير. [19]

يتزايد مستوى التعقيد في الأنظمة المضمنة باستمرار حيث تتطلب الأجهزة إدارة الأجهزة الطرفية والمهام مثل التسلسلي، وUSB، وTCP/IP، و Bluetooth ، وشبكة LAN اللاسلكية ، والراديو الرئيسي، والقنوات المتعددة، والبيانات والصوت، والرسومات المحسنة، والحالات المتعددة، والخيوط المتعددة، وحالات الانتظار العديدة وما إلى ذلك. تؤدي هذه الاتجاهات إلى تبني برامج الوسيطة المضمنة بالإضافة إلى نظام التشغيل في الوقت الفعلي.

النوى الدقيقة والنوى الخارجية

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

تتواصل النوى الخارجية بكفاءة من خلال استدعاءات البرامج الفرعية العادية. وتكون الأجهزة وجميع البرامج في النظام متاحة لمبرمجي التطبيقات ويمكنهم توسيعها.

نوى متجانسة

النواة المتجانسة هي نواة كبيرة نسبيًا ذات قدرات متطورة تتكيف مع البيئة المضمنة. وهذا يمنح المبرمجين بيئة مشابهة لنظام التشغيل المكتبي مثل Linux أو Microsoft Windows ، وبالتالي فهي منتجة للغاية للتطوير. على الجانب السلبي، تتطلب موارد أجهزة أكبر بكثير، وغالبًا ما تكون أكثر تكلفة، وبسبب تعقيد هذه النواة، يمكن أن تكون أقل قابلية للتنبؤ بها وموثوقيتها.

ومن الأمثلة الشائعة على النوى المتجانسة المضمنة Linux المضمنة و VXWorks و Windows CE .

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

مكونات البرنامج الإضافية

بالإضافة إلى نظام التشغيل الأساسي، تحتوي العديد من الأنظمة المضمنة على مكونات برمجية إضافية من الطبقة العليا. تتضمن هذه المكونات مجموعات بروتوكولات الشبكات مثل CAN و TCP/IP و FTP و HTTP و HTTPS ، وقدرات التخزين مثل أنظمة إدارة ذاكرة FAT والفلاش. إذا كان الجهاز المضمن يحتوي على قدرات صوت وفيديو، فستكون برامج التشغيل وبرامج الترميز المناسبة موجودة في النظام. في حالة النوى المتجانسة، قد يتم تضمين العديد من طبقات البرامج هذه في النواة. في فئة أنظمة التشغيل في الوقت الحقيقي، يعتمد توفر مكونات البرامج الإضافية على العرض التجاري.

الهندسة المعمارية الخاصة بالمجال

في قطاع السيارات، يعد AUTOSAR بمثابة بنية قياسية للبرمجيات المضمنة.

انظر أيضا

ملحوظات

  1. ^ لمزيد من التفاصيل حول MicroVGA راجع ملف PDF هذا.

مراجع

  1. ^ من تأليف مايكل بار . "Embedded Systems Glossary". مكتبة نيوترينو التقنية . تم الاسترجاع في 2007-04-21 .
  2. ^ هيث، ستيف (2003). تصميم الأنظمة المضمنة . سلسلة EDN لمهندسي التصميم (الطبعة الثانية). نيونس. ص. 2. ISBN 978-0-7506-5546-0النظام المضمن هو نظام يعتمد على المعالج الدقيق والذي تم تصميمه للتحكم في وظيفة أو مجموعة من الوظائف.
  3. ^ من قبل مايكل بار؛ أنتوني ج. ماسا (2006). "مقدمة". برمجة الأنظمة المضمنة: باستخدام أدوات تطوير C وGNU . أوريلي. ص 1-2. ISBN 978-0-596-00983-0.
  4. ^ Barr, Michael (1 أغسطس 2009). "Real men program in C". Embedded Systems Design . TechInsights (United Business Media). ص. 2. تم الاسترجاع في 2009-12-23 .
  5. ^ Shirriff, Ken (30 August 2016). "The Surprising Story of the First Microprocessors". IEEE Spectrum . 53 (9). معهد مهندسي الكهرباء والإلكترونيات : 48–54. doi :10.1109/MSPEC.2016.7551353. S2CID  32003640. تم الاسترجاع في 13 أكتوبر 2019 .
  6. ^ "1971: المعالج الدقيق يدمج وظيفة وحدة المعالجة المركزية على شريحة واحدة". محرك السيليكون . متحف تاريخ الكمبيوتر . تم الاسترجاع في 22 يوليو 2019 .
  7. ^ "مؤسسة الحدود الإلكترونية". مؤسسة الحدود الإلكترونية .
  8. ^ Embedded Systems Dell OEM Solutions | Dell Archived 2013-01-27 at the Wayback Machine . Content.dell.com (2011-01-04). تم الاسترجاع في 2013-02-06.
  9. ^ ديفيد كاري (2008-04-22). "تحت الغطاء: روبوت الجيتار يدمج الضبط التلقائي". تصميم الأنظمة المدمجة . مؤرشف من الأصل في 2008-07-08.
  10. ^ تانكريتي، ماثيو؛ سوندارام، فينايثيرثان؛ باجشي، سوراب؛ يوجستر، باتريك (2015). "TARDIS". وقائع المؤتمر الدولي الرابع عشر لمعالجة المعلومات في شبكات الاستشعار . IPSN '15. نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. ص 286-297. doi :10.1145/2737095.2737096. ISBN 9781450334754. S2CID  10120929.
  11. ^ تانكريتي، ماثيو؛ حسين، محمد سجاد؛ باغشي، سوراب؛ راغوناثان، فيجاي (2011). "أفيكشا". وقائع مؤتمر رابطة آلات الحوسبة التاسع حول أنظمة الاستشعار الشبكية المضمنة . سينسيس 2011. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. ص 288-301. doi :10.1145/2070942.2070972. ISBN 9781450307185. S2CID  14769602.
  12. ^ "تكترونكس تهز النماذج الأولية، والأجهزة المدمجة تعزز لوحات التحكم لتصبح محاكية للواقع". مجلة الهندسة الإلكترونية. 30 أكتوبر 2012. تم الاسترجاع في 30 أكتوبر 2012 .
  13. ^ كرافت ، يوهان. وول، أندرس. كينلي، هولجر (2010)، بارينجر، هوارد؛ فالكون، يليس؛ فينكباينر، بيرند؛ هافيلوند، كلاوس (محرران)، “تتبع التسجيل للأنظمة المدمجة: الدروس المستفادة من خمسة مشاريع صناعية”، التحقق من وقت التشغيل ، المجلد. 6418، برلين، هايدلبرغ: سبرينغر برلين هايدلبرغ، الصفحات من 315 إلى 329، دوى :10.1007/978-3-642-16612-9_24، ISBN 978-3-642-16611-2تم الاسترجاع بتاريخ 2022-08-16
  14. ^ هيزر، جيرنوت (ديسمبر 2007). "نظامك آمن؟ أثبت ذلك!" (PDF) . ;login: . 2 (6): 35–8. مؤرشف من الأصل (PDF) في 2014-11-29.
  15. ^ Moratelli, C; Johann, S; Neves, M; Hessel, F (2016). "المحاكاة الافتراضية المضمنة لتصميم تطبيقات إنترنت الأشياء الآمنة". وقائع الندوة الدولية السابعة والعشرين حول النمذجة السريعة للنظام: تقصير المسار من المواصفات إلى النموذج الأولي . ص 2-6. doi :10.1145/2990299.2990301. ISBN 9781450345354. S2CID  17466572 . تم الاسترجاع في 2 فبراير 2018 .
  16. ^ ab Short, Michael (مارس 2008). "إرشادات التطوير للأنظمة المضمنة الموثوقة في الوقت الفعلي". المؤتمر الدولي لأنظمة الكمبيوتر والتطبيقات IEEE/ACS لعام 2008. ص 1032-1039. doi :10.1109/AICCSA.2008.4493674. ISBN 978-1-4244-1967-8. S2CID  14163138.
  17. ^ رابطة موثوقية برامج صناعة السيارات. "MISRA C:2012 الطبعة الثالثة، المراجعة الأولى" . تم الاسترجاع في 2022-02-03 .
  18. ^ "الأسئلة الشائعة: وحدات التحكم القابلة للبرمجة" (PDF) . تم الاسترجاع في 10 يناير 2020 .
  19. ^ "العمل عبر منصات متعددة مضمنة" (PDF) . clarinox. مؤرشف من الأصل (PDF) في 2011-02-19 . تم الاسترجاع في 2010-08-17 .

قراءة إضافية

  • جون كاتسوليس (مايو 2005). تصميم الأجهزة المضمنة، الطبعة الثانية . أوريلي. رقم ISBN 0-596-00755-8.
  • جيمس م. كونراد؛ ألكسندر ج. دين (سبتمبر 2011). الأنظمة المضمنة، مقدمة باستخدام متحكم رينيساس RX62N . ميكروم. رقم ISBN 978-1935-7729-96.
  • كلاوس إلك (أغسطس 2016). تطوير البرمجيات المضمنة لإنترنت الأشياء، الأساسيات، التقنيات وأفضل الممارسات . منصة النشر المستقلة CreateSpace. ISBN 978-1534602533.
  • دورة الأنظمة المضمنة مع mbed على اليوتيوب، مستمرة منذ عام 2015
  • الاتجاهات في الأمن السيبراني والأنظمة المدمجة دان جير، نوفمبر 2013
  • دورة فيديو برمجة الأنظمة المضمنة الحديثة على اليوتيوب، مستمرة منذ عام 2013
  • أسبوع الأنظمة المضمنة (ESWEEK) هو حدث سنوي يتضمن مؤتمرات وورش عمل ودروس تعليمية تغطي جميع جوانب الأنظمة المضمنة والبرمجيات
  • ورشة عمل حول تعليم الأنظمة المضمنة والأنظمة السيبرانية الفيزيائية على موقع Wayback Machine (تم أرشفته في 11 فبراير 2018)، ورشة عمل تغطي الجوانب التعليمية للأنظمة المضمنة
  • تطوير الأنظمة المضمنة - مقدمة حول الأدوات
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=نظام_مضمن&oldid=1245980598"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate