🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش برنامهنویسی شیءگرا در 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 در سیستمهای تعبیه شده است."
اگر حداقل یکی از موارد زیر در مورد شما صدق میکند، ادامه مطلب را بخوانید، در غیر این صورت به سادگی از این دوره صرف نظر کنید:
"فرار از"
کپی/پیست کردن کدی که نمیفهمید.
استفاده از کتابخانهها و فایلهای هدر شخص ثالث مانند HAL، LL و StdPeriph.
مواجهه با باگهایی که درک نمیکنید.
ترس از مستندات فنی مانند دفترچه راهنمای مرجع و دیتاشیت تراشه.
سندروم فریبکار (Imposter syndrome).
"رسیدن به"
ساختن هر خط کد از صفر با نوشتن مستقیم در فضای حافظه میکروکنترلر.
عدم استفاده از کتابخانهها یا فایلهای هدر شخص ثالث.
درک و نوشتن هر خط کد به صورت شخصی – بدون کپی/پیست.
استفاده مؤثر از دیباگر برای تحلیل و رفع هر گونه باگ.
توسعه مهارت در زمینه توسعه تعبیهشده و برداشتن گامهای بعدی با اطمینان.
همانطور که گفتم، موضوع فراتر از صرفاً کار کردن هر قطعه کد است.
مروری بر آنچه دریافت میکنید…
تحلیل مستندات تراشه: قبل از توسعه فریمور برای هر تراشه، باید نحوه خواندن مستندات ارائه شده توسط سازنده تراشه را بیاموزید.
تعریف آدرس پریفرال: تمام اجزای روی میکروکنترلر دارای محدوده آدرس هستند. برای نوشتن یا خواندن از یک جزء، باید محدوده آدرس آن را در مستندات پیدا کرده و آدرسها را به درستی در کد خود تعریف کنید.
ایجاد رجیسترها از آدرسها: آدرسهای موجود در محدوده آدرس یک جزء، نشان دهنده رجیسترهای آن جزء هستند. برای دسترسی به این رجیسترها باید آدرسها را به طور مؤثر 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
Embedded Firmware Engineer نام من اسرائیل است ، من بیش از 7 سال است که در فضای سیستم جاسازی شده تحقیق و کار می کنم. در Udemy ده ها هزار دانش آموز در سیستم های جاسازی شده با تمرکز بر موضوعاتی مانند برنامه نویسی Assembly ، طراحی سیستم عامل های زمان واقعی ، توسعه سیستم عامل و پردازش سیگنال دیجیتال آموزش داده ام. من قادر به آموزش این مباحث هستم زیرا در کارهای روزمره مفاهیمی را از این مباحث استفاده می کنم. به یکی از دوره های من بپیوندید و ببینید چطور پیش می رود. همیشه می توانید درخواست بازپرداخت کنید.
نمایش نظرات