مسیر یادگیری

برنامه‌نویس سیستم‌های امبدد

نقشه راه کامل و به‌روز برنامه‌نویسی سیستم‌های نهفته (Embedded) از مبانی الکترونیک تا تخصص‌های پیشرفته

1

مبانی الکترونیک و سخت‌افزار (Electronics & Hardware Basics)

آشنایی با مدارهای DC, AC، مقاومت، خازن، ترانزیستور، منطق دیجیتال، گیت‌ها، فلیپ‌فلاپ، معماری کامپیوتر (CPU, RAM, Flash, Bus)

2

برنامه‌نویسی C پیشرفته برای امبدد (Advanced C for Embedded)

اشاره‌گرها و مموری مپ‌شده، volatile و const، bit manipulation، ساختارهای packed، مدیریت مموری استاتیک، توابع وقفه (ISR) و inline assembly

3

آشنایی با میکروکنترلرها و معماری ARM (Microcontrollers & ARM Cortex-M)

میکروکنترلرهای AVR، ARM Cortex-M0/M3/M4/M7، حافظه فلش و رم، پریفرال‌های داخلی، نقشه حافظه، بوت‌لودر و بردهای توسعه (STM32، Arduino، ESP32)

4

رابط‌ها و پروتکل‌های سریال (Peripheral Interfaces & Protocols)

GPIO، وقفه‌های خارجی، UART، SPI، I2C، تایمر و PWM، ADC/DAC، DMA، پروتکل‌های پیشرفته مثل CAN، USB (HID/CDC)، Ethernet (LWIP) و BLE/WiFi

5

ابزارهای توسعه و دیباگ (Development & Debugging Tools)

IDE (Keil, IAR, STM32CubeIDE, PlatformIO)، دیباگر سخت‌افزاری JTAG/SWD، OpenOCD، GDB، تحلیلگر منطقی (Logic Analyzer)، اسیلوسکوپ و مولتی‌متر

6

سیستم‌عامل‌های بی‌درنگ (RTOS & Real-Time Concepts)

مفاهیم بلادرنگ (determinism, deadline)، اولویت‌بندی و زمان‌بندی وظایف، FreeRTOS (Task, Queue, Semaphore, Mutex)، CMSIS-RTOS، ThreadX و Zephyr

7

امبدد لینوکس (Embedded Linux)

پروسه بوت (UBoot, TF-A)، کرنل لینوکس سفارشی و Device Tree، فایل سیستم ریشه (rootfs)، ابزارهای Yocto Project / Buildroot، درایورهای کرنل (char driver)، Build system and cross-compilation

8

مدیریت حافظه و بهینه‌سازی (Memory & Optimization)

تحلیل memory map، stack/heap محدودیت‌ها، کاهش مصرف رم و فلش، بهینه‌سازی با compiler flags، تحلیل power consumption و حالت‌های کم‌مصرف (sleep)

9

طراحی نرم‌افزار و الگوهای امبدد (Design Patterns & Best Practices)

ماشین‌های حالت (State Machines)، معماری لایه‌ای و HAL، MISRA C، جلوگیری از مسابقه (race condition)، الگوهای Producer-Consumer، Debouncing، Watchdog

10

تست و تضمین کیفیت (Testing & Debugging Techniques)

تست واحد (Unity/CppUTest)، شبیه‌سازی سخت‌افزاری با QEMU، تست در حلقه (HIL)، لاگ‌گیری روی پورت سریال (RTT/SWO)، تحلیل کرش (Hard Fault Handler) و static analysis

11

اینترنت اشیاء و ارتباطات (IoT & Connectivity)

پروتکل‌های MQTT، CoAP، LwM2M، TLS/mbedTLS، بروزرسانی OTA (Over-The-Air)، امنیت در دستگاه‌های متصل (secure boot, flash encryption)، پلتفرم‌های ابری (AWS IoT, Azure)

12

مباحث پیشرفته و تخصص‌های آینده (Advanced Topics & Specializations)

توسعه FPGA و زبان‌های توصیف سخت‌افزار (VHDL/Verilog) برای SoCها، پردازش سیگنال دیجیتال (DSP on Cortex-M)، AUTOSAR و سیستم‌های خودرویی، ایمنی عملکردی (IEC 61508/ISO 26262)