بسم الله الرحمن الرحيم
الحمد لله رب العالمين والصلاة والسلام على أشرف المرسلين، بفضل الله سنبدأ في تقديم مجموعة من الدروس لشرح بناء وبرمجة الأنظمة المدمجة Embedded Systems وكذلك المتحكم الدقيق المعتمد على نواة ARM Cortex-M4 وكيفية التعامل معه من البداية.
فيديو تعريفي بالسلسلة
سنتعرف من خلال هذه السلسلة على الموضوعات الاتية
- الأنظمة المدمجة
- مبادئ المتحكم الدقيق وكيفية تشغيله وبرمجته
- التعرف على بنية النواة ARM Cortex-M4
- التعرف على بوردة ديسكفري من شركة STMicroelectronics
- التعرف على بيئة البرمجة والتطوير TrueStudio
- كيفية معالجة وتحميل البرامج على المتحكم الدقيق وتشغيلها
- وسائل الادخال والاخراج ونقل البيانات بالمتحكم الدقيق
- المؤقتات Timers والمقاطعات Interrupts
- كيفية البرمجة بلغة التجميع assembly language
- التعامل مع البيانات الرقمية والتناظرية ADC و DAC
- التعامل مع بروتوكول الأتصال UART و SPI و I2C و I2S
- برمجة المالتيميديا كالشاشة والكاميرا والصوت
- التعامل مع الذاكرة الداخلية والخارجية
- التعرف على أنترنت الأشياء IoT وقراءة الحساسات كحساس الحرارة والرطوبة
الدروس المتاحة بالمنتدى حتى الأن
الجزء الأول - Microcontroller Interfacing
- الدرس ١ : مقدمة عن الأنظمة المدمجة وبنية الكمبيوتر
- الدرس ٢ : مقدمة عن معالجات أرم ARM Cortex وبنية المعالج Cortex-M4
- الدرس ٣ : تعرف على البنية البرمجية لمعالجات ARM Cortex-M4 ومبدأ عملها (ج١)
- الدرس ٤ : تعرف على البنية البرمجية لمعالجات ARM Cortex-M4 ومبدأ عملها (ج٢)
- الدرس ٥ : تعرف على عائلة المتحكمات STM32 ولوحة STM32F429I DISCOVERY
- الدرس ٦ : تجهيز بيئة العمل والتطوير على برنامج TrueSTUDIO
- الدرس v : مقدمة عن Software development وبرنامج Hello Blinky
- الدرس ٨ : STM32 General Purpose I/Os - GPIO
- الدرس ٩ : ARM Cortex-M4 Nested Vectored Interrupt Controller - NVIC
- الدرس ١٠ : Advanced Topics on Exception Handling
- الدرس ١١ : External Interrupt/Event Controller - EXTI
- الدرس ١٢ : Direct Memory Access Controller - DMA - Part 1/2
- الدرس ١٣ : DMA Examples - Data Transfer using memcpy vs DMA
- الدرس ١٤ : Direct Memory Access Controller - DMA - Part 2/2
- الدرس ١٥ : USART - Part 1
- الدرس ١٦ : USART Example
- الدرس ١٧ : USART - Part 2
- الدرس ١٨ : USART Example using DMA and Hardware Flow Control
- الدرس ١٩ : Interfacing Temperature Sensor DS18B20 using 1-Wire over UART
- الدرس ٢٠ : Local Interconnect Network - LIN - Introduction
- الدرس ٢١ : LIN Slave Driver Example
- الدرس ٢٢ : Reset and Clock Control - RCC
- الدرس ٢٣ : RCC Example
- الدرس ٢٤ : Debug and Trace in ARM Cortex-M4
- الدرس ٢٥ : Serial Wire Viewer - SWV - Example
- الدرس ٢٦ : STM32 Advanced Control Timers
- الدرس ٢٧-١ : Counter Modes Example
- الدرس ٢٧-٢ : External Clock Modes Example
- الدرس ٢٧-٣ : Measure PWM using Input Capture Example
- الدرس ٢٧-٤ : Generate PWM using Output Compare Example
- الدرس ٢٨ : Low Power Features of ARM Cortex-M4
- الدرس ٢٩ : STM32F4 Power Controller - PWR
- الدرس ٣٠ : Low Power Example
- الدرس ٣١ : Serial Peripheral Interface - SPI
- الدرس ٣٢ : Interfacing L3GD20 MEMS Gyroscope using SPI
- الدرس ٣٣ : Analog-To-Digital Converter - ADC - Introduction
- الدرس ٣٤ : STM32 ADC- P1
- الدرس ٣٥ : ADC Regular and Injected Conversion with External Trigger Example
- الدرس ٣٦ : STM32 ADC- P2
- الدرس ٣٧ : ADC Triple Mode with External Trigger and DMA Example
- الدرس ٣٨ : Digital-to-Analog Converter - DAC
- الدرس ٣٩ : DAC Noise, Triangle and Sine Wave Generation Example
- الدرس ٤٠ : Audio Recording / Playback Using ADC, DAC, Timer, DMA Example
- الدرس ٤١ : Inter-Integrated Circuit Bus - I2C
- الدرس ٤٢ : STM32 I2C interface
- الدرس ٤٣ : I2C with DMA Interfacing Example using X-NUCLEO-IKS01A2 MEMS Expansion Board
الجزء الثاني - ARM Instruction Set Architecture
- الدرس ٤٤ : ARM Instruction Set Architecture - P1
- الدرس ٤٥ : Move and Memory Access Instructions Examples
- الدرس ٤٦ : ARM Instruction Set Architecture - P2
- الدرس ٤٧ : Arithmetic and Logical Instructions Examples
- الدرس ٤٨ : ARM Instruction Set Architecture – P3
- الدرس ٤٩ : Multiplication, Saturation and Control Instructions Examples
- الدرس ٥٠ : ARM Instruction Set Architecture – P4
- الدرس ٥١ : CMSIS SIMD, DSP and SVC Instruction Example
- الدرس ٥٢ : Floating Point Unit – FPU
الجزء الثالث - Flash Memory and Bootloaders
- الدرس ٥٣ : Embedded Flash Memory Interface
- الدرس ٥٤ : Flash and Option Bytes Operations Example
- الدرس ٥٥ : STM32 System Memory Bootloader
- الدرس ٥٦ : Bootloader Example
- الدرس ٥٧ : Embedded Bootloader Design
- الدرس ٥٨ : Memory Protection Unit – MPU
- الدرس ٥٩ : MPU Example
- الدرس ٦٠ : Cyclic Redundancy Check – CRC
- الدرس ٦١ : CRC Calculations Example
- الدرس ٦٢ : Watchdog – WDG
- الدرس ٦٣ : WDG Example
الجزء الرابع - RTOS
- الدرس ٦٤ : RTOS P1 – Introduction to RTOS and Execution Threads
- الدرس ٦٥ : RTOS P2 – Threads TCB and Linked Lists Example
- الدرس ٦٦ : RTOS P3 – Scheduling and Mutual Exclusion
- الدرس ٦٧ : RTOS P4 – Scheduler Start and Context Switching Example
- الدرس ٦٨ : RTOS P5 – Mutex, Semaphore and Mailbox Examples
- الدرس ٦٩ : RTOS P6 – Timer Support
- الدرس ٧٠ : RTOS P7 – Timer Support Example
- الدرس ٧١ : RTOS P8 – Priority Inversions
- الدرس ٧٢ : RTOS P9 – Deadlocks
- الدرس ٧٣ : RTOS P10 – Deadlocks and Priority Inversions Example
- الدرس ٧٤ : RTOS P11 – Schedulability
الجزء الخامس - Advanced Communications
- الدرس ٧٥ : CAN Bus Introduction P1
- الدرس ٧٦ : CAN Bus Introduction P2
- الدرس ٧٧ : STM32F4 Basic Extended CAN - bxCAN - P1
- الدرس ٧٨ : STM32F4 Basic Extended CAN - bxCAN - P2
- الدرس ٧٩ : CAN Bus Example
- الدرس ٨٠ : Ethernet P1 - Introduction
- الدرس ٨١ : Ethernet P2 - Frame Structure
- الدرس ٨٢ : Ethernet P3 – Half-Duplex MAC
- الدرس ٨٣ : Ethernet P4 – Full-Duplex, MAC Control and LLC
- الدرس ٨٤ : Ethernet P5 – Media Systems
- الدرس ٨٥ : STM32F4 Ethernet MAC – P1
- الدرس ٨٦ : STM32F4 Ethernet MAC – P2
- الدرس ٨٧ : STM32F4 Ethernet MAC – P3
- الدرس ٨٨ : STM32F4 Ethernet MAC Example