آموزش ساختارهای داده پیشرفته و یکپارچه‌سازی تجهیزات جانبی برای میکروکنترلرها [ویدئویی] - آخرین آپدیت

دانلود Advanced Data Structures and Peripheral Integration for Microcontrollers [Video]

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: مدیریت بهینه داده‌ها هسته اصلی یک فریم‌ور (Firmware) قابل اعتماد است، به‌ویژه در میکروکنترلرهایی که حافظه محدود و نیاز به ارتباطات بلادرنگ (Real-time) دارند. این دوره، ساختارهای داده کلاسیک را در چارچوب محدودیت‌های سیستم‌های نهفته (Embedded) بررسی کرده و نشان می‌دهد که انتخاب‌های طراحی چگونه بر سرعت، مصرف حافظه و رفتار تجهیزات جانبی تأثیر می‌گذارند. فراگیران ابتدا معماری‌های MCU، حافظه‌های SRAM، Flash، EEPROM، مفهوم Endianness و تخصیص حافظه را بررسی کرده و سپس به پیاده‌سازی Bit Packing، لیست‌های پیوندی، پشته‌ها، صف‌ها، صف‌های حلقوی، صف‌های اولویت‌دار، جداول هش و Memory Poolها می‌پردازند. روند آموزش هر ساختار را به کاربردهای عملی مانند مدیریت رویدادها، دستورات UART، بافرینگ ADC مبتنی بر DMA، پیکربندی GPIO و اجرای تسک‌ها مرتبط می‌کند. پروژه‌های این دوره به جای بررسی تئوری محض، بر حل مشکلات واقعی فریم‌ور تمرکز دارند. نتیجه این دوره، دستیابی به ابزارهایی برای طراحی سیستم‌های ماژولار و بهینه از نظر منابع است که داده‌ها را به صورت پیش‌بینی‌پذیر در تجهیزات جانبی مدیریت می‌کنند؛ در پایان این دوره، دانشجویان قادر خواهند بود ساختارهای داده نهفته‌ای را انتخاب و پیاده‌سازی کنند که عملکرد برنامه‌های کاربردی میکروکنترلر را در دنیای واقعی بهبود می‌بخشد. پیاده‌سازی Memory Poolها برای تخصیص حافظه در سیستم‌های نهفته ساخت صف‌ها برای ارتباطات مبتنی بر وقفه (Interrupt-driven) استفاده از لیست‌های پیوندی برای جریان‌های کاری ثبت رویداد (Event Logging) بسته‌بندی تنظیمات GPIO با ساختارهای سطح بیت (Bit-level) یکپارچه‌سازی ساختارهای داده با DMA و ADC طراحی صف‌های اولویت‌دار برای اجرای تسک‌ها مهندسان فریم‌ور، توسعه‌دهندگان نرم‌افزارهای نهفته و برنامه‌نویسان میکروکنترلر که به الگوهای کاربردی ساختار داده برای سیستم‌های با حافظه محدود نیاز دارند. مناسب برای کسانی که با توسعه نهفته مبتنی بر زبان C آشنا هستند و به دنبال گزینه‌های طراحی قدرتمندتر برای تجهیزات جانبی و جریان‌های ارتباطی می‌باشند. پوشش جامع ساختارهای داده متمرکز بر میکروکنترلر با جزئیات معماری و حافظه * نمونه‌های یکپارچه‌سازی تجهیزات جانبی شامل DMA، RTC، UART، ADC، GPIO و جریان‌های تسک در فریم‌ور * بررسی پروژه-محور صف‌ها، پول‌های حافظه، لیست‌های پیوندی، جداول هش، پشته‌ها و Bitsetها در زبان C

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

مقدمه Introduction

  • خوش‌آمدگویی (مشابه ویدئوی معرفی) Welcome (Same as Promo)

معماری‌های میکروکنترلر و سازماندهی حافظه Microcontroller Architectures & Memory Organization

  • مقدمه‌ای بر معماری‌های رایج MCU Introduction to Common MCU Architectures

  • ویژگی‌ها و کاربردهای میکروکنترلرهای ۸ بیتی Characteristics and Applications of 8-bit Microcontrollers

  • ویژگی‌ها و کاربردهای میکروکنترلرهای ۱۶ بیتی Characteristics and Applications of 16-bit Microcontrollers

  • ویژگی‌ها و کاربردهای میکروکنترلرهای ۳۲ بیتی Characteristics and Applications of 32-bit Microcontrollers

  • تفاوت‌های معماری مؤثر بر انتخاب ساختار داده Architectural Differences Influencing Data Structure Choices

سیستم‌های حافظه در میکروکنترلرها Memory Systems in Microcontrollers

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

  • مروری بر FLASH و EEPROM Overview of FLASH and EEPROM

  • درک معماری هاروارد و فون نویمان Understanding Harvard and von Neumann Architecture

  • ملاحظات Endianness و دسترسی به داده‌ها Endianness Considerations and Data Access

راه‌اندازی و آماده‌سازی Setting Up

  • دانلود CubeIDE Downloading CubeIDE

  • نصب CubeIDE Installing CubeIDE

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

  • دریافت پکیج مورد نیاز برای توسعه Bare Metal Getting the Required Package for Bare-Metal Development

  • تست تنظیمات پروژه Testing the Project Setup

توسعه درایورهای سیستم برای پیاده‌سازی مثال‌های دنیای واقعی Developing Some System Drivers for Implementing Real-World Examples

  • فعال‌سازی واحد ممیز شناور (FPU) Enabling the Floating Point Unit (FPU)

  • توسعه درایور UART – تحلیل مستندات Developing a UART Driver – Analyzing the Documentation

  • توسعه درایور UART – لیست کردن مراحل Developing a UART Driver – Listing Out the Steps

  • توسعه درایور UART – پیاده‌سازی تابع مقداردهی اولیه Developing a UART Driver – Implementing the Initialization Function

  • توسعه درایور UART – پیاده‌سازی تابع Write Developing a UART Driver – Implementing the Write Function

  • توسعه درایور UART – تست درایور Developing a UART Driver – Testing the Driver

  • توسعه Timebase سیستم – تحلیل مستندات Developing the System Timebase – Analyzing the Documentation

  • توسعه Timebase سیستم – پیاده‌سازی تابع Init Developing the System Timebase – Implementing the Init Function

  • توسعه Timebase سیستم – سایر توابع Developing the System Timebase – The Rest of the Functions

  • توسعه Timebase سیستم – تست Timebase Developing the System Timebase – Testing the Timebase

  • توسعه BSP برای برد توسعه – توابع مورد نیاز Developing a BSP for the Dev Board – Required Functions

  • توسعه BSP برای برد توسعه – درایور LED Developing a BSP for the Dev Board – The LED Driver

  • توسعه BSP برای برد توسعه – درایور دکمه (Button) Developing a BSP for the Dev Board – The Button Driver

  • توسعه BSP برای برد توسعه – تست BSP Developing a BSP for the Dev Board – Testing the BSP

  • توسعه درایور ADC – تحلیل مستندات Developing an ADC Driver – Analyzing the Documentation

  • توسعه درایور ADC – لیست کردن مراحل Developing an ADC Driver – Listing Out the Steps

  • توسعه درایور ADC – تابع مقداردهی اولیه Developing an ADC Driver – The Initialization Function

  • توسعه درایور ADC – تابع Read Developing an ADC Driver – The Read Function

روش‌های تخصیص حافظه Memory Allocation Methods

  • تخصیص استاتیک و دینامیک Static and Dynamic Allocation

  • به‌روزرسانی فضای کاری (Workspace) Updating the Workspace

  • ضرورت تخصیص استاتیک در سیستم‌های بلادرنگ The Case for Static Allocation in Real-Time Systems

  • نمایش تخصیص استاتیک Demonstrating Static Allocation

  • تخصیص دینامیک حافظه با malloc() Dynamic Memory Allocation with malloc()

  • تغییر اندازه حافظه تخصیص یافته با realloc() Resizing Dynamically Allocated Memory with realloc()

  • یک مشکل رایج در فساد حافظه (Memory Corruption) A Common Memory Corruption Issue

به‌کارگیری بسته‌بندی بیت‌ها (Bit Packing) Applying Bit Packing

  • مقدمه‌ای بر ساختارهای داده Bit Packed در سیستم‌های نهفته Introduction to Bit-Packed Data Structures in Embedded Systems

  • بسته‌بندی بیت‌ها برای صرفه‌جویی در حافظه Packing Bits to Save Memory

  • تحلیل میزان صرفه‌جویی در حافظه Memory Saving Analysis

  • استفاده از عملگرهای بیتی با ساختارهای Bit Packed Using Bitwise Operators with Bit-Packed Data Structures

  • بسته‌بندی بیت با عملیات بیتی (بخش اول) Bit Packing with Bitwise Operations (Part 1)

  • بسته‌بندی بیت با عملیات بیتی (بخش دوم) Bit Packing with Bitwise Operations (Part 2)

  • بسته‌بندی پیکربندی‌های GPIO (بخش اول) Bit Packing GPIO Configurations (Part 1)

  • بسته‌بندی پیکربندی‌های GPIO (بخش دوم) Bit Packing GPIO Configurations (Part 2)

  • بسته‌بندی پیکربندی‌های GPIO (بخش سوم) Bit Packing GPIO Configurations (Part 3)

آشنایی با لیست‌های پیوندی Introduction to Linked Lists

  • مروری بر لیست‌های پیوندی Overview of Linked Lists

  • مفاهیم کلیدی لیست‌های پیوندی The Key Concepts of Linked Lists

  • انواع لیست‌های پیوندی The Types of Linked Lists

  • مزایا و کاربردها در سیستم‌های نهفته Advantages and Applications in Embedded Systems

به‌کارگیری لیست‌های پیوندی Applying Linked Lists

  • فعال‌سازی وقفه RX در UART Enabling UART RX Interrupt

  • پیاده‌سازی ساختارهای دستور (Command) و گره (Node) Implementing the Command and Node Structures

  • درج یک گره دستور جدید Inserting a New Command Node

  • حذف یک گره دستور Removing a Command Node

  • مدیریت دستورات از طریق وقفه UART RX Handling Commands Over UART RX Interrupt

  • پیاده‌سازی توابع پردازش دستورات Implementing the Functions for Processing the Commands

  • تست سیستم صف دستورات مبتنی بر لیست پیوندی Testing the Linked List Commands Queue System

سیستم مدیریت رویداد مبتنی بر لیست پیوندی Linked List-Based Event Management System

  • مقدمه Introduction

  • تعریف گره رویداد (Event Node) Declaring the Event Node

  • افزودن رویداد جدید به لیست پیوندی رویدادها Adding a New Event to the Events Linked List

  • چاپ لیست رویدادها Printing the List of Events

  • حذف یک رویداد از لیست پیوندی رویدادها Removing an Event from the Events Linked List

  • مدیریت دستورات رویداد Handling the Event Commands

  • یکپارچه‌سازی تجهیز جانبی RTC Integrating the RTC Peripheral

  • تست سیستم مدیریت رویداد مبتنی بر لیست پیوندی Testing the Linked List-Based Event Management System

  • یکپارچه‌سازی دریافت دستورات Integrating the Command Reception

  • تست سیستم با قابلیت دریافت دستور Testing the System with Command Reception

درک مفهوم Memory Poolها Understanding Memory Pools

  • مروری بر Memory Poolها Overview of Memory Pools

  • مقایسه پیاده‌سازی Memory Pool در UART با سایر ساختارهای داده Comparing UART Memory Pool Implementation with Other Data Structures

  • تعریف پارامترهای پیکربندی Declaring the Configuration Parameters

  • پیاده‌سازی ساختار داده Memory Pool Implementing the Memory Pool Data Structure

  • مقداردهی اولیه Memory Pool Initializing the Memory Pool

  • تخصیص حافظه از Pool Allocating Memory from the Pool

  • آزاد کردن یک بلوک تخصیص یافته Freeing an Allocated Block

  • دریافت تعداد بلوک‌های آزاد Getting the Number of Free Blocks

  • تست پیاده‌سازی Memory Pool Testing the Memory Pool Implementation

به‌کارگیری Memory Poolها Applying Memory Pools

  • مقداردهی اولیه Memory Pool برای UART Initializing the UART Memory Pool

  • پیاده‌سازی سایر توابع Implementing the Rest of the Functions

  • انتقال رشته‌ها از طریق UART با استفاده از Memory Poolها Transmitting Strings over UART Using Memory Pools

  • تست پیاده‌سازی Memory Pool در UART Testing the UART Memory Pool Implementation

درک مفهوم صف‌ها (Queues) Understanding Queues

  • مروری بر صف‌ها (Queues) Overview of Queues

  • مقدمه‌ای بر صف‌های حلقوی Introduction to Circular Queues

  • مروری بر صف‌های دوطرفه (Dequeues) Overview of Double-Ended Queues (Dequeues)

به‌کارگیری صف‌های خطی Applying Linear Queues

  • پیاده‌سازی ساختار صف Implementing the Queue Structure

  • بررسی پر یا خالی بودن صف Checking if the Queue is Full or Empty

  • پیاده‌سازی تابع Enqueue (افزودن به صف) Implementing the Enqueue Function

  • پیاده‌سازی تابع Dequeue (خروج از صف) Implementing the Dequeue Function

  • پردازش داده‌های صف Processing the Queue Data

  • تست صف خطی Testing the Linear Queue

به‌کارگیری صف‌های حلقوی Applying Circular Queues

  • پیاده‌سازی ساختار برای صف‌های UART و ADC Implementing the Structure for the UART and ADC Queues

  • پیاده‌سازی ساختار دستورات Implementing the Commands Structure

  • بررسی وضعیت پر بودن صف‌ها Checking for the Full Condition of the Queues

  • بررسی وضعیت خالی بودن صف‌ها Checking for the Empty Condition of the Queues

  • پیاده‌سازی توابع Enqueue برای صف‌ها Implementing the Functions for Enqueuing the Queues

  • پیاده‌سازی توابع Dequeue برای صف‌ها Implementing the Functions for Dequeuing the Queues

  • درک رابطه بین صف‌ها Understanding the Relationship Between the Queues

  • پردازش داده‌های صف UART Processing the UART Queue Data

  • پردازش صف دستورات Processing the Command Queue

  • تست سیستم دستورات صف حلقوی Testing the Circular Queue Command System

اجراکننده‌های تسک با صف اولویت‌دار Priority Queue Task Executors

  • مقدمه‌ای بر پروژه Introduction to the Project

  • تعریف ساختار تسک (Task Structure) و صف تسک‌ها Declaring the Task Structure and Task Queue

  • تعریف پروتوتایپ توابع Declaring the Function Prototypes

  • پیاده‌سازی تابع افزودن تسک به صف Implementing the Function for Adding Tasks to the Queue

  • پیاده‌سازی تابع اجرای تمام تسک‌های صف Implementing the Function for Executing All Queue Tasks

  • تسک‌های سیستم The System Tasks

  • تست اجراکننده تسک با صف اولویت‌دار Testing the Priority Queue Task Executor

نمایش نظرات

آموزش ساختارهای داده پیشرفته و یکپارچه‌سازی تجهیزات جانبی برای میکروکنترلرها [ویدئویی]
جزییات دوره
9h 45m
109
Packtpub Packtpub
(آخرین آپدیت)
از 5
ندارد
دارد
دارد
Israel Gbati
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Israel Gbati Israel Gbati

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