
مرحبًا بكم في دورة الفيديو "Modern Systems Programming".
في هذه الدورة ، ستتعلم كيفية برمجة متحكمها المدمجة بالطريقة الحديثة ، من الأساسيات وصولاً إلى ممارسة البرمجة المدمجة المعاصرة.
تتمثل النهج الفريد في هذه الدورة في التنقل إلى مستوى الماكينة بشكل متكرر وإظهار ما يحدث بالضبط داخل متحكم الخاص بك المدمج. سيسمح لك هذا الفهم الأعمق بتطبيق المفاهيم بشكل أكثر كفاءة وبثقة أكبر.
إذا كنت تبحث عن مسار عملي ، عملي ، منظم جيدًا ومتعمقًا يشرح المفاهيم الأساسية في البرمجة المضمنة ، فإن هذه الدورة المجانية مناسبة لك.
بدأت الدورة بالفعل في عام 2013 ، لذا فإن quesion المشروع هو: "هل ما زالت ذات صلة؟" الجواب نعم ، ربما أكثر من عام 2013 ، لسببين رئيسيين:
يركز هذا الدورة على المفاهيم الأساسية والأساسية في البرمجة المدمجة ، والتي لا تنفد أبدًا. جميع المفاهيم المسبقة مغطاة بعمق ، وتشمل:
يركز هذا المساق على بنية القشرة السائدة في الذراع ، والتي أصبحت على مدار العقد الماضي بلا شك دومينات في سوق MCU المضمن. الألفة مع ARM Cortex-M هي أكثر المهارة المطلوبة التي يبحث عنها أصحاب العمل.

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

ميرو samek
تبدأ الدورة بالأساسيات ، ولكن هذا الجزء قصير ويركز على الجوانب المدمجة للبرمجة في C. لذلك ، قد تحتاج إلى استكمال هذه الدورة من خلال دراسة عامة للغة البرمجة C. قد ترغب أيضًا في تعلم القليل عن كيفية عمل وحدة المعالجة المركزية.
أيضًا ، هذه الدورة التدريبية عملية ، مما يعني أنه للحصول على أقصى استفادة من هذه الدورة التدريبية ، يمكنك متابعتها وتشغيل المشاريع التي تمت مناقشتها على جهاز الكمبيوتر الخاص بك. للقيام بذلك ، ستحتاج إلى بعض الأجهزة (لوحة مضمنة) والبرامج (مجموعة أدوات تطوير مضمنة).
ملحوظة
تستخدم العديد من الدروس المبكرة محاكاة ، وبالتالي لا تحتاج إلى اللوحة المدمجة على الفور. تتطلب الدروس الأكثر تقدماً ، حيث تتفاعل مع الأجهزة الطرفية MCU (مثل GPIO ، وما إلى ذلك) لوحة مضمنة.
المجلس الرئيسي المدمج المستخدم طوال الدورة هو لوحة TIVAC Launchpad (المعروف أيضًا باسم EK-TM4C123GXL) استنادًا إلى متحكم القشرة M4F من Texas Instruments. اللوحة غير مكلفة ولا تزال متاحة للشراء من موزعين إلكترونيين متعددين. إنه مستقل ذاتيًا ويوفر تصحيح/مبرمجًا مدمجًا للأجهزة (Stellaris ICDI) يتيح تصحيح الأخطاء الواحدة وتفقد الحالة الداخلية.

TIVAC Launchpad (EK-TM4C123GXL)
تحتوي تنزيل الدورة الآن أيضًا على إصدارات مشروع لـ STM32 Nucleo-C031C6 ، استنادًا إلى ARM Cortex-M0+ MCU. كما أن اللوحة غير مكلفة ، قائمة بذاتها ، وتتضمن تصحيح أخطاء أكثر تنوعًا للأجهزة (ST-Link) التي تتيح تصحيح الأخطاء الواحدة وتفقد الحالة الداخلية.

STM32 Nucleo-C031C6
ملحوظة
ستتم إضافة مشاريع الدورة للوحات المضمنة الأخرى غير المكلفة في المستقبل.
من أجل إنشاء الرمز المقدم في هذه الدورة التدريبية وتشغيله ، ستحتاج إلى أحد مجموعات الأدوات المضمنة التالية:
بدأت الدورة مع طاولة عمل IAR المدمجة للذراع (EWARM) ، والتي تستخدم في الدروس 1-19 . Iar ewarm هي مجموعة أدوات احترافية مع برنامج مترجم جيد ومصحح مصحح مستقر.

Iar ewarm مع واحد من projecs
ملحوظة
اعتاد Iar ewarm أن يكون متاحًا تحت ترخيص Kickstart مجاني محدود الحجم ، ولكن في الآونة الأخيرة ، توقفت IAR Systems عن تقديم تراخيص مجانية. الخيار المجاني الوحيد المتبقي هو ترخيص تقييم لمدة أسبوعين. تم تحديث مشاريع IAR eWarm إلى الإصدارات الأحدث من مجموعة الأدوات ويتم توفيرها للدروس 1-19.
Keil MDK (مجموعة تطوير متحكم) هي مجموعة أدوات تطوير مهنية أخرى تستخدم في دورة الفيديو هذه. على عكس Iar ewar ، يتم تقديم Keil MDK تحت ترخيص متزايد على نحو متزايد ، بما في ذلك إصدار مجتمع Keil MDK V6 المجاني.

Keil Uvision IDE مع أحد projecs
ملحوظة
مشاريع Keil MDK متاحة الآن لجميع الدروس من هذه الدورة. ويشمل ذلك الدروس 1-21 ، والتي تم تقديمها في الأصل لـ Iar ewarm أو ti ccs.
بسبب الطلب الشعبي ، يوضح درسان من الدورة (19 و 20) IDE Code Composer Studio (CCS) من Texas Instruments. الجانب الوحيد الثمين هنا هو استخدام برنامج التحويل البرمجي والرابط المفتوح المصدر.
ملحوظة
يستخدم Code Composer Studio (CCS) 11 برنامج التحويل البرمجي TI افتراضيًا ولم يعد يأتي مع برنامج التحويل البرمجي GNU-ARM. ولكن يمكن تثبيت مجموعة أدوات GNU-ARM عبر القائمة: "مساعدة | تثبيت أدوات مترجم ARM GCC ..."

استوديو Code Codio IDE المستند إلى الكود مع أحد البرامج
يعتمد CCS IDE على Eclipse ولهذا السبب يكون بطيئًا بشكل مؤلم في الإطلاق والاستخدام. من الصعب مشاركة مشاريع Eclipse لأنها تتكون من ملفات وأدلة متعددة. أيضًا ، لا يمكن فتح المشاريع ببساطة في IDE ولكن بدلاً من ذلك تحتاج إلى "استيراد". غالبًا ما تكون رسائل الخطأ التي تم إنشاؤها مربكة. أخيرًا ، التصحيح بطيء وغير مستقر.
يوفر هذا المستودع تنزيلات المشروع التي يمكنك فتحها في مجموعة أدوات مضمنة محددة وتشغيلها على جهاز الكمبيوتر الخاص بك في المنزل. يتم تنظيم المشاريع كما هو موضح في شجرة الدليل المشروح التالية:
modern-embedded-programming-course/
+---lesson-01/ // lesson number
| +---simulator-iar/ // simulator with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---simulator-keil/ // simulator with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-.../
|
+---lesson-04/
| +---stm32c031-keil/ // STM32C031 board with KEIL-MDK
| | ---RTE/ // Run Time Environment for KEIL MDK
| +---tm4c123-iar/ // TM4C123 board with IAR EWARM
| | workspace.eww // IAR workspace
| |
| ---tm4c123-keil/ // TM4C123 board with KEIL MDK
| ---RTE/ // Run Time Environment for KEIL MDK
| lesson.uvprojx // uVision project
|
+---lesson-...
|
+---lesson-19
| ---tm4c123-ccs // TM4C123 board with CCS
| +---ek-tm4c123gxl/ // board-specific code
| ---targetConfigs/ // CCS project directory
| .ccsproject // CCS project file
| .csproject // Eclispe project file
| .project // Eclipse project file
تم تحديث جميع مشاريع ARM/KEIL UVISION من برنامج التحويل البرمجي القديم -5 إلى برنامج التحويل البرمجي الأحدث.
إذا كنت ترغب في مناقشة هذه الدورة أو الموضوعات ذات الصلة ، فيرجى نشر أسئلتك أو تعليقاتك على YouTube ، في قسم الثناء تحت كل درس فيديو يتعلق.
تتوفر موارد عديدة لدورة الفيديو من خلال صفحة الويب المصاحبة على:
www.state-machine.com/Video-
من بين أمور أخرى ، يمكنك أن تجد هناك:
إذا كنت تحب هذا المشروع ، من فضلك:

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