کتاب مهارت‌های پیشرفته بلادرنگ: برنامه‌نویسی چندنخی با ThreadX و MIPS با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

مهارت‌های پیشرفته بلادرنگ: برنامه‌نویسی چندنخی با ThreadX و MIPS - متخصص سیستم‌های نهفته شوید! قدمی فراتر از مرزهای سیستم‌های نهفته بردارید: با دوره جامع برنامه‌نویسی بلادرنگ! آیا رویای تسلط بر دنیای ...

انتخاب پلن

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

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

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

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

عنوان دوره: دوره مهارت‌های پیشرفته بلادرنگ: برنامه‌نویسی چندنخی با ThreadX و MIPS

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

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

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

  • 1. مقدمه‌ای بر سیستم‌های نهفته و بلادرنگ
  • 2. طبقه‌بندی سیستم‌های بلادرنگ: سخت، نرم و سفت
  • 3. نقش و ضرورت سیستم‌عامل بلادرنگ (RTOS)
  • 4. معرفی جامع سیستم‌عامل ThreadX و اکوسیستم آن
  • 5. مروری بر معماری MIPS: رجیسترها و سازمان حافظه
  • 6. مجموعه دستورالعمل‌های پایه در MIPS
  • 7. راه‌اندازی محیط توسعه: Toolchain و شبیه‌ساز
  • 8. ساختار یک پروژه ThreadX: از فایل ورودی تا فایل اجرایی
  • 9. تابع اصلی برنامه: `tx_application_define`
  • 10. کامپایل، لینک و اجرای اولین برنامه
  • 11. اصول اشکال‌زدایی (Debugging) در محیط نهفته
  • 12. مفاهیم اساسی همزمانی: چالش‌ها و راهکارها
  • 13. مفهوم نخ (Thread) و تفاوت آن با فرآیند (Process)
  • 14. ویژگی‌های یک نخ: پشته، اولویت، و نقطه ورود
  • 15. چرخه حیات و حالات مختلف یک نخ (Thread States)
  • 16. زمان‌بندی پیشگیرانه (Preemptive Scheduling) مبتنی بر اولویت
  • 17. مفهوم تعویض زمینه (Context Switching)
  • 18. ایجاد یک نخ با `tx_thread_create`
  • 19. پایان دادن و حذف یک نخ با `tx_thread_delete`
  • 20. تعلیق یک نخ با `tx_thread_suspend`
  • 21. فعال‌سازی مجدد یک نخ با `tx_thread_resume`
  • 22. ایجاد تأخیر و به خواب بردن نخ با `tx_thread_sleep`
  • 23. واگذاری داوطلبانه پردازنده با `tx_thread_relinquish`
  • 24. زمان‌بندی گردشی (Round-Robin) با Time-Slicing
  • 25. پیکربندی و فعال‌سازی Time-Slicing
  • 26. تغییر اولویت یک نخ در زمان اجرا
  • 27. نخ بیکار سیستم (System Idle Thread) و کاربردهای آن
  • 28. مدیریت پشته نخ و محاسبه اندازه مورد نیاز
  • 29. تشخیص و جلوگیری از سرریز پشته (Stack Overflow)
  • 30. دریافت اطلاعات و آمار عملکرد نخ‌ها
  • 31. مسئله بخش بحرانی (Critical Section)
  • 32. شرایط رقابتی (Race Condition) و مثال‌های عملی
  • 33. قفل‌های انحصاری (Mutex) به عنوان راه‌حل
  • 34. ایجاد و حذف یک Mutex
  • 35. درخواست و آزادسازی یک Mutex (`tx_mutex_get` و `tx_mutex_put`)
  • 36. مسئله بن‌بست (Deadlock) و شرایط وقوع آن
  • 37. استراتژی‌های پیشگیری و اجتناب از بن‌بست
  • 38. مفهوم سمافور (Semaphore) و کاربردهای آن
  • 39. سمافورهای شمارشی (Counting Semaphores)
  • 40. ایجاد و حذف سمافور شمارشی
  • 41. عملیات `get` روی سمافور شمارشی
  • 42. عملیات `put` روی سمافور شمارشی
  • 43. سمافورهای دودویی (Binary Semaphores)
  • 44. مقایسه سمافور دودویی و Mutex
  • 45. الگوی طراحی تولیدکننده-مصرف‌کننده (Producer-Consumer)
  • 46. پیاده‌سازی الگوی تولیدکننده-مصرف‌کننده با سمافور
  • 47. الگوی طراحی خوانندگان-نویسندگان (Readers-Writers)
  • 48. پرچم‌های رویداد (Event Flags) برای همگام‌سازی پیچیده
  • 49. ایجاد و حذف یک گروه از پرچم‌های رویداد
  • 50. تنظیم پرچم‌های رویداد با `tx_event_flags_set`
  • 51. دریافت پرچم‌های رویداد با `tx_event_flags_get`
  • 52. گزینه‌های `AND` و `OR` در دریافت پرچم‌ها
  • 53. گزینه `CLEAR` در دریافت و تنظیم پرچم‌ها
  • 54. مشکل وارونگی اولویت (Priority Inversion)
  • 55. راه حل: وراثت اولویت (Priority Inheritance)
  • 56. فعال‌سازی و استفاده از وراثت اولویت در Mutex های ThreadX
  • 57. انتخاب ابزار همگام‌سازی مناسب برای هر سناریو
  • 58. صف‌های پیام (Message Queues) برای انتقال داده
  • 59. ایجاد و حذف یک صف پیام
  • 60. ارسال پیام به صف با `tx_queue_send`
  • 61. دریافت پیام از صف با `tx_queue_receive`
  • 62. ارسال پیام فوری به ابتدای صف
  • 63. ارسال پیام بدون کپی کردن (Pointer Queues)
  • 64. پیکربندی اندازه پیام و ظرفیت صف
  • 65. دریافت اطلاعات و وضعیت صف پیام
  • 66. مدیریت خطا در عملیات صف
  • 67. مقایسه صف پیام با سایر مکانیزم‌های ارتباطی
  • 68. چالش‌های مدیریت حافظه در سیستم‌های بلادرنگ
  • 69. مشکل تجزیه حافظه (Memory Fragmentation)
  • 70. استخرهای بایت حافظه (Byte Memory Pools)
  • 71. ایجاد و حذف استخر بایت
  • 72. تخصیص و آزادسازی حافظه از استخر بایت
  • 73. استخرهای بلوک حافظه (Block Memory Pools)
  • 74. ایجاد و حذف استخر بلوک
  • 75. تخصیص و آزادسازی حافظه از استخر بلوک
  • 76. تیک ساعت سیستم (System Tick) و نقش آن
  • 77. تایمرهای کاربردی (Application Timers)
  • 78. ایجاد و حذف یک تایمر
  • 79. فعال‌سازی و غیرفعال‌سازی تایمر
  • 80. تغییر مشخصات تایمر در زمان اجرا
  • 81. تایمرهای یک‌باره (One-Shot) در مقابل تایمرهای دوره‌ای (Periodic)
  • 82. مدیریت وقفه‌ها (Interrupts) در معماری MIPS
  • 83. نوشتن روتین سرویس وقفه (ISR)
  • 84. تعامل ISR با ThreadX و محدودیت‌ها
  • 85. پردازش معوق وقفه (Deferred Interrupt Processing)
  • 86. تحلیل رفتار سیستم با ابزار TraceX
  • 87. تکنیک‌های پیشرفته اشکال‌زدایی برنامه‌های چندنخی
  • 88. استفاده از کتابخانه‌های استاندارد C به صورت Thread-Safe
  • 89. الگوهای طراحی مبتنی بر رویداد (Event-Driven)
  • 90. پیاده‌سازی ماشین‌های حالت (State Machines) با ThreadX
  • 91. یکپارچه‌سازی درایورهای سخت‌افزاری
  • 92. راهبردهای مدیریت خطا و بازیابی سیستم
  • 93. استفاده از تایمر نگهبان (Watchdog Timer)
  • 94. ماژول‌های ThreadX برای بارگذاری کد پویا
  • 95. پیکربندی پیشرفته ThreadX از طریق `tx_user.h`
  • 96. بهینه‌سازی مصرف حافظه (Footprint Optimization)
  • 97. تکنیک‌های بهینه‌سازی سرعت و کاهش تأخیر (Latency)
  • 98. پروژه نهایی: طراحی یک سیستم کنترل بلادرنگ
  • 99. پروژه نهایی: پیاده‌سازی، تست و تحلیل عملکرد
تگ‌ها: Concurrency Embedded C Embedded Programming Embedded Software MIPS MIPS Assembly Multithreading real-time embedded systems RTOS ThreadX برنامه‌نویسی بلادرنگ توسعه نرم‌افزار چندنخی سیستم‌های نهفته مدیریت همزمانی

نظرات

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

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