آموزش برنامه‌نویسی شیءگرا در C برای سیستم‌های تعبیه‌شده - آخرین آپدیت

دانلود Embedded Systems Object-Oriented Programming in C

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

توسعه کامل فریمور و درایور از ابتدا تا انتها: UART، GPIO، TIMER و غیره. از دیتاشیت تا C و C++ Embedded

  • پیاده‌سازی اصول شیء‌گرایی در توسعه فریمور

    یاد بگیرید چگونه اصول شیء‌گرایی مانند پلی‌مورفیسم، وراثت و کپسوله‌سازی را در توسعه فریمور با C و C++ به کار ببرید.

  • نوشتن برنامه‌های کاربردی Embedded C شیء‌گرا

    توانایی نوشتن برنامه‌های کاربردی嵌入 شده با استفاده از زبان C و رویکرد شیء‌گرایی.

  • نوشتن برنامه‌های کاربردی Embedded C++ شیء‌گرا

    تسلط بر نوشتن برنامه‌های کاربردی با زبان C++ و اصول شیء‌گرایی برای سیستم‌های تعبیه شده.

  • توسعه درایورها و کتابخانه‌های سیستم‌های تعبیه شده با C و C++ شیء‌گرا

    ساخت درایورها و کتابخانه‌های تخصصی برای سیستم‌های embedded با بهره‌گیری از قدرت C و C++ شیء‌گرا.

  • نوشتن درایورهای Embedded از ابتدا با C++ و اطلاعات دیتاشیت

    ایجاد درایورهایی مانند GPIO، TIMER و UART از ابتدا با استفاده از C++ و مطالعه دقیق دیتاشیت.

  • نوشتن درایورهای Embedded از ابتدا با C شیء‌گرا و اطلاعات دیتاشیت

    توسعه درایورهای ضروری سیستم‌های تعبیه شده با C شیء‌گرا، با استناد مستقیم به مستندات تراشه.

  • ساخت هر خط کد از صفر: دسترسی مستقیم به حافظه میکروکنترلر

    یاد بگیرید چگونه مستقیماً با فضای حافظه میکروکنترلر تعامل کرده و کد را از پایه بنویسید.

  • بدون استفاده از کتابخانه‌ها یا فایل‌های هدر شخص ثالث

    توسعه فریمور بدون وابستگی به کتابخانه‌های خارجی یا فایل‌های هدر استاندارد.

  • درک و نوشتن هر خط کد: نه کپی و پیست

    توانایی درک کامل و نوشتن تمامی کدهای مورد نیاز به صورت مستقل و بدون کپی کردن از منابع دیگر.

  • استفاده موثر از دیباگر برای تحلیل و رفع باگ‌ها

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

  • ارتقاء مهارت‌های توسعه Embedded و برداشتن گام‌های بعدی با اطمینان

    افزایش تخصص در توسعه سیستم‌های تعبیه شده و کسب آمادگی برای پروژه‌های پیچیده‌تر.

  • تعریف آدرس‌ها برای پریفرال‌های مختلف

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

  • تحلیل مستندات تراشه

    توانایی خواندن و درک عمیق مستندات فنی و دیتاشیت تراشه‌های میکروکنترلر.

  • ایجاد رجیسترها از روی آدرس‌ها

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

آیا از کپی و پیست کردن کدی که نمی‌فهمید خسته شده‌اید؟

این دوره برای هر کسی که به دنبال بهبود مهارت‌های توسعه فریمور سیستم‌های تعبیه شده است، مناسب می‌باشد. تمرکز اصلی این دوره بر چگونگی به‌کارگیری اصول شیء‌گرایی در توسعه فریمور سیستم‌های تعبیه شده است.

در پایان این دوره، شما قادر خواهید بود برنامه‌های کاربردی Embedded C شیء‌گرا و همچنین برنامه‌های کاربردی Embedded C++ شیء‌گرا را بنویسید.

با این توضیحات، اجازه دهید تا:

دقیقا آنچه که دریافت می‌کنید

این دوره به طور چشمگیری با هر دوره دیگری که تا به حال گذرانده‌اید متفاوت است زیرا بیشتر شبیه به یک "راهنمای عملی" حرفه‌ای برای توسعه فریمور bare-metal STM32 است. دلیل این امر این است که در این دوره هیچ گونه مطلب اضافه یا بی‌فایده‌ای وجود ندارد. مستقیماً به اصل مطلب پرداخته می‌شود و دقیقاً نشان داده می‌شود که چه کاری را چگونه و چرا انجام دهید.

علاوه بر این، آسان است.

و شما بلافاصله کل متدولوژی که شخصاً برای ساخت فریمور دستگاه‌های مصرفی در زندگی حرفه‌ای خود استفاده می‌کنم را "درک" خواهید کرد.

موضوع فراتر از صرفاً کار کردن کد است

این دوره زندگی حرفه‌ای شما را برای همیشه تغییر خواهد داد. در اینجا نظرات یکی از دانشجویان در مورد نسخه اول (STM32F4) دوره آورده شده است:

"تا اینجا این کلاس فوق‌العاده بوده است. من یک برنامه‌نویس C هستم که اخیراً زیاد از پایتون استفاده کرده‌ام، بنابراین این کلاس به من کمک می‌کند تا کد C خود را کمی بیشتر شیء‌گرا و مبتنی بر کلاس نشان دهم. همچنین، او نحوه تبدیل برخی کدهای C به کدهای C++ را توضیح می‌دهد که بسیار عالی است."

نظر یکی دیگر از دانشجویان:

"قطعاً برای من مناسب بود زیرا من با OOP در سیستم‌های تعبیه شده تازه‌کار هستم و اکنون درک خوبی از C++ و OOP برای میکروکنترلرها به دست آورده‌ام. دوره بسیار دقیق و به خوبی طراحی شده است و من به طور منظم برای به‌روزرسانی‌های جدید آن را بررسی خواهم کرد. فکر می‌کنم این بهترین دوره در مورد OOP در سیستم‌های تعبیه شده است."

اگر حداقل یکی از موارد زیر در مورد شما صدق می‌کند، ادامه مطلب را بخوانید، در غیر این صورت به سادگی از این دوره صرف نظر کنید:

"فرار از"

  1. کپی/پیست کردن کدی که نمی‌فهمید.
  2. استفاده از کتابخانه‌ها و فایل‌های هدر شخص ثالث مانند HAL، LL و StdPeriph.
  3. مواجهه با باگ‌هایی که درک نمی‌کنید.
  4. ترس از مستندات فنی مانند دفترچه راهنمای مرجع و دیتاشیت تراشه.
  5. سندروم فریبکار (Imposter syndrome).

"رسیدن به"

  1. ساختن هر خط کد از صفر با نوشتن مستقیم در فضای حافظه میکروکنترلر.
  2. عدم استفاده از کتابخانه‌ها یا فایل‌های هدر شخص ثالث.
  3. درک و نوشتن هر خط کد به صورت شخصی – بدون کپی/پیست.
  4. استفاده مؤثر از دیباگر برای تحلیل و رفع هر گونه باگ.
  5. توسعه مهارت در زمینه توسعه تعبیه‌شده و برداشتن گام‌های بعدی با اطمینان.

همانطور که گفتم، موضوع فراتر از صرفاً کار کردن هر قطعه کد است.

مروری بر آنچه دریافت می‌کنید…

  • تحلیل مستندات تراشه: قبل از توسعه فریمور برای هر تراشه، باید نحوه خواندن مستندات ارائه شده توسط سازنده تراشه را بیاموزید.
  • تعریف آدرس پریفرال: تمام اجزای روی میکروکنترلر دارای محدوده آدرس هستند. برای نوشتن یا خواندن از یک جزء، باید محدوده آدرس آن را در مستندات پیدا کرده و آدرس‌ها را به درستی در کد خود تعریف کنید.
  • ایجاد رجیسترها از آدرس‌ها: آدرس‌های موجود در محدوده آدرس یک جزء، نشان دهنده رجیسترهای آن جزء هستند. برای دسترسی به این رجیسترها باید آدرس‌ها را به طور مؤثر typecast کنید.
  • درک CMSIS: استاندارد رابط میکروکنترلر Cortex (CMSIS) استانداردی است که توسط Arm برای تمام میکروکنترلرهای Cortex توسعه یافته است. این استاندارد در توسعه فریمور حرفه‌ای استفاده می‌شود.

اما بهتر هم می‌شود چون شما همچنین دریافت می‌کنید…

درس‌های عمیق در مورد مفاهیم شیء‌گرایی

مانند:

  • پلی‌مورفیسم
  • وراثت
  • کپسوله‌سازی

به‌طور ویژه برای افرادی که از کپی/پیست متنفرند طراحی شده است

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

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

همچنین دارای گارانتی بازگشت وجه است، بنابراین هیچ ریسکی ندارید.


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

مقدمه Introduction

  • دانلود Keil uVision Downloading Keil uVision

  • نصب Keil uVision 5 Installing Keil uVision 5

  • نصب بسته‌ها (Packs) Installing Packs

  • مرور کلی Keil uVision 5 Overview of Keil uVision 5

  • تغییر کامپایلر Changing the Compiler

برنامه‌نویسی فریم‌ور به شیءگرایی Object-Oriented Firmware Programming

  • کدنویسی: توسعه درایور UART برای نظارت بر نتایج Coding : Developing a UART Driver for monitoring results

  • دانلود سورس کد Source Code Download

  • کدنویسی: ایجاد کلاس LED در C شیءگرا (بخش اول) Coding : Creating an LED class in Object-Oriented C (Part I)

  • کدنویسی: ایجاد کلاس LED در C شیءگرا (بخش دوم) Coding : Creating an LED class in Object-Oriented C (Part II)

  • کدنویسی: ایجاد کلاس LED در C++ Coding : Creating an LED class in C++

پیاده‌سازی وراثت در Embedded-C و C++ Implementing Inheritance in Embedded-C and C++

  • کدنویسی: ارث‌بری یک کلاس در C شیءگرا (بخش اول) Coding : Inheriting a Class in Object-Oriented C (Part 1)

  • کدنویسی: ارث‌بری یک کلاس در C شیءگرا (بخش دوم) Coding : Inheriting a Class in Object-Oriented C (Part 2)

  • کدنویسی: ارث‌بری یک کلاس در C شیءگرا (بخش سوم) Coding : Inheriting a Class in Object-Oriented C (Part 3)

  • کدنویسی: پیاده‌سازی وراثت در C++ Coding : Implementing Inheritance in C++

توسعه درایور و کتابخانه GPIO شیءگرا در C از ابتدا Developing an Object -Oriented GPIO Driver and Library in C From Scratch

  • کدنویسی: پیاده‌سازی ساختاری برای نگهداری رجیسترها Coding : Implementing a Structure to hold Registers

  • کدنویسی: پیاده‌سازی ساختار رجیسترهای RCC Coding : Implementing the RCC Registers Structure

  • کدنویسی: تست درایور Coding : Testing the Driver

  • کدنویسی: افزودن تمام پورت‌های GPIO به درایور Coding : Adding all GPIO Ports to the Driver

  • کدنویسی: ایجاد فایل‌های Interface و Implementation Coding : Creating the Interface and Implementation files

  • کدنویسی: پیاده‌سازی کتابخانه Coding : Implementing the Library

  • توجه Notice

  • کدنویسی: پیاده‌سازی توابع کتابخانه Coding : Implementing the Library Functions

  • کدنویسی: تست کتابخانه Coding : Testing the Library

پیاده‌سازی پلی‌مورفیسم در Embedded-C و C++ Implementing Polymorphism in Embedded-C and C++

  • کدنویسی: کلاس دیگر به فریم‌ور ما در C Coding : Another class to our firmware in C

  • کدنویسی: پیاده‌سازی پلی‌مورفیسم در C (بخش اول) Coding : Implementing Polymorphism in C (Part I )

  • کدنویسی: پیاده‌سازی پلی‌مورفیسم در C (بخش دوم) Coding : Implementing Polymorphism in C (Part II )

ویژگی‌های بیشتر ورودی/خروجی عمومی (GPIO) (اختیاری) More General Purpose Input/Output (GPIO) Features (Optional)

  • کدنویسی: گسترش کتابخانه GPIO برای مدیریت توابع جایگزین Coding : Extending the GPIO Library for handling Alternate Functions

توسعه درایور و کتابخانه GPIO شیءگرا در C++ از ابتدا Developing an Object -Oriented GPIO Driver and Library in C++ From Scratch

  • کدنویسی: توسعه کتابخانه ورودی/خروجی عمومی ما در C++ Coding : Developing our General Purpose Input / Output Library in C++

توسعه درایور و کتابخانه UART شیءگرا در C از ابتدا Developing an Object -Oriented UART Driver and Library in C From Scratch

  • کدنویسی: پیاده‌سازی ساختار رجیسترهای UART Coding : Implementing the UART Registers Structure

  • کدنویسی: توسعه درایور UART Coding : Developing the UART Driver

  • کدنویسی: توسعه کتابخانه UART (بخش اول) Coding : Developing the UART Library (PART I)

  • کدنویسی: توسعه کتابخانه UART (بخش دوم) Coding : Developing the UART Library (PART II)

  • کدنویسی: تست کتابخانه UART Coding : Testing the UART Library

توسعه کتابخانه UART شیءگرا در C++ از ابتدا Developing an Object -Oriented UART Library in C++ From Scratch

  • کدنویسی: توسعه کتابخانه UART در C++ Coding : Developing the UART Library in C++

توسعه کتابخانه تایمر SysTick شیءگرا در C از ابتدا Developing an Object -Oriented SysTick Timer Library in C From Scratch

  • کدنویسی: پیاده‌سازی ساختار رجیسترهای SysTick Coding : Implementing the SysTick Registers Structure

  • کدنویسی: تست درایور SysTick Coding : Testing the SysTick Driver

  • کدنویسی: پیاده‌سازی کتابخانه SysTick به زبان C Coding : Implementing the SysTick Library C

  • کدنویسی: پیاده‌سازی کتابخانه SysTick به زبان C++ Coding : Implementing the SysTick Library C++

راه‌اندازی گزینه ۲ - STM32CubeIDE Setting Up Option 2 - STM32CubeIDE

  • دانلود CubeIDE Download CubeIDE

  • راه‌اندازی STM32CubeIDE Setting Up STM32CubeIDE

  • نصب بسته‌ها Installing Packages

  • مرور کلی Overview

  • کدنویسی: نوشتن درایور GPIO از ابتدا (بخش اول) Coding : Writing a GPIO Driver from Scratch (PART I)

  • کدنویسی: نوشتن درایور GPIO از ابتدا (بخش دوم) Coding : Writing a GPIO Driver from Scratch (PART II)

پایان‌بندی Closing

  • نکات پایانی Closing Remarks

نمایش نظرات

آموزش برنامه‌نویسی شیءگرا در C برای سیستم‌های تعبیه‌شده
جزییات دوره
12.5 hours
45
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
4,148
4.3 از 5
ندارد
دارد
دارد
Israel Gbati
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Israel Gbati Israel Gbati

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