امروزه با پیشرفت دانش میکروالکترونیک، کمتر دستگاهی را میتوان یافت که در آن نشانهای از وجود یک سیستم نهفته یا بخشی از آن وجود نداشته باشد. قلب تپنده سیستمهای نهفته را پردازندههای به کار رفته در آنها تشکیل میدهند که در این بین میکروکنترلرهای خانواده STM32 به دلیل گستردگی منابع طراحی موجود برای آنها و همچنین در دسترس بودن بسیاری از آموزشهای مرتبط با راه اندازی بخشهای مختلف آنها، به جایگاه ویژهای دست یافتهاند. در این دوره به معرفی برنامهنویسی میکروکنترلرهای STM32 به شیوه Bare-Metal خواهیم پرداخت.
چرا روش Bare-Metal؟
چالشی که همواره متخصصان حوزه سیستمهای نهفته با آن دست به گریبان بودهاند، محدودیتهای موجود در منابع سخت افزاری در دسترس این سیستمها (همچون حجم حافظهها و قدرت پردازشی) میباشد که باعث شده تلاشهای بسیاری در جهت بهینه سازی برنامهها به منظور استفاده حداکثری از این منابع صورت گیرد. از طرفی رویکرد دیگری که در این زمینه به تازگی مورد توجه قرار گرفته است، استفاده از شیوههای جدید برنامه نویسی است که میتواند سبب ایجاد افزایش چشمگیر در سرعت اجرای برنامه و نیز کاهش حجم حافظه اشغال شده داشته باشد. برنامه نویسی میکروکنترلرهای STM32 به روش Bare-Metal یکی از همین روشهاست که در بین برنامه نویسان حرفهای میکروکنترلرها بسیار مورد توجه قرار گرفته است.
در این دوره چه می آموزیم؟
در این آموزش ضمن بررسی مقدمات و پیش نیازهای لازم، در فصلهای مختلف به بررسی نحوه پیاده سازی واحدهای مختلف میکروکنترلرهای خانواده STM32 با کمک این روش پرداختهایم. انتظار میرود در پایان این آموزش مخاطب علاوه بر یادگیری مفاهیم مطرح شده، مهارت کسب اطلاعات مورد نیاز در انجام یک پروژه از طریق منابعی همچون اینترنت، کتابها، برگههای داده و… را به دست آورده باشد.
چگونه می آموزید؟
در این دوره آموزشی سعی شده تا بیان مطالب به دور از پیچیدگی و با بیان مثالهای مختلف صورت بگیرد تا انتقال مطالب به مخاطب به درستی انجام شود. همچنین سعی شده تا ضمن حفظ چهارچوبهای اصلی دورههای آموزشی، از بیان مطالب به صورت خشک و بی روح دوری شود تا مخاطب این دوره بدون احساس خستگی مطالب را دنبال نماید. امیدواریم که این دوره آموزشی برای تک تک شما مفید واقع شود!
ویدئو های آموزشی STM32 Bare-Metal
در این روش بهجای استفاده از کتابخانههای آماده بهصورت مستقیم با استخراج اطلاعات لازم از دیتاشیت، برنامهنویسی را انجام میدهیم. چنانچه لازم باشد در پروژهای بهرهوری یا Performance سیستم را افزایش دهیم و یا با منابع محدود حافظه و پردازش دستبهگریبان باشیم، این روش برتری زیادی نسبت به سایر روشها خواهد داشت. همچنین به سبب کار مداوم با دیتاشیت میکروکنترلر در این روش، اطلاعات بسیار ارزندهای از ساختار داخلی و سختافزار میکروکنترلر کسب خواهیم کرد که در طراحی میتواند بسیار مورداستفاده واقع شود.
برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت اول - معرفی دوره
برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت دوم - نصب نرم افزارها
برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت سوم - سخت افزار
برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت چهارم - GPIO
برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت پنجم - UART
قسمت های بعدی، پس از آماده سازی، در همین صفحه و آپارات قرار خواهند گرفت.
سلام
آیا تو روش بارمتال، بعد از پیکره بندی رجیستری میکرو، مجاز به استفاده از کتابخونه های آماده مثل
کتابخونه های راه اندازی LCD
کتابخونه های کار با رشته
و …
هستیم؟
با تو این روش حتی واسه این ها هم خودمون باید کدنویسی کنیم؟
سلام دوست عزیز
بله مجاز هستیم و مشکلی نیست
گاها به دلیل پرفونس بهتر یا مقاصد آموزشی ممکنه نخوایم از کتابخانه هاي اماده استفاده کنیم
سلام خیلی عالی بود میشه لطفا بگید چطوری میتونیم سوالاتمون را بپرسیم(راه ارتباطی با شما؟)
سلام دوست عزیز
سوالاتتون رو میتونید داخل کامنت مطرح کنید.
یا داخل انجمن پرسش و پاسخ سیسوگ https://ask.sisoog.com/
همچنین از راه های ارتباطی مطرح شده در صفحه تماس با ما https://sisoog.com/contact-us/ نیز می تونید با ادمین سیسوگ در ارتباط باشید.
خیلی عالی بود لطفا بقیه رو هم ادامه بدید . من که خیلی بهره بردم . منتظر بقیه مطالب هستم
حتما دوست عزیز
یادتون نره سیسوگ رو به دوستانتون معرفی کنید
بی شک کار ارزشمند شما رو معرفی میکنم
با سلام
واقعا مفید و آموژنده بود
از عوامل سایت خواهشمندم پیگیر باشند این 10 جلسه کامل بشه
متشکرم
سلام دوست عزیز
متاسفانه تنها ۵ قسمت از اموزش ها توسط منتشر کننده منتشر شده و آموزش ادامه ندارد.
سلام .
بقیشو لطفا قرار بدید . هنوز خیلی دیگه کار داره تا مثل دوره های bare metal سایت های معتبر مثل udemy بشه . ولی یک نکته که در روش bare metal خیلی مهمه بحث الکترونیک و توسعه سخت افزاری هست . به نظرم توی دوره ی bare metal نباید از بورد آموزشی استفاده کرد . باید خود بورد متناسب با نیاز طراحی بشه . متاسفانه همه جا مرسوم شده که از بورد آماده استفاده کنن اما سوال اینجاست برای ساخت یک محصول میشه از بورد آموزشی آماده استفاده کرد ؟ آیا میشه توی دستگاهی که میخواهی به تولید انبوه برسونی یک بور آماده بذاری که حتی نمیتونی کوچیک ترین تغییری توش بدی ؟
سلام دوست عزیز متاسفانه دوستی که مطلب رو مینوشت در دسترس نیست
سلام جناب کاظمی
متاسفانه به دلیل مشغله های موجود قدری بین تهیه قسمت ها وقفه افتاده که انشاالله طی هفته آتی قسمت بعدی این آموزش بر روی کانال آپارات بارگذاری خواهد شد.
در مورد برد هم نکته نسبتا درستی رو مطرح کردید اما باید توجه داشت برنامه نویسی Bare metal با هدف نوشتن برنامه های نزدیک به سخت افزار و در لایه اپلیکیشن بررسی میشه و ارتباط چندانی به نوع برد مورد استفاده نداره.بدیهی هستش که شما با دونستن این متد میتونید برنامه ای که میخواید رو بر روی هر بردی(اعم از آماده یا custom) پیاده سازی کنید.در این آموزش هم هدف آشنایی با ساخت برد custom یا روش کار باهاشون نبوده و نیست و صرفا تمرکز بر متد برنامه نویسی خواهد بود.
دوست عزیز
ایشون آموزش کدنویسی دارن میدن
تیتر مطلب هم “آموزش برنامه نویسی” به روش bare metal
منطقی نیست تو این دوره، طراحی برد و آلتیوم آموزش بدن
سلام
در عکس مقاله bear نوشته شده!
تشکر
سلام ممنون تصحیح شد
مهندس این سبک همون کد نویسی ریجستری نیست؟