آموزش ساخت سیستم عامل بلادرنگ (RTOS) خودتان از پایه™ بر روی ARM - آخرین آپدیت

دانلود Build Your Own RealTime OS (RTOS) From Ground Up™ on ARM 1

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

ساخت سیستم‌عامل‌های بلادرنگ خودتان از پایه!

این دوره آموزشی شما را با مفاهیم اساسی ساخت سیستم‌عامل‌های بلادرنگ (RTOS) آشنا می‌کند و با تمرین‌های عملی، دانش شما را تثبیت می‌کند. این دوره برای علاقه‌مندان به یادگیری و ساخت RTOSها طراحی شده و از مبانی شروع می‌شود تا به شما امکان دهد یک سیستم‌عامل بلادرنگ سفارشی بسازید. با تمرکز بر روی معماری ARM و بردهای STM32 و TIVA C، شما مهارت‌های لازم را برای پیاده‌سازی و سفارشی‌سازی RTOS کسب خواهید کرد.

آنچه در این دوره خواهید آموخت:

  • ساخت یک سیستم‌عامل بلادرنگ (RTOS) از ابتدا
  • ساخت زمان‌بند Round-Robin
  • ساخت زمان‌بند Cooperative
  • ساخت زمان‌بند Periodic
  • ساخت زمان‌بند First Come First Served
  • ساخت زمان‌بند Rate Monotonic
  • ساخت پکیج پشتیبانی از برد (BSP) از پایه
  • محاسبه‌ی استفاده از CPU در یک RTOS
  • نوشتن کدهای Embedded-C (بدون استفاده از کتابخانه‌های استاندارد)
  • نوشتن کد اسمبلی
  • درک ویژگی‌های پشتیبانی از سیستم‌عامل در معماری Cortex-M
  • درک ساختار داخلی هسته یک RTOS
  • پیاده‌سازی و توضیح الگوریتم‌های زمان‌بندی محبوب
  • توانایی توضیح معماری Cortex-M
  • توانایی ارائه سخنرانی در مورد سیستم‌عامل‌های بلادرنگ

این دوره با یک مقدمه جذاب در مورد ساختار داخلی هسته یک RTOS در پردازنده‌های ARM آغاز می‌شود و شما با پیاده‌سازی عملی این مفاهیم در کد، دانش خود را تقویت می‌کنید. سپس به بررسی دقیق‌تر مفاهیم RTOS، اجزای مختلف و نحوه عملکرد آن‌ها می‌پردازیم و در نهایت، با ساخت یک RTOS سفارشی، الگوریتم‌های زمان‌بندی مختلف و ابزارهای ارتباط بین-رشته‌ای را بررسی می‌کنیم.

در پایان این دوره، شما قادر خواهید بود یک سیستم‌عامل بلادرنگ را از ابتدا بسازید، یک سخنرانی در مورد RTOS ارائه دهید، زمان‌بندهای مختلف (Round-Robin، Periodic و...) را بسازید، استفاده از CPU را در RTOS خود محاسبه کنید و یک هسته سیستم‌عامل را پیاده‌سازی کنید. برای اطلاع از محتوای دقیق دوره، به بخش سرفصل‌های آموزشی مراجعه کنید.

پیش‌نیازها: داشتن دانش مقدماتی برنامه‌نویسی C مفید است.


سرفصل ها و درس ها

Setting Up-راه‌اندازی Setting Up

  • Downloading CubeIDE-دریافت CubeIDE Downloading CubeIDE

  • Installing CubeIDE-نصب CubeIDE Installing CubeIDE

  • Development Board-برد توسعه Development Board

  • Getting the Required Documentation-دریافت مستندات لازم Getting the Required Documentation

  • Setting Up the Project Tree (Part I)-راه‌اندازی ساختار پروژه (بخش اول) Setting Up the Project Tree (Part I)

  • Setting Up the Project Tree (Part II)-راه‌اندازی ساختار پروژه (بخش دوم) Setting Up the Project Tree (Part II)

  • Getting the best out of this course.-بهره‌برداری حداکثری از این دوره Getting the best out of this course.

[OPTIONAL] Setting Up Keil uVision 5-راه‌اندازی Keil uVision 5 [اختیاری] [OPTIONAL] Setting Up Keil uVision 5

  • Downloading Keil uVision-دریافت Keil uVision Downloading Keil uVision

  • Installing Keil uVision 5-نصب Keil uVision 5 Installing Keil uVision 5

  • Installing Packs-نصب پَک‌ها Installing Packs

  • Overview of Keil uVision 5-مروری بر Keil uVision 5 Overview of Keil uVision 5

  • Changing the Compiler-تغییر کامپایلر Changing the Compiler

Developing the Required Drivers-توسعه درایورهای مورد نیاز Developing the Required Drivers

  • Programming : Developing the LED Driver (PartI)-برنامه‌نویسی: توسعه‌ی درایور LED (بخش اول) Programming : Developing the LED Driver (PartI)

  • Notice-اطلاعیه Notice

  • Programming : Developing the LED Driver (PartII)-برنامه‌نویسی: توسعه‌ی درایور LED (بخش دوم) Programming : Developing the LED Driver (PartII)

  • [Keil uVision] : Programming : Developing the LED Driver- [Keil uVision]: برنامه‌نویسی: توسعه‌ی درایور LED [Keil uVision] : Programming : Developing the LED Driver

  • Programming : Developing the UART Driver (Part I) - Approach-برنامه‌نویسی: توسعه‌ی درایور UART (بخش اول) - رویکرد Programming : Developing the UART Driver (Part I) - Approach

  • Programming : Developing the UART Driver (Part II) - Initialization Function-برنامه‌نویسی: توسعه‌ی درایور UART (بخش دوم) - تابع مقداردهی اولیه Programming : Developing the UART Driver (Part II) - Initialization Function

  • Programming : Developing the UART Driver (Part III) - Write Function-برنامه‌نویسی: توسعه‌ی درایور UART (بخش سوم) - تابع نوشتن Programming : Developing the UART Driver (Part III) - Write Function

  • [Keil uVision] : Programming : Developing the UART Driver- [Keil uVision]: برنامه‌نویسی: توسعه‌ی درایور UART [Keil uVision] : Programming : Developing the UART Driver

  • Programming : Developing the Timebase Initialization Function-برنامه‌نویسی: توسعه‌ی تابع مقداردهی اولیه‌ی Timebase Programming : Developing the Timebase Initialization Function

  • Programming : Developing the Timebase Utility Functions-برنامه‌نویسی: توسعه‌ی توابع کمکی Timebase Programming : Developing the Timebase Utility Functions

  • [Keil uVision] : Programming : Developing the Timebase- [Keil uVision]: برنامه‌نویسی: توسعه‌ی Timebase [Keil uVision] : Programming : Developing the Timebase

The Internals of Realtime Operating Systems-ساختار داخلی سیستم‌عامل‌های بلادرنگ The Internals of Realtime Operating Systems

  • Programming : Experimenting with Blocking Code-برنامه‌نویسی: آزمایش با کد بلاک‌کننده Programming : Experimenting with Blocking Code

  • [Keil uVision] : Programming : Experimenting with Blocking Code- [Keil uVision]: برنامه‌نویسی: آزمایش با کد بلاک‌کننده [Keil uVision] : Programming : Experimenting with Blocking Code

  • Programming : Manual Context Switching-برنامه‌نویسی: تعویض Context دستی Programming : Manual Context Switching

  • [Keil uVision] : Programming : Manual Context Switching- [Keil uVision]: برنامه‌نویسی: تعویض Context دستی [Keil uVision] : Programming : Manual Context Switching

Introduction to Real-time Operating Systems-مقدمه‌ای بر سیستم‌عامل‌های بلادرنگ Introduction to Real-time Operating Systems

  • What is an RTOS?-RTOS چیست؟ What is an RTOS?

  • Performance Metrics of Real Time Operating Systems-معیارهای عملکرد سیستم‌عامل‌های بلادرنگ Performance Metrics of Real Time Operating Systems

Software Flows-جریان‌های نرم‌افزاری Software Flows

  • Busy Wait System-سیستم انتظار فعال Busy Wait System

  • Multi-Threaded Systems (With ISRs)-سیستم‌های چند-رشته‌ای (با ISRها) Multi-Threaded Systems (With ISRs)

  • Real-Time Systems-سیستم‌های بلادرنگ Real-Time Systems

The Stack-پشته The Stack

  • Stack & Memory Map-پشته و نقشه حافظه Stack & Memory Map

  • Stack Manipulation-دستکاری پشته Stack Manipulation

Overview of Cortex-M OS Support Features-مروری بر ویژگی‌های پشتیبانی OS در Cortex-M Overview of Cortex-M OS Support Features

  • Inside the Microcontroller-داخل ریزپردازنده Inside the Microcontroller

  • The Shadow Stack Pointer-اشاره‌گر پشته‌ی سایه The Shadow Stack Pointer

  • Exclusive access instructions-دستورالعمل‌های دسترسی انحصاری Exclusive access instructions

  • The SysTick-SysTick The SysTick

BOOT Sequence-توالی BOOT BOOT Sequence

  • Cortex-M Boot Sequence PART I-توالی بوت Cortex-M - قسمت اول Cortex-M Boot Sequence PART I

  • Cortex-M Boot Sequence PRT II-توالی بوت Cortex-M - قسمت دوم Cortex-M Boot Sequence PRT II

Introduction to Threads-مقدمه‌ای بر تردها Introduction to Threads

  • The Thread-ترد The Thread

  • Classification of Threads-طبقه‌بندی تردها Classification of Threads

Thread Control Block (TCB)-بلوک کنترل ترد (TCB) Thread Control Block (TCB)

  • Features of the Thread Control Bock-ویژگی‌های Thread Control Block Features of the Thread Control Bock

  • Implementing a Thread Control Block-پیاده‌سازی Thread Control Block Implementing a Thread Control Block

The Scheduler and Scheduling Algorithms-زمان‌بند و الگوریتم‌های زمان‌بندی The Scheduler and Scheduling Algorithms

  • The Scheduler-زمان‌بند The Scheduler

  • Process vs. Thread-فرآیند در مقابل ترد Process vs. Thread

  • Classification of Schedulers-طبقه‌بندی زمان‌بندها Classification of Schedulers

  • Preemption-پیش‌دسترسی (Preemption) Preemption

  • Scheduler Criteria-معیارهای زمان‌بند Scheduler Criteria

  • CPU Utilization-استفاده از CPU CPU Utilization

  • Scheduling Algorithm Optimization-بهینه‌سازی الگوریتم زمان‌بندی Scheduling Algorithm Optimization

  • Overview of Popular Scheduling Algorithms-مروری بر الگوریتم‌های زمان‌بندی محبوب Overview of Popular Scheduling Algorithms

  • First Come First Served (FCFS) Scheduler-زمان‌بند (FCFS) - اولویت اول سرویس‌دهی First Come First Served (FCFS) Scheduler

  • Round Robin (RR) Scheduler-زمان‌بند Round Robin (RR) Round Robin (RR) Scheduler

  • Round Robin (RR) Scheduler (PART II)-زمان‌بند Round Robin (RR) (بخش دوم) Round Robin (RR) Scheduler (PART II)

  • Quanta-کوانتا Quanta

  • Weighted Round Robin (WRR) Scheduler-زمان‌بند Round Robin وزن‌دار (WRR) Weighted Round Robin (WRR) Scheduler

  • Internals of the Round Robin Scheduler-ساختار داخلی زمان‌بند Round Robin Internals of the Round Robin Scheduler

Context Switching-تعویض Context Context Switching

  • The Context Switching process-فرآیند تعویض Context The Context Switching process

The Kernel-هسته The Kernel

  • The Kernel-هسته The Kernel

Developing a Realtime OS with a Round Robin Scheduler-توسعه‌ی یک سیستم‌عامل بلادرنگ با زمان‌بند Round Robin Developing a Realtime OS with a Round Robin Scheduler

  • Programming : Developing the Thread Control Block-برنامه‌نویسی: توسعه‌ی بلوک کنترل ترد Programming : Developing the Thread Control Block

  • Programming : Implementing the Kernel Stack Initialization Function-برنامه‌نویسی: پیاده‌سازی تابع مقداردهی اولیه‌ی پشته‌ی هسته Programming : Implementing the Kernel Stack Initialization Function

  • Programming : Implementing the Kernel Add Threads Function-برنامه‌نویسی: پیاده‌سازی تابع افزودن تردها در هسته Programming : Implementing the Kernel Add Threads Function

  • Programming : Implementing the Kernal Launch Function-برنامه‌نویسی: پیاده‌سازی تابع راه‌اندازی هسته Programming : Implementing the Kernal Launch Function

  • Programming : Saving and Restoring Context-برنامه‌نویسی: ذخیره و بازیابی Context Programming : Saving and Restoring Context

  • Programming : Implementing the OS Scheduler Launch Function-برنامه‌نویسی: پیاده‌سازی تابع راه‌اندازی زمان‌بند OS Programming : Implementing the OS Scheduler Launch Function

  • Programming : Testing the RTOS-برنامه‌نویسی: تست RTOS Programming : Testing the RTOS

  • Programming : Exploring the RTOS further-برنامه‌نویسی: بررسی بیشتر RTOS Programming : Exploring the RTOS further

  • [Keil uVision] Programming : Developing the Round Robin Scheduler v1- [Keil uVision] برنامه‌نویسی: توسعه‌ی زمان‌بند Round Robin نسخه ۱ [Keil uVision] Programming : Developing the Round Robin Scheduler v1

  • [Keil uVision] Programming : Developing the Round Robin Scheduler v2- [Keil uVision] برنامه‌نویسی: توسعه‌ی زمان‌بند Round Robin نسخه ۲ [Keil uVision] Programming : Developing the Round Robin Scheduler v2

Developing a Realtime OS with a Cooperative Scheduler-توسعه‌ی یک سیستم‌عامل بلادرنگ با زمان‌بند تعاونی Developing a Realtime OS with a Cooperative Scheduler

  • Programming : Developing the Cooperative Scheduler-برنامه‌نویسی: توسعه‌ی زمان‌بند تعاونی Programming : Developing the Cooperative Scheduler

  • [Keil uVision] : Programming : Developing the Cooperative Scheduler- [Keil uVision]: برنامه‌نویسی: توسعه‌ی زمان‌بند تعاونی [Keil uVision] : Programming : Developing the Cooperative Scheduler

Developing a Realtime OS with a Periodic Scheduler-توسعه‌ی یک سیستم‌عامل بلادرنگ با زمان‌بند دوره‌ای Developing a Realtime OS with a Periodic Scheduler

  • Programming : Developing the Periodic Scheduler-برنامه‌نویسی: توسعه‌ی زمان‌بند دوره‌ای Programming : Developing the Periodic Scheduler

  • Programming : Developing the Periodic Scheduler with Hardware Timers-برنامه‌نویسی: توسعه‌ی زمان‌بند دوره‌ای با تایمرهای سخت‌افزاری Programming : Developing the Periodic Scheduler with Hardware Timers

  • [Keil uVision] : Developing the Periodic Scheduler- [Keil uVision]: توسعه‌ی زمان‌بند دوره‌ای [Keil uVision] : Developing the Periodic Scheduler

  • [Keil uVision] : Programming : Developing the Periodic Scheduler with Hardware- [Keil uVision]: برنامه‌نویسی: توسعه‌ی زمان‌بند دوره‌ای با سخت‌افزار [Keil uVision] : Programming : Developing the Periodic Scheduler with Hardware

Semaphores-سمفورها Semaphores

  • Programming : Developing the APIs for Semaphores-برنامه‌نویسی: توسعه‌ی APIهای سمفورها Programming : Developing the APIs for Semaphores

  • [Keil uVision] : Programming : Developing the APIs for Semaphores- [Keil uVision]: برنامه‌نویسی: توسعه‌ی APIهای سمفورها [Keil uVision] : Programming : Developing the APIs for Semaphores

Closing-پایان Closing

  • Closing Remark-سخن پایانی Closing Remark

نمایش نظرات

آموزش ساخت سیستم عامل بلادرنگ (RTOS) خودتان از پایه™ بر روی ARM
جزییات دوره
9.5 hours
79
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
9,302
4.6 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Israel Gbati Israel Gbati

Embedded Firmware Engineer نام من اسرائیل است ، من بیش از 7 سال است که در فضای سیستم جاسازی شده تحقیق و کار می کنم. در Udemy ده ها هزار دانش آموز در سیستم های جاسازی شده با تمرکز بر موضوعاتی مانند برنامه نویسی Assembly ، طراحی سیستم عامل های زمان واقعی ، توسعه سیستم عامل و پردازش سیگنال دیجیتال آموزش داده ام. من قادر به آموزش این مباحث هستم زیرا در کارهای روزمره مفاهیمی را از این مباحث استفاده می کنم. به یکی از دوره های من بپیوندید و ببینید چطور پیش می رود. همیشه می توانید درخواست بازپرداخت کنید.

BHM Engineering Academy BHM Engineering Academy

آکادمی مهندسی قرن بیست و یکم