النظام المدمج

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

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

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

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

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

تاريخ

خلفية

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

طُوِّرت أولى المعالجات الدقيقة متعددة الرقاقات، وهما Four-Phase Systems AL1 عام 1969 و Garrett AiResearch MP944 عام 1970، باستخدام رقاقات MOS LSI متعددة. أما أول معالج دقيق أحادي الرقاقة فكان Intel 4004 ، الذي طُرِح عام 1971. وقد طوّره فيديريكو فاجين ، باستخدام تقنية MOS ذات البوابة السيليكونية ، بالتعاون مع مهندسي إنتل مارسيان هوف وستان مازور ، ومهندس Busicom ماساتوشي شيما . [ 6 ]

تطوير

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

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

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

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

التطبيقات

وحدة تجميع فرعية للحاسوب المدمج لآلة التصويت الإلكتروني Accupoll [ 8 ]

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

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

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

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

تستخدم المعدات الطبية أنظمة مدمجة للمراقبة ، وتقنيات تصوير طبي متنوعة ( التصوير المقطعي بالإصدار البوزيتروني (PET)، والتصوير المقطعي المحوسب بإصدار فوتون واحد (SPECT)، والتصوير المقطعي المحوسب (CT)، والتصوير بالرنين المغناطيسي (MRI)) لإجراء فحوصات داخلية غير جراحية. غالباً ما تُشغَّل الأنظمة المدمجة في المعدات الطبية بواسطة حواسيب صناعية. [ 9 ]

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

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

صفات

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

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

أنظمة إي-كون eSOM270 و eSOM300 حاسوب على وحدات

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

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

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

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

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

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

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

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

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

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

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

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

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

حلول ASIC و FPGA SoC

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

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

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

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

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

أدوات

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

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

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

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

غالبًا ما تتطلب البرمجيات المدمجة مجموعة متنوعة من أدوات التطوير، بما في ذلك لغات البرمجة مثل C++ و Rust و Python ، وأطر عمل مثل Qt للواجهات الرسومية. تُمكّن هذه الأدوات المطورين من إنشاء تطبيقات فعّالة وقابلة للتوسع وغنية بالميزات، مصممة خصيصًا لتلبية متطلبات الأنظمة المدمجة. ويعتمد اختيار الأدوات على عوامل مثل الأداء في الوقت الفعلي، والتكامل مع الأجهزة، وكفاءة استهلاك الطاقة.

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

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

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

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

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

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

التتبع

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

مصداقية

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

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

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

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

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

حجم كبير مقابل حجم صغير

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

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

بنى البرمجيات المدمجة

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

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

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

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

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

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

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

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

يُشبه تعدد المهام التعاوني إلى حد كبير مخطط حلقة التحكم البسيطة، باستثناء أن الحلقة مخفية في واجهة برمجة التطبيقات (API) . [ 3 ] [ 1 ] يُعرّف المبرمج سلسلة من المهام، وتحصل كل مهمة على بيئة خاصة بها للتنفيذ. عندما تكون مهمة ما في وضع الخمول، فإنها تستدعي روتين الخمول، الذي يُمرر التحكم إلى مهمة أخرى.

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

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

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

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

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

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

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

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

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

نوى متجانسة

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

من الأمثلة الشائعة على النوى المتجانسة المدمجة أنظمة لينكس المدمجة ، و VXWorks، و Windows CE .

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

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

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

بنى معمارية خاصة بالمجال

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

انظر أيضاً

ملحوظات

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

مراجع

  1. 1 2 مايكل بار . "مسرد مصطلحات الأنظمة المدمجة" . مكتبة نيوترينو التقنية . تم الاسترجاع في 21-04-2007 .
  2. هيث ، ستيف (2003). تصميم الأنظمة المدمجة . سلسلة EDN لمهندسي التصميم ( الطبعة الثانية). نيونس. ص 2. ISBN   978-0-7506-5546-0النظام المدمج هو نظام قائم على المعالج الدقيق مصمم للتحكم في وظيفة أو مجموعة من الوظائف .
  3. 1 2 مايكل بار؛ أنتوني ج. ماسا (2006). "مقدمة" . برمجة الأنظمة المدمجة: باستخدام لغة C وأدوات تطوير GNU . أورايلي. الصفحات 1-2 . ISBN  978-0-596-00983-0.
  4. بار، مايكل (1 أغسطس 2009). "برنامج الرجال الحقيقيين بلغة C" . تصميم الأنظمة المدمجة . TechInsights (United Business Media). ص 2. تاريخ الاسترجاع: 23 ديسمبر 2009 . 
  5. شريف، كين (30 أغسطس 2016). "القصة المدهشة لأولى المعالجات الدقيقة" . مجلة IEEE Spectrum . 53 (9). معهد مهندسي الكهرباء والإلكترونيات : 48-54 . doi : 10.1109/MSPEC.2016.7551353 . S2CID 32003640. تاريخ الاسترجاع: 13 أكتوبر 2019 . 
  6. "1971: دمج المعالج الدقيق لوظيفة وحدة المعالجة المركزية على شريحة واحدة" . محرك السيليكون . متحف تاريخ الحاسوب . تم الاطلاع عليه بتاريخ 22 يوليو 2019 .
  7. "1962: أنظمة الفضاء الجوي هي أولى تطبيقات الدوائر المتكاملة في الحواسيب" . متحف تاريخ الحاسوب . 2025. تم الاطلاع عليه في 13 مارس 2025 .
  8. "مؤسسة الحدود الإلكترونية" . مؤسسة الحدود الإلكترونية .
  9. أنظمة مدمجة | حلول Dell OEM | مؤرشفة بتاريخ 27 يناير 2013 في Wayback Machine . Content.dell.com (4 يناير 2011). تم الاطلاع عليها بتاريخ 6 فبراير 2013.
  10. ديفيد كاري (22 أبريل 2008). "نظرة معمقة: غيتار آلي مزود بخاصية الضبط التلقائي" . تصميم الأنظمة المدمجة . مؤرشف من الأصل بتاريخ 8 يوليو 2008.
  11. تانكريتي، ماثيو؛ سوندارام، فينايثيرثان؛ باغشي، سوراب؛ يوجستر، باتريك (2015). "تارديس". وقائع المؤتمر الدولي الرابع عشر لمعالجة المعلومات في شبكات الاستشعار . IPSN '15. نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. الصفحات 286-297 . doi : 10.1145/2737095.2737096 . ISBN  9781450334754. S2CID 10120929 . 
  12. تانكريتي، ماثيو؛ حسين، محمد سجاد؛ باغشي، سوراب؛ راغوناثان، فيجاي (2011). "أفيكشا". وقائع المؤتمر التاسع لجمعية الحوسبة الآلية (ACM) حول أنظمة الاستشعار الشبكية المدمجة . SenSys '11. نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. الصفحات 288-301 . doi : 10.1145/2070942.2070972 . ISBN  9781450307185. S2CID 14769602 . 
  13. موريس، كيفن (30 أكتوبر 2012). "تيكترونيكس تُحدث ثورة في مجال النماذج الأولية، والأجهزة المدمجة تُعزز مكانة اللوحات لتصبح بمثابة محاكيات" . مجلة الهندسة الإلكترونية . تاريخ الاسترجاع: 30 أكتوبر 2012 .
  14. ^ كرافت ، يوهان. وول، أندرس. كينلي، هولجر (2010)، "تتبع التسجيل للأنظمة المدمجة: الدروس المستفادة من خمسة مشاريع صناعية" ، في هوارد بارينجر؛ فالكون، يليس؛ فينكباينر، بيرند؛ هافلوند، كلاوس (محرران)، التحقق من وقت التشغيل ، المجلد. 6418، برلين، هايدلبرغ: سبرينغر برلين هايدلبرغ، الصفحات من 315 إلى 329، دوى : 10.1007/978-3-642-16612-9_24 ، ISBN   978-3-642-16611-2تم الاطلاع عليه بتاريخ 16 أغسطس 2022
  15. هايزر، غيرنوت (ديسمبر 2007). "هل نظامك آمن؟ أثبت ذلك!" (ملف PDF) . ;login: . 2 (6): 35– 8. مؤرشف (ملف PDF) من الأصل بتاريخ 29-11-2014.
  16. موراتيلي، سي؛ يوهان، إس؛ نيفيس، إم؛ هيسل، إف (2016). "المحاكاة الافتراضية المدمجة لتصميم تطبيقات إنترنت الأشياء الآمنة" . وقائع الندوة الدولية السابعة والعشرين حول النماذج الأولية السريعة للأنظمة: تقصير المسار من المواصفات إلى النموذج الأولي . الصفحات 2-6 . doi : 10.1145/2990299.2990301 . ISBN  9781450345354. S2CID 17466572 . تم الاسترجاع في 2 فبراير 2018 . 
  17. 1 2 شورت، مايكل (مارس 2008). "إرشادات تطوير أنظمة مضمنة موثوقة تعمل في الوقت الحقيقي" . المؤتمر الدولي المشترك بين معهد مهندسي الكهرباء والإلكترونيات وجمعية الحاسبات الأمريكية لعام 2008 حول أنظمة الحاسوب وتطبيقاتها . الصفحات 1032-1039 . doi : 10.1109/AICCSA.2008.4493674 . ISBN  978-1-4244-1967-8. S2CID 14163138 . 
  18. جمعية موثوقية برمجيات صناعة السيارات. "MISRA C:2012 الطبعة الثالثة، المراجعة الأولى" . تم الاطلاع عليه بتاريخ 3 فبراير 2022 .
  19. "الأسئلة الشائعة: وحدات التحكم القابلة للبرمجة" (ملف PDF) . تم الاطلاع عليه بتاريخ 10 يناير 2020 .
  20. "العمل عبر منصات مضمنة متعددة" (ملف PDF) . كلارينوكس. مؤرشف (ملف PDF) من الأصل بتاريخ 19 فبراير 2011. تم الاطلاع عليه بتاريخ 17 أغسطس 2010 .

للمزيد من القراءة

  • جون كاتسوليس (مايو 2005). تصميم الأجهزة المدمجة، الطبعة الثانية . أورايلي. رقم ISBN 0-596-00755-8.
  • جيمس إم. كونراد؛ ألكسندر جي. دين (سبتمبر 2011). الأنظمة المدمجة: مقدمة باستخدام وحدة التحكم الدقيقة رينيساس RX62N . ميكروم. ISBN 978-1935-7729-96.
  • كلاوس إلك (أغسطس 2016). تطوير البرمجيات المدمجة لإنترنت الأشياء: الأساسيات والتقنيات وأفضل الممارسات . منصة النشر المستقلة كريت سبيس. رقم ISBN 978-1534602533.