آیا از کپی کردن و چسباندن کدی که درک نمیکنید خسته شدهاید؟
در اینجا مروری بر آنچه در این دوره پیشرفته دریافت خواهید کرد آورده شده است...
توسعه درایورهای DMA بدون کتابخانه (Bare-Metal):
این دوره به طور کامل پیچیدگیهای رابط دسترسی مستقیم حافظه (DMA) را آشکار میکند. بیش از ۵۰٪ دوره به این موضوع اختصاص دارد، بنابراین تا پایان این دوره بر رابط DMA مسلط خواهید شد.
ما به طور کامل به توسعه درایورهای DMA بدون کتابخانه زیر خواهیم پرداخت:
توسعه درایورهای RTC بدون کتابخانه (Bare-Metal):
رابط ساعت زمان واقعی (RTC) یکی دیگر از رابطهای پیشرفته است که در این دوره توضیح داده میشود. ما نظریه ساعتهای زمان واقعی را مطالعه خواهیم کرد، قابلیتهای ساعت زمان واقعی روی میکروکنترلر خود را بررسی میکنیم و سپس درایورهای زیر را برای ساعت زمان واقعی توسعه میدهیم.
توسعه درایورهای تایمر Watchdog بدون کتابخانه (Bare-Metal):
تایمرهای Watchdog جزء ضروری هر دستگاه تعبیه شده (embedded) مستحکم هستند. به عقیده من، هیچ دستگاه تعبیه شدهای نباید بدون پیادهسازی تایمر Watchdog مستقل (IWDG) به بازار عرضه شود. در این دوره دلیل این عقیده را خواهید فهمید.
در این دوره درایورهای تایمر Watchdog زیر را توسعه خواهیم داد:
کار با حالت آمادهباش (Standby Mode) و بیدار شدن (Wakeup):
دانستن نحوه قرار دادن دستگاههای تعبیه شده خود در حالت کم مصرف و خروج از آن، توانایی شما را در توسعه راهکارهای تعبیه شده با مصرف بهینه انرژی به میزان قابل توجهی بهبود میبخشد. این دوره به شما میآموزد که چگونه دستگاه خود را با استفاده از روشهای مختلف در حالت آمادهباش قرار دهید و از آن خارج کنید.
به طور خاص، درایورهای زیر را توسعه خواهیم داد:
هنر اشکالزدایی (Debugging):
دانستن نحوه اشکالزدایی صحیح سفتافزار (firmware) شما باعث صرفهجویی در زمان و هزینه شما میشود و حتی ممکن است به دلیل سطح ناامیدی و استرسی که از آن اجتناب خواهید کرد، عمر شما را طولانی کند.
در این دوره جنبههای نظری اشکالزدایی را درک خواهید کرد، انواع مختلف اشکالزدایی مانند اشکالزدایی عملکردی (functional debugging) و اشکالزدایی عملکردی (performance debugging) را درک میکنید و ابزارها و روشهای مختلف مورد استفاده در سناریوهای مختلف را یاد میگیرید.
برخی از تکنیکهایی که بر آنها مسلط خواهید شد عبارتند از:
با رویکردی مبتنی بر برنامهنویسی، این دوره برای ایجاد پایهای مستحکم در توسعه سفتافزار بدون کتابخانه (bare-metal firmware development) برای میکروکنترلرهای مبتنی بر ARM طراحی شده است. هدف این دوره آموزش نحوه جستجو در مستندات مرجع میکروکنترلر و دیتاشیت برای استخراج اطلاعات صحیح برای ساخت حرفهای درایورهای رابط و سفتافزار است. برای دستیابی به این هدف، هیچ کتابخانهای در این دوره استفاده نمیشود، صرفاً برنامهنویسی C تعبیهشده بدون کتابخانه و دستکاری مستقیم رجیسترها.
با حفظ سادگی، این دوره با بردهای توسعه مختلف ARM Cortex-M ارائه میشود تا دانشجویان بتوانند تکنیکها را با استفاده از یک برد توسعه ARM Cortex-M انتخابی خود تمرین کنند. این نسخه از دوره از STMicroelectronics STM32F4-NUCLEO استفاده میکند که دارای میکروکنترلر ARM Cortex-M4 است.
این دوره سطح پیشرفته برای دوره مشهور جهانی Embedded Systems Bare-Metal Programming Ground Up™ (STM32) است. شما باید قبل از شرکت در این دوره، دوره Embedded Systems Bare-Metal Programming Ground Up™ (STM32) را گذرانده باشید.
با درک این موضوع، اجازه دهید به شما بگویم...
دقیقاً آنچه دریافت میکنید
این دوره با هر دورهای که تاکنون گذراندهاید تفاوت چشمگیری دارد زیرا بیشتر شبیه یک "راهنمای میدانی" حرفهای برای توسعه سفتافزار بدون کتابخانه STM32 است.
دلیل این امر این است که هیچ بخش اضافه یا بیمحتوایی وجود ندارد. مستقیماً به موضوع اصلی میپردازد و به شما نشان میدهد دقیقاً چه کاری را چگونه انجام دهید و چرا.
به علاوه، این کار آسان است.
و شما بلافاصله تمام اسطورههایی را که من شخصاً برای ساخت سفتافزار برای دستگاههای مصرفی در زندگی حرفهای خود استفاده میکنم، "درک خواهید کرد".
این صرفاً فراتر از کار کردن کد است
ببینید، این دوره زندگی حرفهای شما را برای همیشه تغییر خواهد داد. در اینجا گفته یکی از دانشجویان درباره دوره Embedded Systems Bare-Metal Programming Ground Up™ (STM32) آمده است:
"من این دوره را به همه مبتدیان پیشنهاد میکنم. مفاهیم در توالی درست پوشش داده شدهاند. و بهترین بخش این مجموعه سخنرانی، یادگیری نحوه کاوش مستندات مرجع و دیتاشیتها است."
در اینجا گفته یکی دیگر از دانشجویان آمده است:
"برای درک عمیقتر برنامهنویسی میکروکنترلر بسیار بسیار مفید است! از این پس برای من توسعه کد بسیار آسانتر شده است زیرا پایه و اساس آن را درک میکنم، بنابراین برای توسعه و اشکالزدایی کد با اطمینان و تجربه بیشتری عمل میکنم. واقعاً، این دوره برای پیوند دادن دانش سختافزار با مهارتهای کدنویسی بسیار مفید است. این شکاف بین آنها را پر میکند. از آن سپاسگزارم! :)"
یک دانشجوی سوم:
"من یک مهندس کاربر تراشه نیمههادی حرفهای با ۳۰ سال تجربه در طراحی محصول تعبیه شده در سراسر جهان در برنامههای سیستمی هستم. میتوانم بگویم این معلم با قلب واقعی خود دانش سالهای زیادی را به دانشجویان منتقل میکند. بله. من سرعت و سبک تدریس او را دوست دارم!"
توسط بیش از ۸۰۰۰ دانشجو با بیش از ۱۰۰۰ نقد و بررسی گذرانده شده است
اگر حداقل یکی از موارد زیر در مورد شما صدق میکند، ادامه مطلب را بخوانید، در غیر این صورت به سادگی از این دوره بگذرید:
"فرار از"
"رسیدن به"
پس همانطور که گفتم، چیزهای بیشتری از صرف کار کردن هر قطعه کد وجود دارد.
این دوره مخصوص کسانی طراحی شده است که از کپی/چسباندن متنفرند
گوش کنید. اگر "کپی/چسباندن" را دوست ندارید، تنها نیستید. من هم از آن متنفرم. من ترجیح میدهم قطعه کدی داشته باشم که خودم از ابتدا نوشتهام و کار نمیکند تا کد کار شده دیگران که کپی و چسباندهام.
و به همین دلیل است که من ماهها صرف طراحی و ضبط این دوره کردهام که در آن به شما نشان میدهم چگونه هر رجیستر مورد استفاده را پیدا کنید و معنی هر مقدار هگزادسیمال نوشته شده در رجیستر را بدانید.
همچنین این دوره با ضمانت بازگشت وجه ارائه میشود، بنابراین چیزی برای از دست دادن ندارید.
Israel Gbati
Embedded Firmware Engineer نام من اسرائیل است ، من بیش از 7 سال است که در فضای سیستم جاسازی شده تحقیق و کار می کنم. در Udemy ده ها هزار دانش آموز در سیستم های جاسازی شده با تمرکز بر موضوعاتی مانند برنامه نویسی Assembly ، طراحی سیستم عامل های زمان واقعی ، توسعه سیستم عامل و پردازش سیگنال دیجیتال آموزش داده ام. من قادر به آموزش این مباحث هستم زیرا در کارهای روزمره مفاهیمی را از این مباحث استفاده می کنم. به یکی از دوره های من بپیوندید و ببینید چطور پیش می رود. همیشه می توانید درخواست بازپرداخت کنید.
BHM Engineering Academy
آکادمی مهندسی قرن بیست و یکم
نمایش نظرات