آموزش توسعه بوت لودر سفارشی میکروکنترلر STM32Fx

STM32Fx Microcontroller Custom Bootloader Development

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: اصول توسعه Bootloader را برای میکروکنترلر STM32Fx مبتنی بر ARM Cortex Mx خود بیاموزید بوت لودر سفارشی خود را برای میکروکنترلر STM32Fx خود بنویسید و اجرای ارتباطات Bootloader میزبان بسته های دستوری Bootloader سفارشی حالت های مختلف بوت STM32 Microcontroller هندی اجرای فلش/SeProgram SeePro loader: پاک کردن انبوه گزینه های بوت لودر بایت (OB) اجرای مدیریت برنامه بوت لودر وضعیت حفاظت از بخش فلش اجرای مدیریت بوت لودر در اجرای برنامه نویسی کاربردی (IAP) جابجایی جدول برداری ARM Cortex Mx پردازنده پیش نیازها: در صورت تمایل به تست، برد مبتنی بر STM32Fx مورد نیاز است. کد توسعه یافته دانش برنامه نویسی پایه 'C' مورد نیاز است اما اجباری نیست

با توسعه بوت لودر میکروکنترلر شروع کنید.
این دوره برای مبتدیان در حوزه سیستم های تعبیه شده و برنامه نویسی مناسب خواهد بود.

این دوره در مورد یادگیری ایجاد یک BootLoader سفارشی برای میکروکنترلر STM32Fx با قدرت ARM CORTEX Mx است.

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


BootLoader که می خواهیم در این دوره توسعه دهیم دارای ویژگی های زیر خواهد بود

1) می تواند برنامه نویسی درون برنامه ای (IAP) را انجام دهد. می‌توانید از BootLoader برای فلش کردن یک برنامه باینری

استفاده کنید

2) داده‌های مخصوص میکروکنترلر را بخوانید

3) پیکربندی‌های مرتبط با فلش مانند راه‌اندازی حفاظت‌های خواندن و نوشتن برای بخش‌های مختلف

4) پاک کردن بخش فلش

5) پاک کردن انبوه فلش کاربر

6) وضعیت حفاظت فلش مموری را بخوانید و نمایش دهید

7) برای اجرای کد به آدرس مشخص شده پرش کنید


همراه با توسعه BootLoader سفارشی، شما نیز متوجه خواهید شد

1) سازماندهی متفاوت حافظه یک میکروکنترلر

2) نام مستعار حافظه و حالت‌های مختلف راه‌اندازی STM32

3) نحوه بوت شدن MCU پس از روشن شدن

4) نگاشت جدول برداری و جابجایی جدول برداری مورد استفاده از پردازنده Arm Cortex mx.

5) تفاوت بین برنامه نویسی درون سیستمی (ISP) و برنامه نویسی درون برنامه ای (IAP)

6) نمودار جریان طراحی بوت لودر سفارشی

7) روش ارتباطی میزبان و بوت لودر

8) اجرای دستورات مختلف بوت لودر


همچنین می‌توانید این BootLoader را با دادن ویژگی‌های زیر پس از تکمیل دوره گسترش دهید

1) سیستم عامل ارسال شده توسط میزبان را با استفاده از AES

رمزگذاری و رمزگشایی کنید

2) برنامه نویسی از طریق واسط ماژول های WIFI یا Zigbee



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

در این دوره از برد STM32F446RE Nucleo استفاده شده است.

اگر برد دیگری مبتنی بر میکروکنترلر STM32 دارید، می‌توانید از کدهای توسعه‌یافته در دوره بدون تغییرات یا تغییرات جزئی استفاده کنید.


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

1) KEIL-MDK-5 برای WINDOWS

2) OpenSTM32 SystemWorkbench برای (WINDOWS/LINUX/MAC OS)


ترتیب یادگیری دوره های 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)


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

بررسی اجمالی دوره Course Overview

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

  • بررسی اجمالی دوره Course Overview

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

  • مخزن کد منبع Source Code Repository

معرفی Introduction

  • Boot-Loader چیست و چرا به آن نیاز است؟ What is Boot-Loader and Why it is needed ?

حافظه MCU، تنظیمات Reset Sequence و Boot MCU memory, Reset Sequence and Boot configs

  • MCU-Embedded Memory Organization MCU-Embedded Memory Organization

  • درک ترتیب بازنشانی و نام مستعار حافظه MCU Understanding Reset Sequence and memory Aliasing of the MCU

  • تنظیمات بوت STM32 MCU. Boot Configurations of the STM32 MCU.

تخته توسعه مورد استفاده در دوره های ما Development board used in our courses

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

  • درباره هیئت توسعه MCU About MCU Development board

  • STM32F4 Discovery and Nucleo: جزئیات برد STM32F4 Discovery and Nucleo : Board Details

  • نصب درایور ST-Link ST-Link Driver Installation

  • ارتقاء سیستم عامل ST Link ST Link Firmware Upgrade

راه اندازی KEIL-MDK-5 IDE برای MCU های مبتنی بر ARM Cortex M KEIL-MDK-5 IDE setup for ARM Cortex M based MCUs

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

  • نصب و راه اندازی KEIL-MDK-5 KEIL-MDK-5 Installation

  • ادامه نصب KEIL-MDK-5. KEIL-MDK-5 Installation Contd.

  • نصب پک KEIL-MDK-5 KEIL-MDK-5 Pack Installation

  • مکان یابی فایل های نصب بسته Locating Pack Installation files

  • ایجاد یک پروژه KEIL Creating a KEIL Project

  • ایجاد یک برنامه تغییر LED با استفاده از APIهای Board BSP Creating a LED Toggling App using Board BSP APIs

  • ایجاد یک برنامه تغییر LED با استفاده از Board BSP APIs-Nucleo Creating a LED Toggling App using Board BSP APIs-Nucleo

نصب OpenSTM32 System-Workbench Installing OpenSTM32 System-Workbench

  • دانلود و نصب OpenSTM32 System-Workbench Downloading and Installing OpenSTM32 System-Workbench

  • نصب OpenSTM32 System-Workbench Installing OpenSTM32 System-Workbench

STM32CubeMX STM32CubeMX

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

  • نصب STM32CubeMX STM32CubeMX Installation

کاوش بوت لودر بومی STM32 Exploring STM32 Native Bootloader

  • فعال کردن ST's Bootloader Part-1 Activating ST’s Bootloader Part-1

  • فعال سازی ST’s Bootloader Part-2 Activating ST’s Bootloader Part-2

  • فعال کردن ST's Bootloader Part-3 Activating ST’s Bootloader Part-3

  • فعال کردن ST’s Bootloader Part-4 Activating ST’s Bootloader Part-4

ارتباط بوت لودر سفارشی با HOST Custom Bootloader Communication with HOST

  • حمل و نقل بوت لودر Bootloader Transport

  • قرار دادن کد بوت لودر Bootloader code placement

  • دستورات پشتیبانی شده بوت لودر Bootloader Supported Commands

  • Host – Bootloader Communication Host – Bootloader Communication

ایجاد پروژه بوت لودر Boot-Loader Project Creation

  • ایجاد پروژه بوت لودر Boot-Loader Project Creation

  • Bootloader Project Exploration Part-1 Bootloader Project Exploration Part-1

تست بوت لودر UART Boot-Loader UART Testing

  • تست UART فرمان Command UART testing

  • اشکال زدایی تست UART Debug UART Testing

بوت لودر پرش به کد کاربر Boot-loader Jumping to User Code

  • Boot-loader Jumping to User App-Part-1 Boot-loader Jumping to User application Part-1

  • Boot-loader Jumping to User App-Part-2 Boot-loader Jumping to User application Part-2

  • Boot-loader Jumping to User App-Part-3 Boot-loader Jumping to User application Part-3

  • قرار دادن کد فلش با استفاده از میز کار سیستم OpenSTM32 Flash Code Placement using OpenSTM32 System Workbench

  • وکتور جدول افست ثبت (VTOR) use case Vector Table offset Register(VTOR) use case

  • Boot-loader Jumping to User App-Part-4 Boot-loader Jumping to User application Part-4

Boot-loader Read Commands from Host Boot-loader Read Commands from Host

  • فرمت فرمان بوت لودر Boot-loader command format

  • اجرای دستورات خواندن بوت لودر Boot-loader read commands implementation

  • اجرای توابع دسته فرمان Command Handle Functions Implementation

اجرای دستور BL_GET_VER Implementing BL_GET_VER Command

  • فلوچارت کنترل فرمان بوت لودر Boot-loader Command Handling Flow-Chart

  • BL_GET_VER اجرای تابع دسته BL_GET_VER Handle Function Implementation

  • پیاده سازی Boot-Loader ACK/NACK Boot-Loader ACK/NACK Implementation

  • Boot-Loader Verify CRC Boot-Loader Verify CRC

  • ارسال پاسخ BL_GET_VER_CMD Sending BL_GET_VER_CMD Reply

  • BL_GET_VER_CMD تست قسمت 1 BL_GET_VER_CMD Testing Part-1

  • نصب پایتون در هاست Python Installation on Host

  • نصب ماژول پایتون Pyserial Python Pyserial module installation

  • BL_GET_VER_CMD تست قسمت 2 BL_GET_VER_CMD Testing Part-2

  • BL_GET_VER_CMD اشکال زدایی BL_GET_VER_CMD Debugging

در حال پیاده سازی BL_GET_HELP_CMD Implementing BL_GET_HELP_CMD

  • BL_GET_HELP_CMD پیاده سازی و آزمایش BL_GET_HELP_CMD Implementation and Testing

در حال پیاده سازی BL_GET_CID_CMD Implementing BL_GET_CID_CMD

  • پیاده سازی و آزمایش BL_GET_CID_CMD BL_GET_CID_CMD Implementation and Testing

در حال پیاده سازی BL_GET_RDP_LEVEL_CMD Implementing BL_GET_RDP_LEVEL_CMD

  • درک سطوح حفاظت از خواندن Flash Understanding Flash Read Protection Levels

  • تست فرمان BL_GET_RDP_LEVEL BL_GET_RDP_LEVEL Command Testing

در حال پیاده سازی BL_GET_GO_TO_ADDR_CMD Implementing BL_GET_GO_TO_ADDR_CMD

  • اجرای فرمان BL_GO_TO_ADDR BL_GO_TO_ADDR Command Implementation

  • تست فرمان BL_GO_TO_ADDR BL_GO_TO_ADDR Command Testing

در حال پیاده سازی BL_FLASH_ERASE_CMD Implementing BL_FLASH_ERASE_CMD

  • اجرای فرمان BL_FLASH_ERASE BL_FLASH_ERASE Command Implementation

  • BL_FLASH_ERASE اجرای فرمان ادامه. BL_FLASH_ERASE Command Implementation contd.

  • تست پاک کردن بخش فلش Testing Flash Sector Erase

  • تست پاک کردن انبوه فلش Testing Flash Mass Erase

در حال پیاده سازی BL_MEM_WRITE_CMD Implementing BL_MEM_WRITE_CMD

  • BL_MEM_WRITE پیاده سازی فرمان BL_MEM_WRITE Commadn Implementation

  • BL_MEM_WRITE تست فرمان BL_MEM_WRITE Command Testing

گزینه ها بایت ها و محافظت از بخش فلش Options Bytes and Flash Sector Protection

  • گزینه ها بایت برنامه نویسی Options Bytes Programming

  • اجرای دستورات حفاظتی بخش فلش Implementing Flash Sector Protection Commands

  • خلاصه دستورات Summary of the commands

کاوش در برنامه HOST Exploring HOST Application

  • فایل های منبع و جزئیات برنامه HOST HOST application Source files and Details

  • مراحل اضافه کردن دستور خود را انجام دهید Procedure to Add your own command

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

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

نمایش نظرات

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

آموزش توسعه بوت لودر سفارشی میکروکنترلر STM32Fx
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
7.5 hours
74
Udemy (یودمی) udemy-small
14 فروردین 1402 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
10,727
4.6 از 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 (یودمی)

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

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