آموزش جامع FreeRTOS از پایه روی پردازنده‌های ARM (ویرایش شده) - آخرین آپدیت

دانلود FreeRTOS From Ground Up™ on ARM Processors (REVISED)

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

آموزش FreeRTOS: ساخت برنامه‌های بی‌درنگ (Real-Time) برای سیستم‌های نهفته (Embedded)

با FreeRTOS، سیستم عامل بی‌درنگ محبوب، برنامه‌های بی‌درنگ چندوظیفه‌ای (Multitask) بسازید. این دوره به شما کمک می‌کند تا با استفاده از بردهای STM32 و TIVA C، مهارت‌های لازم را برای طراحی و پیاده‌سازی سیستم‌های نهفته بی‌درنگ کسب کنید.

چرا FreeRTOS؟

FreeRTOS یک سیستم عامل متن‌باز و رایگان است که به طور گسترده در سیستم‌های نهفته استفاده می‌شود. این دوره به شما امکان می‌دهد تا:

  • ساخت برنامه‌های بی‌درنگ چندوظیفه‌ای با FreeRTOS
  • انتقال (Port) FreeRTOS به هر پردازنده ARM
  • تسلط بر ویژگی‌های مدیریت وظیفه (Task Management) FreeRTOS
  • تسلط بر ویژگی‌های مدیریت منابع (Resource Management) FreeRTOS
  • تسلط بر ویژگی‌های همگام‌سازی وظیفه (Task Synchronization) FreeRTOS
  • تسلط بر ویژگی‌های مدیریت رویداد (Event Management) FreeRTOS
  • محاسبه میزان استفاده CPU در RTOS
  • درک درونیات (Internals) هسته RTOS
  • پیاده‌سازی و توضیح الگوریتم‌های زمان‌بندی محبوب
  • ارائه یک سخنرانی در مورد هسته بی‌درنگ FreeRTOS
  • تسلط بر ویژگی‌های مدیریت وقفه (Interrupt Management) FreeRTOS
  • تسلط بر ویژگی‌های مدیریت زمان (Time Management) FreeRTOS
  • تسلط بر ویژگی‌های آمار زمان اجرای وقفه (Interrupt Run-Time Statistics) FreeRTOS
  • ساخت یک بسته پشتیبانی برد (Board Support Package) از ابتدا
  • درک زمان‌بندهای Rate Monotonic
  • درک زمان‌بندهای First Come First Served
  • درک زمان‌بندهای Round-Robin
  • درک زمان‌بندهای Weighted-Round-Robin
  • درک طراحی و معماری ARM
  • درک ویژگی‌های پشتیبانی سیستم عامل ARM

پیش‌نیازها:

برد STM32F411-NUCLEO

نیازی به تجربه برنامه‌نویسی قبلی نیست - ما همه چیزهایی که نیاز دارید را به شما آموزش خواهیم داد.

ما از STM32CubeIDE که یک IDE رایگان است استفاده خواهیم کرد.

این دوره به شما اصول سیستم‌های بی‌درنگ و نحوه ساخت برنامه‌های بی‌درنگ با استفاده از FreeRTOS را آموزش می‌دهد. FreeRTOS یکی از محبوب‌ترین سیستم عامل‌های بی‌درنگ برای سیستم‌های نهفته است. این دوره یک نمای کلی دقیق از ویژگی‌های هسته بی‌درنگ FreeRTOS ارائه می‌دهد، یک آموزش دقیق در مورد APIها برای پیاده‌سازی ویژگی‌های مختلف FreeRTOS ارائه می‌دهد و سپس به ساخت حدود 50 پروژه بی‌درنگ می‌پردازد.

این دوره دانش قبلی از سیستم‌های بی‌درنگ و برنامه‌نویسی کاربردی را فرض نمی‌کند. در پایان این دوره، شما باید بتوانید برنامه‌های بی‌درنگ چندوظیفه‌ای FreeRTOS خود را بسازید که از تمام ویژگی‌های یک برنامه بی‌درنگ مدرن (مانند سمافورها، موتوکس‌ها، پرچم‌های رویداد، هوک‌ها، صف‌ها، صندوق‌های پستی و غیره) استفاده می‌کنند و عملکرد آن‌ها را آزمایش کنید. همچنین باید بتوانید: میزان استفاده CPU در RTOS را محاسبه کنید، زمان‌بندهای Rate Monotonic را درک کنید، FreeRTOS را به هر پردازنده ARM منتقل کنید، زمان‌بندهای Round-Robin را درک کنید، زمان‌بندهای Weighted-Round-Robin را درک کنید، زمان‌بندهای First Come First Served را درک کنید، درونیات هسته RTOS را درک کنید، الگوریتم‌های زمان‌بندی محبوب را پیاده‌سازی و توضیح دهید و خیلی بیشتر. لطفا نگاهی به برنامه درسی کامل دوره بیندازید.

برخی از نکات برجسته دوره:

  • ساخت برنامه‌های بی‌درنگ چندوظیفه‌ای با FreeRTOS
  • انتقال FreeRTOS به هر پردازنده ARM
  • تسلط بر ویژگی‌های مدیریت وظیفه FreeRTOS
  • تسلط بر ویژگی‌های مدیریت منابع FreeRTOS
  • تسلط بر ویژگی‌های همگام‌سازی وظیفه FreeRTOS
  • تسلط بر ویژگی‌های مدیریت رویداد FreeRTOS
  • محاسبه میزان استفاده CPU در RTOS
  • درک درونیات هسته RTOS
  • پیاده‌سازی و توضیح الگوریتم‌های زمان‌بندی محبوب
  • ارائه یک سخنرانی در مورد هسته بی‌درنگ FreeRTOS
  • تسلط بر ویژگی‌های مدیریت وقفه FreeRTOS
  • ساخت یک بسته پشتیبانی برد از ابتدا

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

مقدمه Introduction

  • سیستم عامل بلادرنگ (RTOS) چیست؟ What is a Realtime Operating System (RTOS)

  • درک تعویض زمینه (Context Switching) Understanding Context Switching

  • مقایسه RTOS با سیستم‌های ISR و Busy Wait Comparing RTOS with ISR and Busy Wait Systems

  • مفهوم یک Thread The Concept of a Thread

راه اندازی Setting Up

  • اطلاعیه: انتخاب برد توسعه Notice : Development Board Choice

  • دانلود CubeIDE Downloading CubeIDE

  • راه اندازی STM32CubeIDE Setting Up STM32CubeIDE

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

  • مروری Overview

معرفی FreeRTOS Introduction to FreeRTOS

  • قراردادهای نامگذاری FreeRTOS FreeRTOS naming conventions

  • درک نام‌های ماکرو FreeRTOS Understanding FreeRTOS Macro Names

  • کدنویسی: پیکربندی سیستم Coding : Configuring our System

مدیریت Thread در FreeRTOS FreeRTOS Thread Management

  • مروری بر توابع TaskCreate Overview of the TaskCreate functions

  • دانلود کد منبع Source Code Download

  • کدنویسی: ایجاد Taskها Coding : Creating Tasks

  • کدنویسی: ایجاد Taskها از Taskهای دیگر Coding : Creating Tasks from other Tasks

  • کدنویسی: کار با توابع Task Coding : Working with Task functions

  • کدنویسی: درک اولویت‌های Task Coding : Understanding Task Priorities

  • کدنویسی: تغییر اولویت یک Task در زمان اجرا Coding : Changing a Task Priority in Runtime

  • کدنویسی: خواندن اولویت یک Task Coding : Reading the Priority of a Task

  • کدنویسی: به حالت تعلیق درآوردن یک Task Coding : Suspending a Task

  • کدنویسی: از سرگیری یک Task به حالت تعلیق درآمده Coding : Resuming a suspended Task

  • کدنویسی: خاتمه دادن به یک Task Coding : Terminating a Task

  • درک حالت‌های Task Understanding Task States

  • استفاده از حالت Blocked برای ایجاد تاخیر Using the Blocked State to create delays

  • کدنویسی: بلاک کردن یک Task Coding : Blocking a Task

  • کدنویسی: اجرای Taskها به صورت دوره‌ای Coding : Executing Tasks Periodically

  • مروری بر Idle Task Overview of the Idle Task

  • کدنویسی: کار با Idle Task Coding : Working with Idle Task

  • مروری بر Tick Hook Overview of the Tick Hook

مدیریت Queue و Queueset در FreeRTOS FreeRTOS Queue and Queueset Management

  • درک Queues و Queuesets Understanding Queues and Queuesets

  • کدنویسی: کار با Queues Coding : Working with Queues

  • کدنویسی: به‌روزرسانی printf Coding : Updating printf

  • کدنویسی: همگام‌سازی Taskها با Queues Coding : Synchronizing Tasks with Queues

  • کدنویسی: ارسال داده‌های پیچیده‌تر با Queues Coding : Sending more complex data with Queues

  • کدنویسی: کار با Queuesets Coding : Working with Queuesets

درک Semaphores در FreeRTOS Understanding FreeRTOS Semaphores

  • درک Semaphores Understanding Semaphores

  • کدنویسی: کار با Binary Semaphores Coding : Working with Binary Semaphores

توسعه برخی درایورها Developing Some Drivers

  • کدنویسی: توسعه برخی درایورها (قسمت اول) Coding : Developing some driver (Pt.1)

  • کدنویسی: توسعه برخی درایورها (قسمت دوم) Coding : Developing some driver (Pt.2)

  • کدنویسی: تست درایورها Coding : Testing the drivers

درک Semaphores در FreeRTOS (ادامه) Understanding FreeRTOS Semaphores (contd.)

  • کدنویسی: کار با Mutex Coding : Working with a Mutex

  • کدنویسی: کار با Counting Semaphores Coding : Working with Counting Semaphores

Gatekeepers Gatekeepers

  • کدنویسی: پیاده‌سازی Task نگهبان Coding : Implementing the Gatekeeper task

تایمرهای نرم‌افزاری FreeRTOS FreeRTOS Software Timers

  • مروری بر تایمرهای نرم‌افزاری Overview of Software Timers

  • کدنویسی: کار با تایمرهای نرم‌افزاری Coding : Working with Software Timers

  • کدنویسی: متوقف کردن تایمر Auto-Reload در زمان اجرا Coding : Stopping the Auto-Reload Timer during runtime

مدیریت وقفه FreeRTOS FreeRTOS Interrupt Management

  • کدنویسی: دریافت داده از UART با استفاده از Polling Coding : Receiving data from the UART using Polling

  • کدنویسی: تعامل با روال‌های سرویس وقفه (ISRs) Coding : Interacting with Interrupt Service Routines (ISRs)

  • کدنویسی: دریافت یک بسته داده کامل Coding : Receiving an entire data packet

درک EventGroups در FreeRTOS Understanding FreeRTOS EventGroups

  • مروری بر EventGroups Overview of EventGroups

  • کدنویسی: تنظیم و خواندن EventBits در یک EventGroup Coding : Setting and Reading EventBits in an EventGroup

  • کدنویسی: EventGroup با Multiple Setters Coding : EventGroup with Multiple Setters

  • کدنویسی: همگام‌سازی Taskها با استفاده از EventGroups Coding :Synchronizing Tasks using EventGroups

درک Notifications در FreeRTOS Understanding FreeRTOS Notifications

  • مروری بر Task Notifications Overview of Task Notifications

  • کدنویسی: کار با Task Notifications Coding : Working with Task Notifications

زمانبند FreeRTOS The FreeRTOS Scheduler

  • درک زمانبند FreeRTOS Understanding the FreeRTOS Scheduler

  • کدنویسی: درک پیکربندی زمانبند - فقط Preemption Coding : Understanding the Scheduler Configuration - Preemption Only

  • کدنویسی: درک پیکربندی زمانبند -Pseudo Timeslicing Coding : Understanding the Scheduler Configuration -Pseudo Timeslicing

APIهای عمومی CMSIS-RTOS CMSIS-RTOS Generic APIs

  • مقدمه‌ای بر CMSIS-RTOS Introduction to CMSIS-RTOS

  • کدنویسی: ایجاد Threads با استفاده از APIهای CMSIS-RTOS2 Coding : Creating Threads using CMSIS-RTOS2 APIs

  • کدنویسی: تغییر اولویت‌های Thread با استفاده از APIهای CMSIS-RTOS2 Coding : Changing Thread priorities using CMSIS-RTOS2 APIs

  • کدنویسی: به حالت تعلیق درآوردن Threads با استفاده از APIهای CMSIS-RTOS2 Coding : Suspending Threads using CMSIS-RTOS2 APIs

  • کدنویسی: از سرگیری Threads با استفاده از APIهای CMSIS-RTOS2 Coding : Resuming Threads using CMSIS-RTOS2 APIs

  • کدنویسی: خاتمه دادن به Threads با استفاده از APIهای CMSIS-RTOS2 Coding : Terminating Threads using CMSIS-RTOS2 APIs

  • کدنویسی: قرار دادن Threads در حالت Blocked با استفاده از APIهای CMSIS-RTOS2 Coding : Putting Threads in the Blocked State using CMSIS-RTOS2 APIs

  • کدنویسی: ایجاد تایمرهای نرم‌افزاری با استفاده از APIهای CMSIS-RTOS2 Coding : Creating Software Timers using CMSIS-RTOS2 APIs

  • کدنویسی: ایجاد Mutexes با استفاده از APIهای CMSIS-RTOS2 Coding : Creating Mutexes using CMSIS-RTOS2 APIs

  • کدنویسی: ایجاد Semaphores با استفاده از APIهای CMSIS-RTOS2 Coding : Creating Semaphores using CMSIS-RTOS2 APIs

  • کدنویسی: ایجاد Message Queues با استفاده از APIهای CMSIS-RTOS2 Coding : Creating Message Queues using CMSIS-RTOS2 APIs

  • کدنویسی: ایجاد EventFlags با استفاده از APIهای CMSIS-RTOS2 Coding : Creating EventFlags using CMSIS-RTOS2 APIs

اطلاعیه: شروع نسخه قدیمی دوره Notice : Start of Old Edition of the Course

  • اطلاعیه: شروع نسخه قدیمی دوره Notice : Start of Old Edition of the Course

  • انتخاب‌های میکروکنترلر Microcontroller Choices

  • یادآوری سریع Quick Reminder

  • مروری بر برد STM32F4-DISCOVERY Overview of the STM32F4-DISCOVERY Board

  • مروری بر TM4C123 Tiva C LaunchPad Overview of the TM4C123 Tiva C LaunchPad

  • مروری بر برد STM32F4-NUCLEO Overview of the STM32F4- NUCLEO Board

  • سایر اجزا Other components

راه اندازی - Keil uVision 5 Setting Up - Keil uVision 5

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

  • نصب Keil uVision 5 Installing Keil uVision 5

  • نصب بسته‌های بیشتر Installing more packs

  • به‌روزرسانی: نصب Stellaris Driver برای ویندوز 8 و بالاتر Update : Install Stellaris Driver for Windows 8 and above

  • نصب درایورهای Stellaris ICDI Installing Stellaris ICDI drivers

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

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

شروع به کار Getting Started

  • تبدیل یک برنامه موجود به یک برنامه بلادرنگ FreeRTOS (قسمت اول) Converting an existing application into a FreeRTOS realtime application (Part I)

  • نصب بسته‌ها برای RTOS Installing Packs for RTOS

  • تبدیل یک برنامه موجود به یک برنامه بلادرنگ FreeRTOS (پایان) Converting an existing application into a FreeRTOS realtime application (end)

مقدمه‌ای بر FreeRTOS Introduction to FreeRTOS

  • FreeRTOS چیست؟ What is FreeRTOS ?

  • ویژگی‌های FreeRTOS Features of FreeRTOS

  • نام‌های متغیر FreeRTOS FreeRTOS Variable Names

  • نام‌های تابع FreeRTOS FreeRTOS Function Names

  • نام‌های ماکرو FreeRTOS FreeRTOS Macro Names

مدیریت Task Task Management

  • تابع Task The Task Function

  • ایجاد یک Task Creating a Task

  • کدنویسی: ایجاد Task Coding : Task Creation

  • کدنویسی: ایجاد Taskها از Taskهای دیگر Coding : Creating Tasks from other Tasks

  • کدنویسی: استفاده از پارامترهای Task Coding : Using Task parameters

  • کدنویسی: اولویت‌های Task Coding : Task Priorities

  • کدنویسی: تغییر اولویت Task در زمان اجرا Coding : Changing Task Priority at run-time

  • کدنویسی: Task تغییر اولویت خود را Coding : Task changing its own priority

  • کدنویسی: به حالت تعلیق درآوردن یک Task Coding : Suspending a Task

  • کدنویسی: یک Task خود را به حالت تعلیق در می‌آورد Coding : A Task suspending itself

  • کدنویسی: از سرگیری یک Task به حالت تعلیق درآمده Coding : Resuming a suspended Task

  • ایجاد تاخیرهای کارآمد با vTaskDelay() Creating efficient delays with vTaskDelay( )

  • کدنویسی: بلاک کردن Tasks با vTaskDelay() Coding : Blocking Tasks with vTaskDelay()

  • کدنویسی: دستیابی به اجرای دوره‌ای با vTaskDelayUntil() Coding : Achieving periodic execution with vTaskDelayUntil()

  • کدنویسی: از بین بردن Tasks Coding : Killing Tasks

  • کدنویسی: ایجاد Tasks به صورت استاتیک (قسمت اول) Coding : Creating Tasks statically (Part I)

  • کدنویسی: ایجاد Tasks به صورت استاتیک (قسمت دوم) Coding : Creating Tasks statically (Part II)

  • کدنویسی: ایجاد Tasks به صورت استاتیک (قسمت سوم) Coding : Creating Tasks statically (Part III)

  • کدنویسی: آزمایش با هندل بازگشتی Task Coding : Experimenting with the Task return handle

مدیریت Queue Queue Management

  • مقدمه‌ای بر queues Introduction to queues

  • توابع مدیریت Queue Queue management functions

Queue Sets Queue Sets

  • مقدمه‌ای بر Queue sets Introduction to Queue sets

  • توابع مدیریت Queue set Queue set management functions

تایمرهای نرم‌افزاری Software Timers

  • مقدمه‌ای بر تایمرهای نرم‌افزاری Introduction to software timers

  • توابع مدیریت تایمر Timer management functions

Semaphores Semaphores

  • مقدمه‌ای بر Binary Semaphores Introduction to Binary Semaphores

  • مقدمه‌ای بر Counting Semaphores Introduction to Counting Semaphores

  • برخی مفاهیم مشترک Some common concepts

توابع Hook در FreeRTOS FreeRTOS Hook Functions

  • کدنویسی: تابع Idle Hook Coding : The Idle Hook Function

  • کدنویسی: تابع Tick Hook Coding : The Tick Hook Function

  • The Cooperative Idle Task The Cooperative Idle Task

پیکربندی زمانبند FreeRTOS Configuring the FreeRTOS Scheduler

  • کدنویسی: پیکربندی زمانبند فقط به صورت preemptive Coding : Configuring the Scheduler as preemptive only

  • کدنویسی: پیکربندی زمانبند -Pseudo time-sharing Coding : Configuring the Scheduler -Pseudo time-sharing

  • کدنویسی: Task yielding Coding : Task yielding

ساخت سیستم‌عامل بلادرنگ با STM32CubeIDE Building RealTime Firmware with STM32CubeIDE

  • دانلود CubeIDE Download CubeIDE

  • راه اندازی STM32CubeIDE Setting Up STM32CubeIDE

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

  • مروری Overview

  • کدنویسی: آزمایش با Tasks و Priorities Coding : Experimenting with Tasks and Priorities

  • کدنویسی: دسترسی به درایورهای سخت افزاری از چندین Thread Coding : Accessing Hardware Drivers from Multiple Threads

  • کدنویسی: دسترسی به درایورهای سخت افزاری از چندین Thread با استفاده از MUTEX Coding : Accessing Hardware Drivers from Multiple Threads using a MUTEX

  • کدنویسی: ایجاد Threads به صورت دستی Coding : Creating Threads Manually

  • کدنویسی: ارسال Notifications بین Threads Coding : Sending Notifications Between Threads

مدیریت حافظه Heap در FreeRTOS FreeRTOS Heap Memory Management

  • مروری بر طرح تخصیص Heap_1 Overview of the Heap_1 allocation scheme

  • مروری بر Heap_2 و 3 Overview of the Heap_2 and 3

  • مروری بر طرح تخصیص Heap_4 Overview of the Heap_4 allocation scheme

  • درباره Heap_5 About Heap_5

مفاهیم کلی RTOS: مبانی General RTOS concepts: Fundamentals

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

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

  • سیستم Busy Wait Busy Wait System

  • سیستم‌های Multi-Threaded (با ISRها) Multi-Threaded Systems (With ISRs)

  • سیستم‌های Real-Time Real-Time Systems

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

  • Thread The Thread

  • طبقه‌بندی Threads Classification of Threads

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

  • داخل میکروکنترلر Inside the Microcontroller

  • حالت‌های عملیات Operation Modes

  • The Shadow Stack Pointer The Shadow Stack Pointer

  • SVC Exceptions SVC Exceptions

  • کدنویسی: ایجاد SVC Services (قسمت اول) Coding : Creating SVC Services (PART I)

  • ایجاد SVC Services (قسمت دوم) Creating SVC Services (PART II)

  • کدنویسی: ایجاد SVC Services (قسمت سوم) Coding : Creating SVC Services (PART III)

  • ایجاد SVC Services (قسمت چهارم) Creating SVC Services (PART IV)

  • کدنویسی: ایجاد SVC Services (قسمت پنجم) Coding : Creating SVC Services (PART V)

  • کدنویسی: ایجاد SVC Services (قسمت ششم) Coding : Creating SVC Services (PART VI)

  • PendSV Exceptions PendSV Exceptions

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

  • SysTick The SysTick

مفاهیم کلی RTOS: درونیات یک کرنل بلادرنگ General RTOS concepts : Internals of a real-time kernel

  • مقدمه Introduction

  • کدنویسی: راه اندازی پروژه Coding : Setting Up the Project

  • کدنویسی: تحلیل مدارک مرجع Coding : Analyzing the Reference Documents

  • کدنویسی: پیکربندی پین Coding : Pin configuration

  • کدنویسی: تست پیکربندی پین Coding : Testing pin configuration

  • کدنویسی: اضافه کردن Time Base Coding : Adding a Time Base

  • کدنویسی: کد Blocking Coding : The Blocking Code

  • کدنویسی: Exception Stack Frame Coding : The Exception Stack Frame

  • کدنویسی: Exception Stack Frame (قسمت دوم) Coding : The Exception Stack Frame (PART II)

  • کدنویسی: ایجاد Stack Frames Coding : Creating the Stack Frames

  • کدنویسی: Switching Threads Coding : Switching Threads

مفاهیم کلی RTOS: زمانبند و سیاست‌های زمانبندی General RTOS concepts : The Scheduler and Scheduling policies

  • زمانبند The Scheduler

  • Process در مقابل Thread Process vs. Thread

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

  • Preemption Preemption

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

  • CPU Utilization CPU Utilization

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

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

  • زمانبند First Come First Served (FCFS) First Come First Served (FCFS) Scheduler

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

  • زمانبند Round Robin (RR) (قسمت دوم) Round Robin (RR) Scheduler (PART II)

  • Quanta Quanta

  • زمانبند Weighted Round Robin (WRR) Weighted Round Robin (WRR) Scheduler

  • درونیات Round Robin Scheuler Internals of the Round Robin Scheuler

  • کرنل The Kernel

مفاهیم کلی RTOS: بسته پشتیبانی برد (BSP) General RTOS concepts : Board Support Package (BSP)

  • کدنویسی: STM32F4_RTOS_BSP (قسمت اول) Coding : STM32F4_RTOS_BSP (PART I)

  • کدنویسی: STM32F4_RTOS_BSP (قسمت دوم) Coding : STM32F4_RTOS_BSP (PART II)

  • کدنویسی: STM32F4_RTOS_BSP (قسمت سوم) Coding : STM32F4_RTOS_BSP (PART III)

  • STM32F4_RTOS_BSP (قسمت چهارم) STM32F4_RTOS_BSP (PART IV)

  • کدنویسی: STM32F4_RTOS_BSP (قسمت پنجم) Coding : STM32F4_RTOS_BSP (PART V)

  • کدنویسی: STM32F4_RTOS_BSP (قسمت ششم) Coding : STM32F4_RTOS_BSP (PART VI)

  • کدنویسی: TESTING STM32F4_RTOS_BSP (قسمت اول) Coding : TESTING STM32F4_RTOS_BSP (PART I)

  • کدنویسی: TESTING STM32F4_RTOS_BSP (قسمت دوم) Coding : TESTING STM32F4_RTOS_BSP (PART II)

  • کدنویسی: TESTING STM32F4_RTOS_BSP (قسمت سوم) Coding : TESTING STM32F4_RTOS_BSP (PART III)

  • کدنویسی: ملاحظاتی درباره STM432F4- NUCLEO Coding : Remarks on STM432F4- NUCLEO

  • کدنویسی: مروری بر TM4C TIVA-C BSP Coding : Overview of TM4C TIVA-C BSP

راه اندازی اختیاری Optional Setup

  • راه اندازی STM32CubeMX Setting Up STM32CubeMX

  • مروری بر STM32CubeMX Overview of STM32CubeMX

  • مروری بر STM32CubeMX (ادامه) Overview of STM32CubeMX (continued)

  • بررسی به‌روزرسانی‌ها و Firmwares Checking for Updates and Firmwares

  • مروری بر پیکربندی Peripheral Overview of Peripheral Configuration

  • پروژه ورودی/خروجی CubeMX CubeMX Input/Output project

  • پروژه وقفه خارجی CubeMX CubeMX External Interrupt project

نمایش نظرات

آموزش جامع FreeRTOS از پایه روی پردازنده‌های ARM (ویرایش شده)
جزییات دوره
23.5 hours
205
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
7,723
4.4 از 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

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