آموزش تسلط بر Zephyr RTOS با DeviceTree و راه‌اندازی برد (Board Bring Up) - آخرین آپدیت

دانلود Mastering Zephyr RTOS with DeviceTree and Board Bring Up

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: گردش کار کامل: نصب تول‌چین، نوشتن DeviceTree از صفر، پورت کردن برد سفارشی و کاربردهای واقعی روی STM32 نوشتن DeviceTree از پایه برای هر برد سفارشی، نه فقط کپی کردن از نمونه‌های موجود پورت کردن یک برد سفارشی به Zephyr با گردش کار کامل Board Porting ساخت اپلیکیشن‌های واقعی Zephyr با استفاده از وقفه‌ها (Interrupts)، تردها (Threads)، صف‌های کاری (Workqueues) و صف‌های پیام روی سخت‌افزار سفارشی عیب‌یابی مشکلات رایج DeviceTree و بیلد با استفاده از یک فرآیند گام‌به‌گام و تکرارپذیر راه‌اندازی کامل محیط کاری Zephyr و تول‌چین در ویندوز، اوبونتو و مک درک ساختار سازماندهی اپلیکیشن‌های Zephyr، نحوه عملکرد سیستم بیلد و اتصال تمامی اجزاء پیکربندی پروژه Zephyr به روش کاربردی با استفاده از prj.conf، menuconfig و Kconfig استفاده از ماکروهای DeviceTree و APIهای GPIO برای کنترل پین‌های سخت‌افزاری از طریق اپلیکیشن پیکربندی خروجی کنسول UART برای لاگ‌های stdout و تست اپلیکیشن روی سخت‌افزار واقعی استفاده از Application Overlays برای شخصی‌سازی DeviceTree بدون تغییر در فایل‌های اصلی DTS پیاده‌سازی وقفه‌ها و مدیریت دکمه‌ها با استفاده از ISR، نودهای DeviceTree و Callbackهای GPIO ایجاد و مدیریت تردها (Threads) در Zephyr فلش کردن و تست اپلیکیشن Zephyr روی یک برد سفارشی واقعی افزودن ویژگی‌های سفارشی (Custom Properties) به نودهای استاندارد DeviceTree و دسترسی به آن‌ها در کد راه‌اندازی و استفاده از کدنویسی به کمک هوش مصنوعی با Claude Code برای پروژه‌های Embedded پیش نیازها: دانش پایه برنامه‌نویسی زبان C درک ابتدایی از میکروکنترلرها بدون نیاز به تجربه قبلی در Zephyr؛ ما از صفر شروع می‌کنیم

نکته: مدرس همچنان در حال افزودن درس‌ها به این دوره است. لطفا سرفصل‌های بالا را بررسی کنید.

### یادگیری Zephyr RTOS از پایه با یک مسیر ساختاریافته و شفاف

صنعت سیستم‌های نهفته (Embedded) در حال تغییر است. Zephyr RTOS که توسط بنیاد لینوکس پشتیبانی می‌شود، به سرعت در حال تبدیل شدن به انتخاب پیش‌فرض برای محصولات IoT و سیستم‌های صنعتی است. شرکت‌هایی مانند Nordic، NXP، Intel، STMicroelectronics و ده‌ها شرکت دیگر اکوسیستم خود را حول آن می‌سازند. هیچ RTOS دیگری سیستم بیلد یکپارچه، انتزاع سخت‌افزاری مبتنی بر DeviceTree و گردش کار پورتینگ را که روی فروشندگان مختلف MCU با یک کدبیس واحد کار کند، ارائه نمی‌دهد. اگر مهندس Embedded هستید و هنوز Zephyr را نمی‌شناسید، در حال عقب افتادن هستید.

این دوره شما را به مهندسی تبدیل می‌کند که می‌تواند هر MCU پشتیبانی شده توسط Zephyr را گرفته، DeviceTree آن را از صفر بنویسد، آن را به عنوان یک برد سفارشی پورت کند و اپلیکیشن‌های واقعی روی آن بسازد؛ نه با کپی کردن از نمونه‌ها، بلکه با درک کامل گردش کار از پایه.


در پایان این دوره قادر خواهید بود:

- raه‌اندازیکامل محیط کاری و تول‌چین Zephyr در ویندوز، اوبونتو و مک

- ساخت و اجرااولین اپلیکیشن‌های Zephyr روی QEMU و سخت‌افزار واقعی

- پیکربندیپروژه با استفاده از prj.conf، menuconfig و Kconfig

- نوشتن DeviceTree از صفربرای یک برد سفارشی و درک هر نود و ویژگی

- پورت کردن برد شخصیبه Zephyr با ساختار کامل دایرکتوری برد و تنظیمات

- ساخت اپلیکیشن‌های واقعیبا استفاده از وقفه‌ها، تردها و صف‌های کاری روی سخت‌افزار سفارشی

- عیب‌یابیمشکلات رایج DeviceTree و بیلد با یک فرآیند گام‌به‌گام

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

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


این دوره برای چه کسانی است:

- مهندسان Embedded که می‌خواهند از Zephyr روی سخت‌افزار سفارشی خود استفاده کنند

- مهندسانی که پیش‌تر Zephyr را امتحان کرده‌اند اما در بخش DeviceTree یا پورت کردن برد متوقف شده‌اند

- توسعه‌دهندگان Firmware، دانشجویان و علاقه‌مندان که از Bare Metal یا FreeRTOS به Zephyr مهاجرت می‌کنند

نکته‌ای درباره استفاده از کدنویسی با کمک AI

در پروژه نهایی، از هوش مصنوعی برای ساخت یک اپلیکیشن واقعی استفاده می‌کنیم. ما تعمداً این بخش را برای آخر گذاشته‌ایم. ابتدا پایه را می‌سازید، نحوه کار Zephyr را می‌فهمید و یاد می‌گیرید چگونه خودتان عیب‌یابی کنید؛ سپس ابزارهای AI را وارد می‌کنیم تا سرعت کار شما را افزایش دهند. ابتدا درک کنید، سپس شتاب بگیرید.


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


نیازمات سخت‌افزاری (برای تمرین عملی)

  • این دوره از برد Fastbit STM32 Nano بر پایه میکروکنترلر STM32F303 استفاده می‌کند.

  • همچنین می‌توانید از هر برد توسعه STM32 یا هر بردی که توسط Zephyr پشتیبانی می‌شود استفاده کنید.

  • اگر می‌خواهید دقیقاً از همان برد مدرس استفاده کنید، می‌توانید برد Fastbit STM32 Nano را تهیه نمایید.



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

راه‌اندازی محیط کاری و تول‌چین Zephyr Zephyr workspace and toolchain setup

  • چرا Zephyr؟ Why Zephyr?

  • نصب Zephyr RTOS [ویندوز] Zephyr RTOS setup [Windows]

  • نصب Zephyr RTOS [اوبونتو] Zephyr RTOS setup [Ubuntu]

  • نصب Zephyr RTOS [مک] Zephyr RTOS setup [MacOS]

  • راه‌اندازی محیط مجازی پایتون Setting up Python virtual environment

  • نصب West Installing West

  • کلون کردن Zephyr با West و نصب ابزارهای بیلد پایتون Clone Zephyr using West and install Python build tools

  • نصب پیش‌نیازهای پایتون Zephyr از طریق pip Installing Zephyr Python requirements via pip

  • نصب Zephyr SDK Installing the Zephyr SDK

  • مخزن (Repository) دوره Course repository

ساخت و اجرای اولین اپلیکیشن Zephyr Build and run your first Zephyr application

  • ساخت و تست اپلیکیشن Hello World زفیر روی QEMU Building and testing the Zephyr Hello World application on QEMU

  • اجرای اپلیکیشن Blinky روی سخت‌افزار واقعی Running the Zephyr Blinky application on real hardware.

ساختار اپلیکیشن Zephyr و مبانی پیکربندی Zephyr application structure and configuration basics

  • توسعه اپلیکیشن در Zephyr: مقدمه Application development in Zephyr: introduction

  • ایجاد یک اپلیکیشن در Zephyr Creating an application in Zephyr

  • درک فایل‌های مهم در یک اپلیکیشن Zephyr Understanding the important files in a Zephyr application

  • درک فایل‌های مهم در یک اپلیکیشن Zephyr (ادامه) Understanding the important files in a Zephyr application (continued)

  • فایل prj.conf و موارد پیکربندی: توضیح menuconfig و .config prj.conf file and configuration items: menuconfig and .config explained

  • فایل Kconfig مخصوص اپلیکیشن Application specific Kconfig file

اپلیکیشن Zephyr 001: چشمک‌زن (Blinky) روی برد سفارشی Zephyr application 001 LED Blinky on a custom board

  • اپلیکیشن Zephyr 001: LED Blinky روی برد سفارشی Zephyr application 001: LED Blinky on a custom board

  • ایجاد یک اپلیکیشن جدید Creating a new application

  • DeviceTree چیست و چرا اهمیت دارد؟ What is DeviceTree and why it matters

نوشتن DeviceTree از صفر برای برد سفارشی Writing DeviceTree from scratch for a custom board

  • فایل‌ها و انواع کلیدی DeviceTree Key DeviceTree files and types

  • نوشتن DeviceTree از صفر برای برد شما Writing DeviceTree from scratch for your board

  • ایجاد یک ساختار مینیمال برای فایل DTS Creating a minimal DTS file layout

  • به‌روزرسانی Includeهای فایل DTS Updating DTS file includes

  • درک نودهای DeviceTree Understanding DeviceTree nodes

  • درک ویژگی‌های DeviceTree: ویژگی 'reg' و اهمیت آن Understanding DeviceTree properties: 'reg' property and its significance

  • استفاده از ویژگی 'compatible' Using the 'compatible' property

  • نحوه انتخاب رشته‌های compatible و سند DT binding How to select compatible strings and DT binding document

  • رشته‌های compatible در یک درایور Compatible strings in a driver

  • درباره ویژگی 'compatible' در سطح ریشه (root) About root level 'compatible' property

  • ویژگی 'phandle' در DeviceTree 'phandle' property in DeviceTree

  • ویژگی 'phandles' در DeviceTree 'phandles' property in DeviceTree

  • نوع 'phandle array' 'phandle-array' type

  • درک فضای مشخص‌کننده (specifier space) در phandle array Understanding specifier space of the 'phandle-array' type

چشمک‌زن Zephyr روی برد سفارشی: پورت کردن و راه‌اندازی برد Zephyr Blinky on a custom board: board porting and bring up

  • درک نحوه چشمک‌زن LED در زفیر (از لایه اپلیکیشن تا درایور) Understanding LED blinking in Zephyr (App to driver layer)

  • افزودن یک نود LED به فایل DTS Adding an LED node to the DTS file

  • راه‌اندازی دایرکتوری برد Zephyr: بخش اول Zephyr board directory setup: Part 1

  • راه‌اندازی دایرکتوری برد Zephyr: بخش دوم (Kconfig برد) Zephyr board directory setup: Part 2 (board Kconfig)

  • راه‌اندازی دایرکتوری برد Zephyr: بخش سوم (defconfig برد) Zephyr board directory setup: Part 3 (board defconfig)

  • جریان بیلد (Build flow) اپلیکیشن زفیر Build flow of zephyr application

  • ساخت و پیکربندی اپلیکیشن Zephyr Building and configuring the Zephyr application

  • رفع مشکلات مربوط به DTS Fixing DTS related issues

  • تنظیمات آدرس Flash و RAM: بهترین روش‌ها Flash and RAM address setup: best practices

  • پیکربندی دستی Flash و SRAM Manual Flash and SRAM configuration

  • فلش کردن و تست اپلیکیشن Blinky روی برد سفارشی Flashing and testing the Blinky application on the custom board

  • درباره نود 'chosen' About 'choosen' node

اپلیکیشن Zephyr 001: نوشتن برنامه Blinky برای برد سفارشی Zephyr application 001: Writing the Blinky application for a custom board

  • استفاده از ماکروهای DT Using DT Macros

  • چگونه زفیر نودهای DeviceTree را به نمونه‌های دستگاه تبدیل می‌کند How Zephyr turns DeviceTree nodes into device instances

  • APIها و ماکروهای GPIO زفیر برای کنترل پین‌ها Zephyr GPIO APIs and macros to control GPIO pins

  • پیکربندی لاگ‌های stdout به کنسول UART و تست Configure stdout logs to UART console and test

  • افزودن یک ویژگی سفارشی به نود استاندارد DeviceTree Add a custom property to a standard DeviceTree node

  • Application Overlays Application overlays

اپلیکیشن Zephyr 002: چشمک‌زن LED مبتنی بر وقفه با Workqueue Zephyr application 002 : Interrupt driven LED burst with workqueue

  • مقدمه Introduction

  • راه‌اندازی اولیه Basic setup

  • پیکربندی دکمه و وقفه Configuring button and interrupt

  • افزودن نود دکمه در DT Adding button node in DT

  • پیاده‌سازی ISR دکمه Button ISR implementation

  • صف‌های پیام (Message Queues) و صف‌ها Message queues and queues

  • ایجاد تردها در Zephyr Creating threads in zephyr

  • پیاده‌سازی هندلر ترد Thread handler implementation

  • درباره Workqueues About Workqueues

  • استفاده از Workqueues Using workqueues

  • هندلر Workqueue Workqueue handler

  • خلاصه و بیلد Summary and build

اپلیکیشن Zephyr 003: بازی Brick Breaker مبتنی بر شیب با کمک کدنویسی AI Zephyr application 003 : Tilt based brick breaker game with AI assisted coding

  • مقدمه Introduction

  • توضیح برنامه توسعه بازی Game development plan explanation

  • راه‌اندازی اولیه پروژه Basic project setup

  • درباره کدنویسی با کمک AI About AI assisted coding

  • نصب Claude Code و تنظیمات اولیه Claude Code installation and basic setup

  • افزودن Claude Code به VS Code Adding Claude Code to VS code

  • درباره دستورات slash و مقداردهی اولیه پروژه About slash commands and project initialization

  • ایجاد سند مشخصات spec.md Creating specification document spec.md

  • خواندن شماتیک و دفترچه راهنما برای استخراج اطلاعات کلیدی با AI Reading Schematic and user manual to extract key information using AI

  • به‌روزرسانی ویژگی‌های پروژه، نقشه بازی و نیازمندی‌ها در spec.md Updating project features , gameplan and requirements in spec.md

  • به‌روزرسانی spec.md با جزئیات جهت‌گیری دستگاه Updating spec.md with device orientation details

  • خلاصه تا این لحظه Summary so far

  • افزودن موارد Kconfig مربوط به جهت‌گیری LCD Adding Kconfig items related to LCD orientation

  • تایید موارد Kconfig جهت‌گیری LCD در menuconfig Verifying LCD orientation Kconfig items in menuconfig

  • برنامه راه‌اندازی نمایشگر همراه با نقاط چک‌پوینت Display bringup plan with checkpoints

  • پیاده‌سازی چک‌پوینت ۱: نودهای DT و تست اولیه (Smoke Test) نمایشگر Implementing chekpoint 1 : DT nodes and smoke test for display

  • درک نود Device Tree دستگاه spi1 Understanding &spi1 device tree node

  • درک کنترلر MIPI DBI و نودهای DT نمایشگر Understanding MIPI DBI controller and Display DT nodes

  • تست نمایشگر با کد Smoke Test Display testing with smoke test code

  • رفع مشکل رنگ‌ها Fixing colour issue

  • تست نمایشگر با جهت‌گیری‌های مختلف Display testing with different orientation

  • پیاده‌سازی و تست صفحه شروع/Splash Screen بازی Implementing and testing game startup/splash screen

  • پیاده‌سازی و تست صفحه بازی Implementing and testing game play screen

  • درباره رندرینگ کند نمایشگر About slow display rendering

  • ایجاد برنامه برای افزایش سرعت رندرینگ نمایشگر Generating plan to increase display rendering speed

  • پیکربندی PLL و RCC از طریق نودهای Device Tree برای تقویت کلاک سیستم Configuring PLL and RCC through Device Tree nodes to boost the system clock

  • بعدی: پیاده‌سازی صفحه پایان بازی و توالی کامل بازی Next : Implementing Game end screen and full game sequence

نمایش نظرات

آموزش تسلط بر Zephyr RTOS با DeviceTree و راه‌اندازی برد (Board Bring Up)
جزییات دوره
10.5 hours
92
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
716
- از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

FastBit Embedded Brain Academy FastBit Embedded Brain Academy

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

Fastbit Embedded Technologies Fastbit Embedded Technologies

خدمات سیستم‌های Embedded

Kiran Nayak Kiran Nayak

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