کتاب برنامه‌نویسی میکروپردازنده‌های توکار: تسلط بر سخت‌افزار با زبان اسمبلی و C با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

برنامه‌نویسی میکروپردازنده‌های توکار: تسلط بر سخت‌افزار با زبان اسمبلی و C برنامه‌نویسی میکروپردازنده‌های توکار خانه درباره ما تماس با ما در خبرنامه ما عضو شوید اشتراک آینده را بسازید: با برنامه‌نویسی...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 87,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره برنامه‌نویسی میکروپردازنده‌های توکار: تسلط بر سخت‌افزار با زبان اسمبلی و C

موضوع کلی: سیستم‌های توکار

موضوع میانی: برنامه‌نویسی میکروپردازنده‌ها در سیستم‌های توکار

📋 سرفصل‌های دوره

  • 1. بخش اول: مبانی و مقدمات سیستم‌های توکار
  • 2. مقدمه‌ای بر سیستم‌های توکار و کاربردهای آن
  • 3. تاریخچه و تکامل میکروپردازنده‌ها
  • 4. تفاوت میکروکنترلر و میکروپردازنده
  • 5. محدودیت‌های سیستم‌های توکار: توان، هزینه، اندازه
  • 6. معماری‌های کامپیوتر: Von Neumann در مقابل Harvard
  • 7. سیستم‌های اعداد: باینری، هگزادسیمال و ده‌دهی
  • 8. جبر بولی و گیت‌های منطقی پایه
  • 9. مقدمه‌ای بر مدارات دیجیتال و فلیپ‌فلاپ‌ها
  • 10. مروری بر اجزای یک سیستم توکار: CPU، حافظه، پریفرال‌ها
  • 11. آشنایی با محیط توسعه یکپارچه (IDE) و زنجیره ابزار (Toolchain)
  • 12. بخش دوم: معماری میکروپردازنده و سخت‌افزار
  • 13. معماری داخلی یک میکروپردازنده
  • 14. واحد پردازش مرکزی (CPU) و واحد محاسبه و منطق (ALU)
  • 15. رجیسترها: رجیسترهای کاربرد عمومی و رجیسترهای خاص منظوره
  • 16. شمارنده برنامه (Program Counter) و اشاره‌گر پشته (Stack Pointer)
  • 17. چرخه دستورالعمل: واکشی، رمزگشایی، اجرا (Fetch-Decode-Execute)
  • 18. معماری مجموعه دستورالعمل (ISA): RISC در مقابل CISC
  • 19. مفهوم پایپ‌لاین (Pipelining) در پردازنده‌ها
  • 20. سیستم کلاک و نوسان‌سازها (Oscillators)
  • 21. مدار ریست (Reset Circuit) و حالت‌های راه‌اندازی
  • 22. سازمان‌دهی حافظه و نقشه حافظه (Memory Map)
  • 23. بخش سوم: برنامه‌نویسی به زبان اسمبلی
  • 24. چرا زبان اسمبلی را یاد بگیریم؟
  • 25. ساختار یک برنامه اسمبلی: دستورات، دایرکتیوها و برچسب‌ها
  • 26. دستورالعمل‌های انتقال داده (Data Transfer)
  • 27. دستورالعمل‌های حسابی (Arithmetic)
  • 28. دستورالعمل‌های منطقی (Logical)
  • 29. دستورالعمل‌های شیفت و چرخش (Shift and Rotate)
  • 30. حالت‌های آدرس‌دهی (Addressing Modes): فوری، مستقیم، غیرمستقیم
  • 31. حالت‌های آدرس‌دهی پیشرفته: ایندکسی و نسبی
  • 32. دستورالعمل‌های پرش و انشعاب (Jump and Branch)
  • 33. پیاده‌سازی حلقه‌ها در زبان اسمبلی
  • 34. زیرروال‌ها (Subroutines) و مکانیزم فراخوانی
  • 35. استفاده از پشته برای ارسال پارامتر و ذخیره متغیرهای محلی
  • 36. مفاهیم ماکرو (Macros) در اسمبلی
  • 37. ارتباط با پورت‌های ورودی/خروجی (I/O) در اسمبلی
  • 38. ایجاد تاخیرهای زمانی دقیق با حلقه‌های نرم‌افزاری
  • 39. بخش چهارم: زبان C برای سیستم‌های توکار
  • 40. مزایای زبان C در برنامه‌نویسی توکار
  • 41. انواع داده در C و اندازه آن‌ها در حافظه
  • 42. کلمات کلیدی `volatile` و `const` و کاربرد آن‌ها
  • 43. اشاره‌گرها (Pointers): کلید دسترسی به سخت‌افزار
  • 44. محاسبات روی اشاره‌گرها (Pointer Arithmetic)
  • 45. دسترسی به رجیسترهای سخت‌افزاری با استفاده از اشاره‌گرها
  • 46. عملگرهای بیتی (Bitwise Operators) در C
  • 47. تکنیک‌های Masking: تنظیم، پاک کردن و تست بیت‌ها
  • 48. استفاده از `struct` و `union` برای نگاشت رجیسترها
  • 49. دستورات پیش‌پردازنده (#define, #include, #ifdef)
  • 50. کلاس‌های ذخیره‌سازی: `static`, `extern`, `auto`
  • 51. توابع و اشاره‌گر به تابع (Function Pointers)
  • 52. استفاده از آرایه‌ها و رشته‌ها در سیستم‌های توکار
  • 53. مفاهیم اولیه اسکریپت لینکر (Linker Script)
  • 54. ترکیب کدهای C و اسمبلی (Mixing C and Assembly)
  • 55. بخش پنجم: پریفرال‌ها و واسط‌های سخت‌افزاری
  • 56. پورت‌های ورودی/خروجی عمومی (GPIO)
  • 57. پیکربندی GPIO به عنوان ورودی، خروجی و Open-Drain
  • 58. پروژه عملی: چشمک زدن LED
  • 59. خواندن وضعیت یک کلید فشاری
  • 60. تکنیک‌های حذف نویز کلید (Switch Debouncing)
  • 61. وقفه (Interrupt): مفاهیم و نظریه
  • 62. جدول بردار وقفه (Interrupt Vector Table)
  • 63. نوشتن یک روتین سرویس وقفه (Interrupt Service Routine - ISR)
  • 64. استفاده از وقفه‌های خارجی (External Interrupts)
  • 65. تایمرها و شمارنده‌ها (Timers and Counters)
  • 66. حالت‌های مختلف تایمر: دوره‌ای و تک-شات
  • 67. تولید تاخیرهای دقیق با استفاده از تایمرها
  • 68. مدولاسیون عرض پالس (PWM): نظریه و کاربرد
  • 69. کنترل روشنایی LED با PWM
  • 70. کنترل سروو موتور با PWM
  • 71. مبدل آنالوگ به دیجیتال (ADC)
  • 72. خواندن مقادیر سنسورهای آنالوگ با ADC
  • 73. مبدل دیجیتال به آنالوگ (DAC)
  • 74. تولید شکل موج‌های ساده با DAC
  • 75. ارتباط سریال ناهمزمان (UART/USART)
  • 76. پروژه عملی: ارسال و دریافت داده از طریق UART
  • 77. واسط سریال محیطی (SPI)
  • 78. ارتباط بین دو میکروکنترلر با SPI
  • 79. واسط مدار مجتمع داخلی (I2C)
  • 80. تایمر نگهبان (Watchdog Timer - WDT)
  • 81. کنترلر دسترسی مستقیم به حافظه (DMA)
  • 82. بخش ششم: حافظه و مدیریت آن
  • 83. انواع حافظه: RAM, ROM, EEPROM, Flash
  • 84. سازمان‌دهی حافظه فلش: کد و داده
  • 85. سازمان‌دهی حافظه RAM: پشته، هیپ و متغیرهای سراسری
  • 86. مفاهیم پایداری داده‌ها (Data Persistence)
  • 87. تکنیک‌های برنامه‌ریزی حافظه فلش در حین اجرا (In-Application Programming)
  • 88. بخش هفتم: سیستم‌های بی‌درنگ و مفاهیم پیشرفته
  • 89. مقدمه‌ای بر سیستم‌های عامل بی‌درنگ (RTOS)
  • 90. تفاوت سیستم‌های بی‌درنگ سخت و نرم (Hard vs. Soft Real-Time)
  • 91. وظایف (Tasks) و زمان‌بندی (Scheduling)
  • 92. همگام‌سازی وظایف: سمافورها (Semaphores) و میوتکس‌ها (Mutexes)
  • 93. ارتباط بین وظایف: صف‌های پیام (Message Queues)
  • 94. مدیریت حافظه در سیستم‌های توکار
  • 95. حالت‌های کم‌مصرف و مدیریت توان
  • 96. بوت‌لودر (Bootloader) و فرآیند راه‌اندازی سیستم
  • 97. به‌روزرسانی فریم‌ور از راه دور (Firmware Over-The-Air - FOTA)
  • 98. بخش هشتم: ابزارها، اشکال‌زدایی و بهترین شیوه‌ها
  • 99. استفاده از دیباگرهای سخت‌افزاری (JTAG/SWD)
  • 100. نقاط توقف (Breakpoints) و مشاهده حافظه و رجیسترها
تگ‌ها: ARM Cortex-M Assembly Language C Programming Embedded C Embedded Software embedded systems Firmware development Hardware Interfacing Microcontroller programming Microcontrollers Microprocessor Programming Real-Time Systems برنامه نویسی C++ برنامه نویسی میکروکنترلر پردازنده های کوچک توسعه فریم‌ور زبان اسمبلی سیستم های توکار سیستم های نهفته یادگیری C++ یادگیری اسمبلی

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.