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

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

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

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

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

این دوره یک مجموعه دو قسمتی است. این قسمت دوم از این مجموعه است.

در پایان این دوره، شما باید بتوانید سیستم عامل بلادرنگ خودتان را از ابتدا بسازید، در مورد سیستم عامل‌های بلادرنگ سخنرانی کنید، یک زمان‌بند Round-Robin، زمان‌بند اولویت‌دار، زمان‌بند متناوب، زمان‌بند دوره‌ای بسازید، بتوانید میزان استفاده از CPU در RTOS خود را محاسبه کنید، یک هسته OS بسازید و غیره. لطفاً به بخش برنامه درسی دوره مراجعه کنید تا از محتوای شگفت‌انگیز منتظر شما مطلع شوید.

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

  • تمرین بر روی STM32
  • ساخت سیستم عامل‌های بلادرنگ خودتان از اصول اولیه
  • ساخت یک سیستم عامل بلادرنگ از ابتدا
  • توانایی ساخت زمان‌بندهای اولویت‌دار
  • توانایی ساخت زمان‌بندهای متناوب
  • توانایی ساخت زمان‌بندهای ثابت
  • توانایی ساخت زمان‌بندهای دوره‌ای با استفاده از 4 الگوریتم مختلف
  • توانایی پیاده‌سازی و توضیح الگوریتم‌های زمان‌بندی محبوب
  • توانایی توضیح معماری Cortex-M
  • توانایی ارائه سخنرانی در مورد سیستم عامل‌های بلادرنگ

پیش‌نیازها:

توصیه می‌شود قبل از این دوره، دوره "ساخت RTOS خودتان از پایه 1" را تکمیل کنید.


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

مقدمه Introduction

  • بهترین استفاده از این دوره Getting the best out of this course

مرورگر زمان‌بندی Round Robin Round Robin Scheduler Recap

  • مروری بر مفاهیم پایه RTOS Review on basic RTOS concepts

  • کدنویسی: ایجاد فایل‌های osKernel Coding : Creating osKernel files

  • کدنویسی: نوشتن توابع اولیه osKernel Coding : Writing the osKernel Initialization functions

  • کدنویسی: نوشتن تابع osKernelAddThreads Coding : Writing the osKernelAddThreads function

  • کدنویسی: نوشتن تابع osKernelLaunch Coding : Writing the osKernelLaunch function

  • کدنویسی: نوشتن روال osSchedulerLaunch در زبان اسمبلی (بخش اول) Coding : Writing the osSchedulerLaunch routine in Assembly (Part I)

  • کدنویسی: نوشتن روال osSchedulerLaunch در زبان اسمبلی (بخش دوم) Coding : Writing the osSchedulerLaunch routine in Assembly (Part II)

  • کدنویسی: زمان‌بندی همکارانه Coding : Cooperate Schedulers

  • سوئیچر Thread PendSV The PendSV Thread Switcher

زمان‌بندی دوره‌ای Period Scheduling

  • کدنویسی: زمان‌بندی دوره‌ای نوع 1 Coding : Type 1 Periodic Scheduling

  • کدنویسی: زمان‌بندی دوره‌ای نوع 1 با چند Thread دوره‌ای Coding : Type 1 Periodic Scheduling with Multiple Periodic Threads

  • کدنویسی: زمان‌بندی دوره‌ای نوع 2: استفاده از وقفه‌های سخت‌افزاری Coding : Type 2 Periodic Scheduling : Using Hardware Interrupts

  • کدنویسی: زمان‌بندی دوره‌ای نوع 3: استفاده از بلوک‌های کنترل Thread Coding : Type 3 Periodic Scheduling : Using Thread Control Blocks

  • کدنویسی: زمان‌بندی دوره‌ای نوع 4: استفاده از TCB و وقفه سخت‌افزاری Coding : Type 4 Periodic Scheduling : Using TCB and Hardware Interrupt

بسته پشتیبانی از برد (BSP) Board Support Package (BSP)

  • کدنویسی: توسعه APIهای پشتیبانی از خروجی GPIO برد (بخش اول) Coding : Developing the GPIO Output Board Support APIs (Part I)

  • کدنویسی: توسعه APIهای پشتیبانی از خروجی GPIO برد (بخش دوم) Coding : Developing the GPIO Output Board Support APIs (Part II)

  • کدنویسی: تست APIهای پشتیبانی از خروجی GPIO برد Coding : Testing the GPIO Output Board Support APIs

  • کدنویسی: توسعه APIهای پشتیبانی از ADC برد Coding : Developing the ADC Board Support APIs

  • کدنویسی: تست APIهای پشتیبانی از ADC برد Coding : Testing the ADC Board Support APIs

  • کدنویسی: توسعه APIهای پشتیبانی از TIMER برد Coding : Developing the TIMER Board Support APIs

  • کدنویسی: توسعه APIهای پشتیبانی از ورودی GPIO برد Coding : Developing the GPIO Input Board Support APIs

  • کدنویسی: راه‌اندازی پروب‌ها Coding : Setting Up Probes

ارتباط بین Threadها Inter-Thread Communication

  • مروری بر Semaphoreها Semaphores Recap

  • کدنویسی: ایجاد یک Semaphore SpinLock Coding : Creating a SpinLock Semaphore

  • کدنویسی: استفاده از Semaphoreها برای دسترسی انحصاری LCD Coding : Using Semaphores for Mutually Exclusive LCD Access

  • کدنویسی: همگام‌سازی وظایف با استفاده از Semaphoreها (Rendezvous) Coding : Synchronizing Tasks using Semaphores (Rendezvous)

  • کدنویسی: ایجاد یک Semaphore همکارانه Coding : Creating a Cooperative Semaphore

  • کدنویسی: ایجاد API osThreadSleep Coding : Creating the osThreadSleep API

انتقال داده بین Threadها Inter-Thread Data Transfer

  • کدنویسی: ارسال داده بین Threadها با استفاده از Mailboxها Coding : Sending Data between Threads using Mailboxes

  • کدنویسی: ارسال داده بین Threadها با استفاده از صفوف FIFO Coding : Sending Data between Threads using FIFO Queues

زمان‌بندی اولویت‌دار Priority Scheduling

  • کدنویسی: توسعه یک زمان‌بند اولویت‌دار Coding : Developing A Priority Scheduler

زمان‌بندی متناوب Sporadic Scheduling

  • کدنویسی: زمان‌بندی Threadهای متناوب Coding : Scheduling Sporadic Threads

زمان‌بندی ثابت Fixed Scheduling

  • کدنویسی: توسعه یک درایور UART برای نظارت بر نتایج Coding : Developing a UART Driver for monitoring results

  • کدنویسی: ساخت یک ماشین حالت محدود Coding : Building a Finite State Machine

  • کدنویسی: ساخت یک ماشین حالت محدود (ادامه) Coding : Building a Finite State Machine (continued)

  • کدنویسی: پیاده‌سازی یک زمان‌بند ثابت با یک ماشین حالت محدود Coding : Implementing a Fixed Scheduler with a Finite State Machine

فلسفه طراحی ARM و معماری RISC ARM Design Philosophy and RISC Architecture

  • فلسفه طراحی RISC The RISC Design Philosophy

  • فلسفه طراحی ARM The ARM Design Philosophy

  • سیستم‌های تعبیه‌شده با پردازنده‌های ARM Embedded Systems with ARM Processors

  • فناوری باس ARM و پروتکل باس AMBA ARM Bus Technology and AMBA Bus Protocol

  • حافظه Memory

  • لوازم جانبی Peripherals

  • معماری فون نویمان و هاروارد Von Neumann and Harvard architecture

  • Cache و حافظه پیوسته Cache and Tightly Couple Memory

  • افزونه‌های مدیریت حافظه Memory Management extensions

  • افزونه‌های Co-processor Co-processor extensions

مدل برنامه‌نویسی ARM The ARM Programmer's Model

  • انواع داده‌ها Data Types

  • حالت‌های پردازنده Processor Modes

  • ثبات‌های ARM7TDMI ARM7TDMI Registers

  • جدول بردار ARM7TDMI ARM7TDMI Vector Table

  • ثبات‌های ARM Cortex-M ARM Cortex-M Registers

  • جدول بردار ARM Cortex-M ARM Cortex-M Vector Table

  • مدل جریان داده ARM ARM Data Flow Model

  • Pipeline The Pipeline

  • خانواده پردازنده ARM ARM Processor Family

  • ARM Cortex-A و Cortex-R ARM Cortex-A and Cortex-R

  • ARM Cortex-M ARM Cortex-M

تنظیمات Set Up

  • دانلود Keil uVision 5 Download Keil uVision 5

  • نصب Keil uVision 5 Installing Keil uVision 5

  • نصب بسته‌ها Installing Packs

پایان Closing

  • سخنان پایانی Closing Remarks

نمایش نظرات

آموزش سیستم‌عامل بی‌درنگ (RTOS) خود را از پایه™ روی ARM 2 بسازید
جزییات دوره
11 hours
62
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,820
4.1 از 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

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

EmbeddedExpertIO EmbeddedExpertIO

کد سطح پایین آسان شد