Unique Characteristics
Resource Constrained (محدودة الموارد)
- • ذاكرة محدودة جداً (Often KBs).
- • طاقة محدودة (Battery Operated).
- • قدرة معالجة منخفضة (مقارنة بالـ PC).
Critical Requirements
- • Real-time: الاستجابة يجب أن تكون فورية ومضمونة (Timing is crucial).
- • Reliability: يجب أن تعمل لسنوات دون إعادة تشغيل (Watchdog Timer).
Embedded Hardware Types
1. Microcontrollers (MCU)
كمبيوتر كامل على شريحة واحدة (CPU + RAM + ROM + I/O).
المميزات: رخيص جداً، جاهز للاستخدام (Off-the-shelf).
أمثلة: Arduino (AVR), PIC, 8051.
2. System on Chip (SoC)
نظام أكثر تعقيداً وقوة (يشغل OS مثل Linux/Android).
المميزات: أداء عالي، تكامل كبير.
أمثلة: معالجات الهواتف (Snapdragon, Apple A-series)، Raspberry Pi.
3. FPGA (Field Programmable Gate Array)
هاردوير "قابل للبرمجة". أنت تصمم الدائرة الكهربائية بالكود (VHDL/Verilog).
المميزات: سرعة هائلة (توازي)، مرونة عالية.
العيوب: غالي، صعب البرمجة.
HW/SW Codesign Lifecycle
في الأنظمة المدمجة، لا ننتظر انتهاء الهاردوير لنكتب السوفتوير. نعمل بالتوازي!
ماذا ينفذ الهاردوير؟
ماذا ينفذ السوفتوير؟
The Watchdog Timer
حارس النظام (Watchdog)
في الأنظمة المدمجة، لا يوجد إنسان ليضغط زر "Reset" إذا تجمد النظام.
الـ Watchdog Timer هو عداد تنازلي يعمل في الهاردوير.
آلية العمل:
- العداد يبدأ بالعد التنازلي (مثلاً من 1000).
- يجب على البرنامج (Software) إعادة ضبط العداد (Kick the dog) بانتظام قبل أن يصل للصفر.
- إذا تجمد البرنامج ولم يقم بإعادة الضبط ← يصل العداد للصفر ← يقوم الهاردوير بعمل Reset للنظام تلقائياً.
Embedded vs. PC
- PC: يركز على الأداء العالي (Throughput).
- Embedded: يركز على الاستجابة (Responsiveness) واستهلاك الطاقة.
- Memory: في الـ PC لدينا Virtual Memory ضخمة. في الـ Embedded الذاكرة ثابتة ومحدودة وغالباً لا يوجد Virtual Memory.
Interrupt Latency
هو الوقت الضائع بين "وقوع الحدث" (Event) وبين "بدء تنفيذ كود المعالجة" (ISR Start).
في أنظمة الـ Real-time، يجب أن يكون هذا الوقت قصيراً جداً ومحدداً (Deterministic).