آموزش برنامه نویسی سیستم های جاسازی شده روی پردازنده ARM Cortex-M3/M4

Embedded Systems Programming on ARM Cortex-M3/M4 Processor

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: با استفاده از کدنویسی با استفاده از C برنامه نویسی و مونتاژ بر روی ARM Cortex M میکروکنترلر مبتنی بر پردازنده معماری داخلی پردازنده ARM Cortex M3/M4 و برنامه نویسی آموزش کدگذاری ترکیبی C و اسمبلی با استفاده از تکنیک اسمبلی درون خطی رمزگشایی حافظه، رابط های اتوبوس، NVIC، مدیریت استثنایی با تعداد زیادی انیمیشن وقفه ها و پیکربندی میکروکنترلر مبتنی بر ARM Cortex Mx رجیستر سطح پایین برنامه نویسی برای وقفه ها، استثناهای سیستم، تنظیم اولویت ها، پیشگیرانه و غیره. آموزش نوشتن کنترل کننده های IRQ، اعداد IRQ، NVIC و mcu بیشتر پیاده سازی زمانبندی کار با استفاده از ویژگی PENDSV و SYSTICK پردازنده پیاده سازی تعویض متن آموزش و نوشتن اسکریپت لینکر و فایل راه اندازی mcu از ابتدا فرآیند ساخت فلزی لخت تعبیه شده استثناهای خطای پردازنده و کنترل کننده خطا پیاده سازی و تجزیه و تحلیل خطای Stack و AAPCS استاندارد یادگیری اسمبلی درون خطی، توابع برهنه و متغیر gcc و ویژگی های بخش پیش نیازها: دانش اولیه C و Micro کنترلر را می توان به مزیت اضافه کرد اما اجباری نیست.

آخرین به روز رسانی:

فلز خالی تعبیه شده، نوشتن اسکریپت پیوند دهنده و فایل راه اندازی از ابتدا.

تجزیه و تحلیل خطاهای پردازنده و مدیریت، پشته ها، توضیح AAPCS.

پیاده سازی زمانبندی کار ساده با استفاده از pendsv و systick

مونتاژ درون خطی GCC و عملکردهای برهنه


بیش از 10000+ دانش‌آموز قبلاً این دوره را با بیش از 900+ نظرات خوشحال گذرانده‌اند.

آیا تا به حال سعی کرده اید با خواندن کتاب یا کتابچه راهنمای فنی در مورد پردازنده ARM Cortex M3/M4 بیاموزید و گیر کرده باشید؟ آیا در نهایت تکه‌ها و تکه‌هایی را در سراسر نقشه مشاهده کرده‌اید اما نتوانسته‌اید همه آن‌ها را به هم بچسبانید تا یک تصویر بزرگ داشته باشید؟

این دوره برای مهندسان/دانشجویان جاسازی شده مانند شما است که می خواهند کنترلرهای مبتنی بر ARM Cortex M3/M4 را با کاوش عمیق در جنبه های داخلی و برنامه نویسی آن یاد بگیرند و برنامه ریزی کنند.

اگر تازه وارد کنترلر مبتنی بر ARM هستید، نگران نباشید. در این دوره، همه چیزهایی را که برای شروع سریع برنامه‌نویسی با کنترلر مبتنی بر Cortex M3/M4 نیاز دارید، مشاهده خواهید کرد. جلسه آزمایشگاه تکالیف برنامه نویسی مختلفی را پوشش می دهد که به شما کمک می کند مفاهیم را بهتر به خاطر بسپارید.


سخت افزار:

1. اگر می‌خواهید کد را روی هدف امتحان کنید، به برد STM32F407 DISCOVERY مبتنی بر ARM Cortex M4 از ST نیاز دارید.

3. همچنین در صورت داشتن تابلوهای دیگر از ST مانند Nucleo یا ارزیابی، می‌توانید این دوره را دنبال کنید.


نرم افزار:

1. در این دوره، STM32CubeIDE مبتنی بر Eclipse به عنوان IDE (پشتیبانی از Windows/Linux/Mac) (رایگان) استفاده می شود.


در زمان صرفه جویی کنید و لذت ببرید!

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


قول من!

من مطمئن هستم که این دوره، ساعت‌های بسیار زیادی از مطالعه/آزمایش/گوگل کردن در زمان شما برای یادگیری در مورد این پردازنده صرفه‌جویی می‌کند. من شخصاً به سؤالات شما در مورد این مطالب چه به صورت خصوصی یا در یک بحث گروهی پاسخ خواهم داد. اگر به هر دلیلی راضی نیستید، می‌توانید ظرف 30 روز از Udemy بازپرداخت کامل دریافت کنید. هیچ سوالی پرسیده نشد. اما من مطمئن هستم که شما نیازی به این کار نخواهید داشت. من 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)


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

معرفی Introduction

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

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

  • انگیزه یادگیری خانواده پردازنده های Cortex Motivation to learn Cortex Family of Processors

  • پردازنده هسته در مقابل پردازنده Processor Core Vs Processor

  • پردازنده در مقابل میکروکنترلر Processor Vs Microcontroller

  • کد منبع و اسلایدها را دانلود کنید Download Source code and Slides

سخت افزار/نرم افزار مورد نیاز Hardware/Software Requirements

  • سخت افزار/نرم افزار مورد نیاز Hardware/Software Requirements

نصب IDE IDE installation

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

  • درباره IDE About IDE

  • نصب IDE روی ویندوز Installing IDE on windows

  • نصب IDE در اوبونتو Installing IDE on ubuntu

  • Embedded Target در این دوره استفاده شده است Embedded Target used in this course

  • اسناد Documents

Hello World تعبیه شده است Embedded Hello World

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

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

  • Printf با استفاده از SWV Printf using SWV

  • آزمایش برنامه helloworld روی هدف Testing helloworld program on target

  • Printf با استفاده از semihosting Printf using semihosting

سطح دسترسی و حالت های عملکرد پردازنده Access level and operation modes of the processor

  • ویژگی های پردازنده Cortex Mx Features of Cortex Mx Processor

  • حالت های عملیاتی پردازنده Cortex Mx Operational Modes of the Cortex Mx Processor

  • نمایش کد حالت های عملیات Operation modes code demonstration

  • سطح دسترسی پردازنده Access level of the processor

  • Core قسمت 1 را ثبت می کند Core registers part-1

  • Core قسمت 2 را ثبت می کند Core registers part-2

  • Core قسمت 3 را ثبت می کند Core registers part-3

  • رجیسترهای نگاشت شده با حافظه و غیر حافظه نگاشت شده MCU Memory mapped and non memory mapped registers of the MCU

کدگذاری اسمبلی درون خطی ARM GCC ARM GCC inline assembly coding

  • کدگذاری اسمبلی درون خطی ARM GCC قسمت 1 ARM GCC inline assembly coding part-1

  • کدگذاری مونتاژ خطی ARM GCC قسمت 2 ARM GCC inline assembly coding part-2

  • کدگذاری مونتاژ خطی ARM GCC قسمت 3 ARM GCC inline assembly coding part-3

  • کدگذاری مونتاژ خطی ARM GCC قسمت 4 ARM GCC inline assembly coding part-4

توالی پردازنده را بازنشانی کنید Reset sequence of the processor

  • توالی پردازنده را بازنشانی کنید Reset sequence of the processor

  • بازنشانی توالی پردازنده ادامه Reset sequence of the processor contd

سطح دسترسی و بیت T Access level and T bit

  • نمایش سطح دسترسی پردازنده Demonstration of access level of the processor

  • اهمیت بیت T از EPSR Importance of T bit of the EPSR

نقشه حافظه و رابط های اتوبوس پردازنده ARM Cortex Mx Memory map and bus interfaces of ARM Cortex Mx processor

  • نقشه حافظه Memory map

  • پروتکل های اتوبوس و رابط های اتوبوس Bus protocols and bus interfaces

  • باندبندی بیت Bit banding

  • تمرین باند بیت Bit band exercise

پشته حافظه و محل Stack memory and placement

  • مقدمه ای بر حافظه پشته ای Introduction to stack memory

  • مدل های مختلف عملیات پشته Different stack operation models

  • قرار دادن پشته Stack placement

  • رجیسترهای نشانگر پشته بانکی ARM Cortex Mx Banked stack pointer registers of ARM Cortex Mx

  • تمرین پشته ای Stack exercise

  • تمرین پشته ای ادامه Stack exercise contd.

  • فراخوانی تابع و استاندارد AAPCS Function call and AAPCS standard

  • پشته فعالیت ها در طول وقفه و استثنا Stack activities during interrupt and exception

مدل استثنایی پردازنده ARM Cortex Mx Exception model of ARM Cortex Mx processor

  • مدل استثنایی Exception model

  • استثناهای مختلف سیستم Different system exceptions

  • آدرس های برداری استثنای سیستم system exception vector addresses

  • ثبت های کنترل استثنای سیستم System exception control registers

  • NVIC NVIC

  • NVIC ثبت می کند NVIC registers

  • تمرین وقفه محیطی Peripheral interrupt exercise

  • تمرین وقفه محیطی ادامه Peripheral interrupt exercise contd.

اولویت و پیکربندی را قطع کنید Interrupt priority and configuration

  • توضیح اولویت وقفه Interrupt priority explanation

  • اولویت و اولویت فرعی pre-empt and sub priority

  • تمرین پیکربندی اولویت را قطع کنید Interrupt priority configuration exercise

  • رفتار وقفه در انتظار Pending interrupt behavior

توالی ورود و خروج استثنا Exception entry and exit sequences

  • توالی ورود و خروج استثنا Exception entry and exit sequences

  • تجزیه و تحلیل محتویات پشته در هنگام ورود و خروج استثنا Analyzing stack contents during exception entry and exit

مدیریت و تحلیل عیب Fault handling and analysis

  • مقدمه ای بر خطاهای پردازنده Introduction to processor faults

  • استثنای سخت Hardfault exception

  • سایر خطاهای قابل تنظیم Other configurable faults

  • تمرین استثنای خطا قابل تنظیم-1 Configurable fault exception exercise-1

  • تجزیه و تحلیل قاب پشته Analyzing stack frame

  • تمرین استثنای خطا قابل تنظیم-2 Configurable fault exception exercise-2

  • تجزیه و تحلیل قاب پشته Analyzing stack frame

استثنا برای خدمات سطح سیستم Exception for system level services

  • استثناء SVC SVC exception

  • استخراج شماره SVC Extracting SVC number

  • تمرین شماره SVC قسمت 1 SVC number exercise part-1

  • تمرین شماره SVC قسمت 2 SVC number exercise part-2

  • تمرین عملیات ریاضی SVC SVC math operation exercise

  • استثنا PendSV PendSV exception

پیاده سازی زمانبندی وظایف Implementation of task scheduler

  • معرفی Introduction

  • ایجاد وظایف کاربر Creating user tasks

  • انتخاب نشانگر پشته Stack pointer selection

  • وظایف و برنامه ریزی Tasks and scheduling

  • مطالعه موردی تغییر زمینه Case study of context switching

  • تایمر سیستمی را پیکربندی کنید Configure systick timer

  • مطالعه موردی تغییر زمینه ادامه. Case study of context switching contd.

  • مقداردهی اولیه پشته Initialization of stack

  • مقداردهی اولیه stack contd. Initialization of stack contd.

  • تنظیم نشانگر پشته Stack pointer setup

  • پیاده سازی سیستم کنترل کننده سیستم Implementing the systick handler

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

  • جابجایی LED ها با استفاده از چندین کار Toggling of LEDs using multiple tasks

  • حالت های مسدود کردن وظایف Blocking states of tasks

  • مسدود کردن یک کار برای تعداد مشخص شده تیک Blocking a task for given number of ticks

  • شمارش سراسری کنه Global tick count

  • تصمیم گیری برای اجرای کار بعدی Deciding next task to run

  • پیاده سازی pendSV handler برای سوئیچ زمینه Implementing pendSV handler for context switch

  • کار بعدی و آزمایش را به روز کنید Update next task and testing

اسکریپت های فلزی برهنه تعبیه شده و پیوند دهنده Bare metal embedded and linker scripts

  • فلز لخت تعبیه شده است Bare metal embedded

  • کامپایل متقابل و زنجیره ابزار Cross compilation and toolchains

  • نصب زنجیره ابزار متقابل GCC ARM Installing GCC ARM cross toolchain

  • فرآیند ساخت Build process

  • پرچم های کامپایلر و کامپایلر Compilation and compiler flags

  • Makefile Makefile

  • تجزیه و تحلیل فایل های obj قابل جابجایی Analyzing relocatable obj files

  • کد و داده های یک برنامه Code and data of a program

  • پیوند دهنده و مکان یاب Linker and locator

  • داده ها و بخش های مختلف یک برنامه Different data and sections of a program

  • bss در مقابل داده bss Vs data

  • فایل راه اندازی میکروکنترلر Startup file of Microcontroller

  • نوشتن فایل راه اندازی میکروکنترلر از ابتدا قسمت 1 Writing startup file of Microcontroller from scratch part-1

  • نوشتن فایل راه اندازی میکروکنترلر از ابتدا قسمت 2 Writing startup file of Microcontroller from scratch part-2

  • نوشتن فایل راه اندازی میکروکنترلر از ابتدا قسمت 3 Writing startup file of Microcontroller from scratch part-3

  • نوشتن اسکریپت لینکر از ابتدا قسمت 1 Writing linker script from scratch part-1

  • نوشتن اسکریپت لینکر از ابتدا قسمت 2 Writing linker script from scratch part-2

  • شمارنده موقعیت مکانی Location counter

  • نمادهای اسکریپت پیوند دهنده Linker script symbols

  • نوشتن اسکریپت لینکر از ابتدا قسمت 3 Writing linker script from scratch part-3

  • پرچم های پیوند و پیوند دهنده Linking and Linker flags

  • تجزیه و تحلیل فایل ELF Analyzing ELF file

  • پیاده سازی کنترل کننده بازنشانی Implementing reset handler

  • OpenOCD و آداپتورهای اشکال زدایی OpenOCD and debug adapters

  • مراحل دانلود کد با استفاده از openOCD Steps to download code using openOCD

  • با استفاده از سرویس گیرنده GDB Using GDB client

  • ادغام کتابخانه استاندارد C C standard library integration

  • یکپارچه سازی تماس های سیستمی Integrating system calls

  • ادغام بخش کتابخانه استاندارد Section merging of standard library

  • تعمیر اسکریپت لینکر برای رفع خطای سخت Fixing linker script to resolve hardfault

  • نیمه میزبانی Semi-hosting

متشکرم Thank you

  • سخنرانی پاداش Bonus Lecture

نمایش نظرات

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

آموزش برنامه نویسی سیستم های جاسازی شده روی پردازنده ARM Cortex-M3/M4
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
15 hours
124
Udemy (یودمی) udemy-small
14 فروردین 1402 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
24,676
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 (یودمی)

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

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