آموزش تسلط بر RTOS: دست روی FreeRTOS و STM32Fx با اشکال زدایی

Mastering RTOS: Hands on FreeRTOS and STM32Fx with Debugging

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: آموزش Running/Porting FreeRTOS Real Time Operating System on STM32F4x و ARM Cortex M. ابزارهای جانبی FreeRTOS Task Creation، حذف، زمان‌بندی با استفاده از مثال‌های کد سیاست‌های زمان‌بندی مهم FreeRTOS Scheduler FreeRTOS Stack و Heap Management راه‌های درست همگام‌سازی بین وظایف با استفاده از Semaphores. روش‌های صحیح همگام‌سازی بین یک کار و یک وقفه با استفاده از سمافورها همگام‌سازی بین چندین رویداد و یک کار مدیریت صف FreeRTOS مانند ایجاد، ارسال، دریافت، مسدود کردن و غیره پیاده‌سازی حذف متقابل بین وظایف با استفاده از خدمات Mutex و سمافورها. درک کدهای خاص معماری مانند SVC_handler، PendSV_handler، SysTick Handler خط به خط شما با تایمر تیک هسته، اهمیت آن، فرکانس تیک هسته و جزئیات پیکربندی آن آشنا خواهید شد. درک کامل مدل ARM Cortex M و FreeRTOS Priority و اطلاعات مربوط به پیکربندی آن اشکال زدایی FreeRTOS با استفاده از نرم افزار SEGGER SystemView مقالات زیادی که خط به خط کدهای خاص معماری FreeRTOS مربوط به ARM Cortex M را توضیح می دهند دستورالعمل های مصرف کم مصرف در سناریوی FreeRTOS بسیاری از تمرین های کدنویسی اشکال زدایی با جعبه ابزار نرم افزار SEGGER با گرفتن عکس فوری و ضبط حالت پیوسته پیش نیازها: دانش پایه C و Micro کنترلر می تواند مزیت اضافه کند اما اجباری نیست.

دوره کامل FreeRTOS با برنامه نویسی و اشکال زدایی <<

آخرین به‌روزرسانی: اشکال‌زدایی RTOS با استفاده از ابزار SEGGER SystemView Trace، STM32 hal. API های جانبی و نمونه های بیشتر اضافه شده است.

زیرنویس‌ها (CC) و رونوشت‌ها برای این دوره در دسترس هستند.

تیم پشتیبانی اختصاصی برای پاسخگویی به پرسش و پاسخ


این دوره برای مخاطبان مبتدی تا پیشرفته طراحی شده است.


توضیحات کوتاه:

"بزرگترین هدف این دوره، ابهام زدایی از RTOS به طور عملی با استفاده از FreeRTOS و STM32 MCU است"

راهنمای گام به گام برای پورت/اجرای FreeRTOS با استفاده از تنظیمات توسعه که شامل،

1) STM32CUBEIDE + STM32F4xx + FreeRTOS + SEGGER SystemView


ابهام زدایی از کد کامل مربوط به معماری (ARM Cortex M) FreeRTOS که به طور گسترده به شما کمک می کند تا این هسته را بر روی هر سخت افزار هدف مورد نظر خود قرار دهید.


تبرد توسعه مورد استفاده در این دوره:

اگر از قبل یک برد توسعه مبتنی بر STM32 دارید، لطفاً به استفاده از همان برد ادامه دهید. این دوره از برد STM32F407x DISCOVERY ( STM32F407G-DISC1)

استفاده می کند


نرم افزار مورد استفاده در این دوره:

1) STM32CUBEIDE که می تواند بر روی همه پلتفرم های سیستم عامل (WIN/OSX/LINUX) اجرا شود (رایگان)

2) نسخه رایگان نرم افزار SEGGER Systemview


اطلاعات سیستم عامل:

WIN/MAC/UBUNTU


اشکال‌زدایی FreeRTOS با نرم‌افزار SEGGER SYSVIEW

در این دوره، اشکال زدایی freeRTOS با نرم افزار SEGGER Systemview با راهنمای گام به گام پوشش داده شده است. لطفاً ویدیوهای پیش نمایش را تماشا کنید.


اشکال‌زدایی و آزمون‌های تعبیه‌شده

اشکال‌زدایی کدهای تعبیه‌شده واقعاً جالب است و یادگیری تکنیک‌ها و ویژگی‌های مختلف اشکال‌زدایی برای داشتن تسلط خوبی بر اشکال‌زدایی تعبیه‌شده بسیار ضروری است.


همچنین، این دوره شامل سوالات مختلف مصاحبه است که دانش کسب شده شما را محک می‌زند!.


قول من!

من شخصاً به سؤالات شما در مورد این مطالب چه به صورت خصوصی یا در یک بحث گروهی پاسخ خواهم داد. اگر به هر دلیلی راضی نیستید، به هر دلیلی می‌توانید بدون سؤال، بازپرداخت کامل از Udemy را ظرف 30 روز دریافت کنید. اما من مطمئن هستم که شما نیازی به این کار نخواهید داشت. من 100% پشت این دوره هستم و متعهد به کمک به شما هستم.


ترتیب یادگیری دوره های FastBit Embedded Brain Academy،

اگر در زمینه سیستم‌های جاسازی شده مبتدی هستید، می‌توانید دوره‌های ما را به ترتیب ذکر شده در زیر بگذرانید.
این فقط یک توصیه از سوی مربی برای مبتدیان است.

1) برنامه نویسی جاسازی شده با میکروکنترلر C: مبتدیان مطلق (Embedded C)

2) برنامه نویسی سیستم های جاسازی شده در پردازنده ARM Cortex-M3/M4 (مخصوص پردازنده ARM Cortex M4)

3) تسلط بر میکروکنترلر با توسعه درایور جاسازی شده (MCU1)

4) تسلط بر میکروکنترلر: TIMERS، PWM، CAN، RTC، LOW POWER(MCU2)

5) تسلط بر میکروکنترلر: STM32-LTDC، LCD-TFT، LVGL (MCU3)

6) طراحی سیستم جاسازی شده با استفاده از ماشین‌های حالت UML (ماشین دولتی)

7) تسلط بر RTOS: FreeRTOS و STM32Fx عملی با اشکال زدایی (RTOS)

8) میکروکنترلر ARM Cortex M DMA Programming Demystified (DMA)

9) توسعه بوت لودر سفارشی میکروکنترلر STM32Fx (Bootloader)

10) لینوکس جاسازی شده گام به گام با استفاده از Beaglebone Black (Linux)

11) برنامه نویسی درایور دستگاه لینوکس با استفاده از Beaglebone Black (LDD1)



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

نمای کلی دوره Overview of the course

  • در مورد مربی About the instructor

  • یادداشت مهم Important Note

  • این دوره در مورد چیه؟؟ What is this course all about ??

  • دانلود اسلایدهای دوره Download Course Slides

  • سوالات متداول FAQ

  • یادداشت برای دانش آموزان Note for the Students

RTOS مقدمه RTOS Introduction

  • برنامه Real Time (RTAs) چیست؟ What is Real Time Application(RTAs) ??

  • سیستم عامل زمان واقعی (RTOS) چیست؟ What is Real Time Operating System(RTOS) ?

  • RTOS در مقابل GPOS: زمان‌بندی وظایف RTOS vs GPOS : Task Scheduling

  • RTOS در مقابل GPOS: تأخیر RTOS vs GPOS : Latency

  • RTOS در مقابل GPOS: وارونگی اولویت RTOS vs GPOS : Priority inversion

  • مولتی تسکینگ چیست؟ What is Multitasking ?

برد نصب و توسعه IDE IDE installation and development board

  • درباره IDE About the IDE

  • نصب IDE (ویندوز) IDE installation(Windows)

  • نصب IDE (لینوکس) IDE installation(Linux)

  • برد توسعه استفاده شده در این دوره Development board used in this course

  • در حال دانلود اسناد Downloading documents

دانلود و نصب FreeRTOS Downloading and Installing FreeRTOS

  • در حال دانلود منبع هسته FreeRTOS Downloading FreeRTOS kernel source

ایجاد پروژه مبتنی بر FreeRTOS برای STM32 MCU Creating FreeRTOS based project for STM32 MCUs

  • ایجاد پروژه STM32 جدید Creating new STM32 project

  • افزودن منبع هسته FreeRTOS به پروژه Adding FreeRTOS kernel source to project

  • شامل تنظیمات مسیر Include path settings

  • FreeRTOSConfig.h و تنظیمات دیگر FreeRTOSConfig.h and other settings

  • انتخاب پایه زمانی برای پروژه STM32+FreeRTOS Time base selection for STM32+FreeRTOS project

ایجاد وظیفه FreeRTOS FreeRTOS Task Creation

  • وظیفه چیست؟ What is task ?

  • API ایجاد وظیفه FreeRTOS FreeRTOS task creation API

  • اولویت های کار در FreeRTOS Task priorities in FreeRTOS

  • تمرین کدگذاری 001 Exercise 001 coding

  • سیاست های زمان بندی Scheduling policies

  • تمرین 001 کدگذاری ادامه. Exercise 001 coding contd.

  • تست تمرین 001 Exercise 001 testing

  • ایجاد وظیفه پشت صحنه Behind the scene task creation

  • تست درایو Test Drive

ادغام ابزار ردیابی Trace tool integration

  • دانلود ابزار ردیابی Trace tool download

  • نرم افزار segger systemview چیست؟ What is segger systemview software ?

  • Segger systemview حالت های ضبط Segger systemview recording modes

  • نمای کلی سیستم Segger Segger systemview overview

  • ادغام هدف Segger systemview Segger systemview target integration

  • تجزیه و تحلیل تمرین 001 با استفاده از ردیابی segger Analyzing exercise 001 using segger trace

  • تجزیه و تحلیل ردیابی زمانبندی تعاونی Analyzing cooperative scheduling trace

IDLE Task و Timer Svc Task FreerRTOS IDLE Task and Timer Svc Task of FreerRTOS

  • کار خدمات بیکار و تایمر Idle and timer services task

FreeRTOS Scheduler FreeRTOS Scheduler

  • زمانبندی FreeRTOS FreeRTOS scheduler

  • درک اجرای xPortStartScheduler() port.c Understanding implementation of xPortStartScheduler() of port.c

FreeRTOS و ARM Cortex Mx Arch. جزئیات خاص FreeRTOS and ARM Cortex Mx Arch. Specific details

  • هسته FreeRTOS قطع می شود FreeRTOS Kernel interrupts

  • توضیح RTOS Tick و SysTick Timer RTOS Tick and SysTick Timer explanation

  • چه کسی تایمر تیک RTOS را پیکربندی می کند؟ Who configures the RTOS Tick Timer ?

  • RTOS Tick ISR (SysTick ISR) چه کاری انجام می دهد؟ خلاصه What RTOS Tick ISR (SysTick ISR) does ? summary

تغییر متن Context switching

  • مقدمه ای بر تغییر متن Introduction to context switching

  • تغییر متن: درک "وضعیت" یک کار Context Switching : understanding "State" of a Task

  • تغییر زمینه: رویه تعویض کار با انیمیشن Context Switching : Task Switching out procedure with animation

  • تغییر متن: درک کد کنترل کننده pendSV Context switching : understanding pendSV handler code

  • تست درایو Test Drive

  • تست درایو Test Drive

مشاهده سیستم SEGGER ضبط مبتنی بر UART SEGGER system view UART based recording

  • مشاهده سیستم Segger ضبط مداوم از طریق UART Segger system view continuous recording over UART

تمرین-2 LED و وظایف Exercise-2 LEDs and Tasks

  • تمرین 002 Exercise 002

  • اجرای تمرین 002 Exercise 002 implementation

  • اجرای تمرین 002 ادامه یافت. Exercise 002 implementation contd.

  • آزمایش کردن Testing

حالت های وظیفه Task states

  • حالت های وظیفه Task states

  • حالت مسدود و معلق Blocked and suspended state

APIهای تاخیر کار FreeRTOS FreeRTOS task delay APIs

  • APIهای تاخیر کار FreeRTOS FreeRTOS task delay APIs

  • تمرین 003 Exercise 003

  • تمرین 004 Exercise 004

اعلان وظیفه FreeRTOS FreeRTOS Task Notification

  • APIهای اعلان مستقیم وظیفه به وظیفه Task to task direct notification APIs

مدل مجوز FreeRTOS و رابط API FreeRTOS Licensing model and API interface

  • freertos-لیسانس freertos-licensing

  • رابط API FreeRTOS FreeRTOS API Interface

مروری بر خدمات مدیریت حافظه FreeRTOS، STACK و همگام سازی Overview of FreeRTOS Memory manage, STACK and Synchronization services

  • مروری بر مدیریت حافظه FreeRTOS Overview of FreeRTOS Memory Management

  • مدیریت پشته و پشته FreeRTOS FreeRTOS Heap and Stack Management

  • مروری بر خدمات همگام سازی و حذف متقابل FreeRTOS Overview of FreeRTOS Synchronization and mutual exclusion Services

  • تست درایو Test Drive

حذف وظیفه FreeRTOS FreeRTOS Task Deletion

  • حذف یک وظیفه Deleting a Task

  • تمرین 005 Exercise 005

  • اجرای و آزمایش تمرین 005 Exercise 005 implementation and testing

ARM Cortex M اولویت وقفه و FreeRTOS Task Priority ARM Cortex M Interrupt Priority and FreeRTOS Task Priority

  • اولویت کار در مقابل اولویت سخت افزار Task priority Vs hardware priority

  • موارد قابل تنظیم وقفه سخت افزاری FreeRTOS FreeRTOS Hardware interrupt configurable items

  • وقفه سخت افزاری FreeRTOS موارد قابل تنظیم ادامه. FreeRTOS Hardware interrupt configurable items contd.

  • تمرین 006 Exercise 006

  • تمرین 006 ادامه Exrecise 006 contd

  • تمرین 006 تجزیه و تحلیل ردیابی Exercise 006 analyzing trace

  • تمرین 007 Exercise 007

  • توضیح کد تمرین 007 Exercise 007 code explanation

  • تست درایو Test Drive

API های ایمن را قطع کنید Interrupt safe APIs

  • API های ایمن را قطع کنید و API های ناامن را قطع کنید. Interrupt safe and interrupt unsafe APIs.

توابع قلاب FreeRTOS FreeRTOS Hook Functions

  • توابع FreeRTOS Hook FreeRTOS Hook functions

  • عملکرد قلاب و دستورالعمل‌های ذخیره فعلی را علامت بزنید Tick hook function and Current saving instructions

  • تست درایو Test Drive

مدیریت صف FreeRTOS FreeRTOS Queue Management

  • صف ها و ویژگی های آن Queues and its features

  • ایجاد صف Creating a Queue

  • ارسال اطلاعات به صف Sending data to Queue

  • دریافت اطلاعات از صف Receiving data from Queue

  • تمرین 008: صف ها و تایمرها Exercise 008 : Queues and Timers

  • اجرای تمرین 008 Exercise 008 Implementation

  • تمرین 008 اجرای قسمت 1 Exercise 008 Implementation part 1

  • تمرین 008 اجرای قسمت 2 Exercise 008 Implementation part 2

  • تمرین 008 اجرای قسمت 3 Exercise 008 Implementation part 3

  • تمرین 008 اجرای قسمت 4 Exercise 008 Implementation part 4

  • تمرین 008 اجرای قسمت 5 Exercise 008 Implementation part 5

  • تمرین 008 اجرای قسمت 6 Exercise 008 Implementation part 6

  • تمرین 008 اجرای قسمت 7 Exercise 008 Implementation part 7

  • تمرین 008 اجرای قسمت 8 Exercise 008 Implementation part 8

  • تایمر نرم افزار FreeRTOS FreeRTOS software timers

  • تمرین 008 اجرای قسمت 9 Exercise 008 Implementation part 9

  • تمرین 008 اجرای قسمت 10 Exercise 008 Implementation part 10

  • تمرین 008 تست 1 Exercise 008 Testing 1

  • تمرین 008 اجرای قسمت 11 Exercise 008 Implementation part 11

  • تمرین 008 اجرای قسمت 12 Exercise 008 Implementation part 12

  • تمرین 008 اجرای قسمت 13 Exercise 008 Implementation part 13

  • تمرین 008 اجرای قسمت 14 Exercise 008 Implementation part 14

  • تمرین 008 تست 2 Exercise 008 Testing 2

  • تمرین 008 تست 3 Exercise 008 Testing 3

  • تست درایو Test Drive

سمافور برای همگام سازی، حذف متقابل و مدیریت وقفه Semaphore for Synchronization, mutual exclusion and Interrupt Management

  • همگام سازی و طرد متقابل در دنیای واقعی Synchronization and Mutual exclusion in real world

  • ایجاد سمافور Creation of a semaphore

  • انواع سمافور Different types of semaphores

  • سمافور باینری برای همگام سازی بین دو کار Binary semaphore to synchronize between two Tasks

  • تمرین: همگام سازی بین 2 کار Exercise: Synchronization between 2 Tasks

  • Semaphore باینری برای همگام سازی بین وظیفه و وقفه Binary Semaphore to synchronize between task and Interrupt

  • قفل رویدادها Events latching

  • شمارش سمافور برای چسباندن و پردازش چندین رویداد counting semaphore to latch and process multiple events

  • تمرین: همگام سازی یک کار و چندین رویداد Exercise : Synchronizing a Task and Multiple Events

طرد متقابل Mutual exclusion

  • طرد متقابل با استفاده از Semaphore باینری Mutual Exclusion using Binary Semaphore

  • تمرین: حذف متقابل بین 2 کار با استفاده از Semaphore باینری Exercise :Mutual Exclusion between 2 tasks using Binary Semaphore

  • مشکل با Sema باینری هنگامی که برای حذف متقابل استفاده می شود Issue with Binary sema when used for Mutual exclusion

  • مزایای Mutex نسبت به Semaphore باینری Advantages of Mutex Over Binary Semaphore

  • تمرین کد - 16: مثال Mutex Code Exercise - 16: Mutex Example

  • روشی خام برای محافظت از بخش بحرانی Crude way to protect critical section

  • تست درایو Test Drive

FreeRTOS+Simulator FreeRTOS+Simulator

  • کار با شبیه ساز با استفاده از پورت FreeRTOS Win32 Working with simulator using FreeRTOS Win32 Port

سخنرانی جایزه BONUS LECTURE

  • سخنرانی جایزه BONUS LECTURE

نمایش نظرات

نظری ارسال نشده است.

آموزش تسلط بر RTOS: دست روی FreeRTOS و STM32Fx با اشکال زدایی
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
14 hours
120
Udemy (یودمی) udemy-small
14 فروردین 1402 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
27,074
4.5 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

FastBit Embedded Brain Academy FastBit Embedded Brain Academy

روی Firmware و Embedded Engineering کار می کند

Kiran Nayak Kiran Nayak

نرم افزار تعبیه شده

Udemy (یودمی)

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

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.