توضیحات
دوره Mastering Embedded ‘Systems programming’ on ARM Cortex-M4. بررسی عمیق معماری ARM Cortex M4 و برنامه نویسی سیستم ها با برد STM32F411 Discovery با زنجیره ابزار GNU ARM Cross . درک مدل برنامه نویسان، IDE (محیط توسعه یکپارچه). بحث های تفصیلی، مطالعه عمیق دیتاشیت ها و کتابچه های مرجع، دموها و مطالعات موردی در مورد دسترسی به حافظه و مشکلات آن (روش های مختلف مانند ماکروها با افست ها و ساختارها)، فرآیند جمع آوری و پیوند، زیرسیستم ورودی/خروجی، وقفه ها (هر دو غیر شناور و غیر شناور). نقطه شناور) و پیکربندی درخت ساعت با بحث عمیق در مورد مدار PLL و عملکرد. نمایش اسلاید، راهنمای کد، وایت برد و جلسات رفع اشکال بخشی جدایی ناپذیر از دوره هستند . موضوعات خاصی در سیستم های جاسازی شده به ویژه برای میکروکنترلرهای پیشرفته وجود دارد که چالش های منحصر به فردی را ایجاد می کند.
- فرآیند دستکاری حافظه به طور مستقیم بر روی یک میکروکنترلر یا از طریق ماکروها یا از طریق نشانگرهای ساختار
- اشاره گر برای سیستم های تعبیه شده اگرچه شبیه به همتایان ایستگاه کاری خود به نظر می رسند، اما تفاوت های ظریفی وجود دارد که در صورت عدم رسیدگی دقیق می تواند برنامه را خراب کند.
- در توسعه سفتافزار تعبیهشده، از آنجایی که کارایی برنامه، جبرگرایی، کارایی انرژی، اندازه حافظه، نوشتن برنامههای C کارآمد و پیگیری کد اسمبلی کامپایلشده از C/C++ از اهمیت بالایی برخوردار است.
- فرآیند مدیریت وقفه پیچیده است و فریمهای پشته ایجاد شده، بین پیادهسازیهایی مانند انباشتن نقطه شناور و انباشته شدن و برداشتن نقطه شناور متفاوت است. پیشگیرانه وقفه یک ویژگی پیچیده است و باید با دقت مورد استفاده قرار گیرد.
- فرآیند Linking and Make نیز به شدت اشتباه گرفته شده است. موضوعات فایل های شی، جابجایی، وضوح نماد چالش های منحصر به فردی را ایجاد می کند و اطلاعات تلفیقی در مورد آنها کمیاب است.
- فرمتهای فایل شیء نیز یک ناحیه خاکستری هستند که در هنگام درک فرآیند پیوند باعث ناراحتی زیادی میشوند. درک جداول مختلف در فایل شی مانند جدول نمادها، جدول جابجایی بدون راهنمایی مناسب دشوار است.
- پیکربندی پین ورودی/خروجی نیز در صورتی که الکتریسیته و مدار پین ها به خوبی درک نشود، چالش هایی را ایجاد می کند. پیکربندی های متعددی وجود دارد که در آن هر پایه یک میکروکنترلر می تواند مانند تخلیه باز، فشار کش، امپدانس بالا و غیره عمل کند.
- درخت ساعت برای یک میکروکنترلر سطح بالا نیز بسیار پیچیده است. منابع ساعت متعدد که ساعت ها را به زیرسیستم های مختلف تغذیه می کنند، منحنی یادگیری اولیه را بسیار شیب دار می کند. فراتر از آن، ساعت های فرکانس بالا توسط PLL ها هدایت می شوند که خود مدارهای پیچیده ای هستند و در هنگام پیکربندی آنها نیاز به درک خوبی دارند.
- راه اندازی پردازنده می تواند مشکل باشد، به خصوص قسمتی که حافظه پس از هر بار تنظیم مجدد تنظیم می شود. درک بخشهای .text، .data، .bss و تنظیم صحیح آنها در هنگام راهاندازی چالشهای منحصربهفردی را ایجاد میکند.
در این دوره سعی می کنم به تمام چالش های بالا با تئوری، نمودارها، انیمیشن و کد رسیدگی کنم. دموهای زیادی برای توضیح مفاهیم دشوار وجود دارد. من تمام مفاهیم را از طریق جلسات اشکال زدایی گسترده در IDE پاک کردم و در عین حال زیرسیستم های مختلف کنترلر را در زمان واقعی بازرسی کردم. من اقدامات زیر را برای رفع چالش ها انجام داده ام
- دسترسی به حافظه و عملیات به روش های مختلف مانند ماکروها و ساختارها. من مفاهیم را به تدریج ایجاد کردم تا اینکه به شکل نهایی عبارات رسیدم. من نمونه هایی از دسترسی نادرست به حافظه از طریق ساختارها و کاهش آنها را نشان داده ام. عملیات بیتی در زمان واقعی در دیباگر بررسی شده است.
- برای درک فرآیند پیوند، نمونههای کد ایجاد کردم و ابتدا به صورت دستی هر فایل منبع را کامپایل کردم و به فایلهای شی ELF، جداول نمادها و جداول جابجایی همراه با جداسازی قطعات نگاه کردم. هنگامی که فایل ها در یک فایل شی منفرد توسط پیوند دهنده کامپایل می شوند، وضوح نماد و جابجایی کد و نماد با نگاه کردن به فایل شی نهایی به وضوح توضیح داده می شود. فایل اسکریپت لینکر با نمودارهای قبل و بعد از راه اندازی اولیه حافظه به تفصیل توضیح داده شده است.
- یک جلسه اشکال زدایی گسترده از فرآیند راه اندازی که نحوه تنظیم حافظه را پردازنده در زمان واقعی توضیح می دهد. کنترل کننده بازنشانی در C توضیح داده شده و نشان داده شده است. فرآیند اولیه سازی بخش .data در RAM و راه اندازی بخش و پشته .bss با جزئیات کامل نشان داده شده است.
- فرآیند Make با استفاده از چندین Makefiles توضیح داده می شود که هر کدام با پیچیدگی اندکی در هر کدام افزایش می یابد، تا زمانی که فایل make-file نهایی نوشته شده و به طور کامل توضیح داده شود. نمودار وابستگی ساخت توضیح داده شده است و بسیاری از سناریوهای خطای احتمالی در make مورد بحث قرار گرفته اند تا توضیح دهند که چگونه Makefiles را با آن مقابله می کند. این یک رفتار جامع و شایسته از Make است که به توسعه دهندگان کمک می کند تا قالب هایی را برای سیستم های عمیق تعبیه شده بنویسند.
- مدیریت وقفه به همراه تئوری با جزئیات نشان داده شده است. نمایش و تئوری مدیریت وقفه و پیش گرفتن برای پیکربندی غیر شناور و ممیز شناور. مفاهیمی مانند انباشتن تنبل در دیباگر توضیح داده شده و نشان داده می شود.
- درخت ساعت به تفصیل توضیح داده شده است. محاسبات PLL برای تنظیم فرکانس. تئوری عملکرد PLL با توضیح زیر سیستم های مختلف PLL مانند نوسانگر کنترل کننده ولتاژ، تقسیم کننده فرکانس، آشکارساز فرکانس فاز، فیلتر پایین گذر با تصاویر، انیمیشن ها و نمودارهای زمان بندی. نشان دادن مقداردهی اولیه رجیسترها در زیرسیستم درخت ساعت در دیباگر.
- مدار ورودی/خروجی و سپس پیکربندی پین های ورودی/خروجی. همه حالتهای پین مانند عملکردهای فشاری، تخلیه باز، آنالوگ و جایگزین توضیح داده شدهاند.
آنچه که در دوره Mastering Embedded ‘Systems programming’ on ARM Cortex-M4 فرا خواهید گرفت
- ARM Cortex-M4 Core در STM32F411 Discovery Board را بشناسید. برگه های داده و راهنمای راهنمای مرجع
- استفاده مستقل (بدون نیاز به IDE) از زنجیره ابزار جاسازی شده GNU ARM را بیاموزید
- Cube IDE (با پروژه های Makefile) و برنامه نویس CUBE
- اصول دستورات ARM GNU Debugger (ARM GDB) همراه با مثال
- C تعبیه شده برای کنترلرهای 32 بیتی. روش های مختلف ثبت و دسترسی به حافظه، عملیات بیتی، اسمبلی درون خطی
- نحوه استفاده از هدر نقشه حافظه CMSIS را بیاموزید
- در زیرسیستم ساعت غوطه ور شوید، در مورد عملکرد PLL، پیکربندی فلزی برهنه درخت ساعت و PLL، بدون استفاده از هیچ ابزار پیکربندی بیاموزید.
- مکانیزم وقفه را با جزئیات از طریق دموهای گسترده درک کنید. ایجاد پشته و Teardown را برای هر دو حالت ممیز شناور و غیر شناور درک کنید
- با مثالهایی که روی اشکالزدا اجرا میشوند، preemption را قطع کنید
- اطلاعات تکمیلی زیادی در مورد موضوعاتی مانند Lazy Stacking، padding دو کلمه، دستورالعملهای مانع حافظه و غیره با نسخههای نمایشی ارائه شده است.
- نحوه تنظیم جدول برداری استثنا را از راهنمای مرجع بیاموزید. با تفاوت بین استثناها و وقفه ها آشنا شوید
- هنگام راه اندازی، یاد بگیرید که چگونه متغیرهای اولیه را از Flash به SRAM کپی کنید. هنگام اشکالزدایی، مناطق حافظه پشته و bss را با مثالها و نماهای حافظه زنده تنظیم کنید
- وقفه های SysTick و EXTI را تنظیم و پیکربندی کنید
- فرمت فایل شی ELF را درک کنید. از طریق دستورات objdump (برای ARM) و readelf به فایل های شی نگاه کنید تا فرمت ELF را با جزئیات بررسی کنید.
- شیرجه عمیق به مکانیزم لینکر. با بررسی جداول نمادها، جداول جابجایی و موارد دیگر درباره جابجایی و وضوح نمادها بیاموزید.
- درک نحوه مدیریت متغیرهای جهانی توسط کامپایلر و لینکر. ویژگی های متغیرهای لینکر و نحوه استفاده از آنها را بدانید
- VMA (آدرس حافظه مجازی) و LMA (آدرس حافظه بارگذاری). درک کنید که چگونه VMA و LMA از طریق اسکریپت های لینکر کنترل می شوند
- اسکریپت های لینکر را برای پیکربندی حافظه های مختلف بنویسید که از دانش مکانیزم لینکر ناشی می شود
- مکانیسم Make را از طریق مثال های متعدد با پیچیدگی فزاینده درک کنید. نحوه عملکرد درخت وابستگی را درک کنید
- Makefiles نسبتاً پیچیده بنویسید
- با زیرسیستم GPIO، مدار پین های ورودی/خروجی آشنا شوید. حالت های مختلف پین مانند تخلیه باز، کشش فشاری، عملکردهای جایگزین و کشش داخلی را بیاموزید
این دوره مناسب افرادیست که
- دانش آموختگان رشته علوم کامپیوتر، برق و الکترونیک و فارغ التحصیلان تازه وارد به دنبال شغلی در سیستم های جاسازی شده
- متخصصان شاغل به دنبال ارتقاء به یک کنترلر ARM Cortex-M4 از همتایان 8 بیتی یا 16 بیتی هستند.
- علاقمندان و علاقه مندان به برنامه نویسی بره فلز در میکروکنترلر STM32F4
مشخصات دوره Mastering Embedded ‘Systems programming’ on ARM Cortex-M4
- ناشر: Udemy
- مدرس: Diptopal Basu
- سطح آموزش: مبتدی تا پیشرفته
- مدت زمان آموزش: 27 ساعت و 29 دقیقه
- تعداد دروس: 58
سرفصل های دوره Mastering Embedded ‘Systems programming’ on ARM Cortex-M4 در تاریخ 2023/8
پیشنیازهای دوره Mastering Embedded ‘Systems programming’ on ARM Cortex-M4
- Basic microcontroller knowledge is a must, at least knowledge of any 8-bit controller, better still if you are aware of any 16-bit architecture
- Good knowledge of Binary and Hexadecimal number systems is a must
- Intermediate knowledge of C programming and basic pointer, data structure and bitwise operator concepts are a must
- Knowledge of embedded C is not needed, as necessary embedded C will be tackled in the course itself
- Knowledge of basic Analog and Digital electronics is good to have
- STM32F411 Discovery Board and Mini USB cable needed to follow the course
تصاویر دوره
نمونه فیلم دوره
راهنمای نصب
پس از Extract، با Player دلخواه خود مشاهده کنید.
زیرنویس: ندارد
کیفیت: 720p
لینک دانلود
گذرواژه فایل(ها): www.downloadly.ir
حجم فایل
14.9 گیگابایت














































