ARM, STM32, برنامه نویسی, توصیه شده

آموزش برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal ویدئویی

آموزش برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal ویدئویی

امروزه با پیشرفت دانش میکروالکترونیک، کمتر دستگاهی را می‌توان یافت که در آن نشانه‌ای از وجود یک سیستم نهفته یا بخشی از آن وجود نداشته باشد. قلب تپنده سیستم‌های نهفته را پردازنده‌های به کار رفته در آنها تشکیل می‌دهند که در این بین میکروکنترلرهای خانواده 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

 

قسمت های بعدی، پس از آماده سازی، در همین صفحه و آپارات قرار خواهند گرفت.

author-avatar

درباره سعید حقیقی پور

تا حالا به این فکر کردین که تو یه سیستم کامپیوتری GPU چقدر کارآمد و مهمه ولی به اندازه CPU شناخته شده نیست.یه جورایی همون "مجهولون فی الارض معروفون فی السماء" که میگن! یه حسی بهم میگه کاش بتونم مثه GPU باشم :)

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

16 دیدگاه در “آموزش برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal ویدئویی

  1. Avatar for علی رضا علی رضا گفت:

    سلام
    آیا تو روش بارمتال، بعد از پیکره بندی رجیستری میکرو، مجاز به استفاده از کتابخونه های آماده مثل
    کتابخونه های راه اندازی LCD
    کتابخونه های کار با رشته
    و …
    هستیم؟
    با تو این روش حتی واسه این ها هم خودمون باید کدنویسی کنیم؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام دوست عزیز
      بله مجاز هستیم و مشکلی نیست
      گاها به دلیل پرفونس بهتر یا مقاصد آموزشی ممکنه نخوایم از کتابخانه هاي اماده استفاده کنیم

  2. Avatar for مریم مریم گفت:

    سلام خیلی عالی بود میشه لطفا بگید چطوری میتونیم سوالاتمون را بپرسیم(راه ارتباطی با شما؟)

    1. Avatar for Shadow Shadow گفت:

      سلام دوست عزیز
      سوالاتتون رو میتونید داخل کامنت مطرح کنید.
      یا داخل انجمن پرسش و پاسخ سیسوگ https://ask.sisoog.com/
      همچنین از راه های ارتباطی مطرح شده در صفحه تماس با ما https://sisoog.com/contact-us/ نیز می تونید با ادمین سیسوگ در ارتباط باشید.

  3. Avatar for علیرضا علیرضا گفت:

    خیلی عالی بود لطفا بقیه رو هم ادامه بدید . من که خیلی بهره بردم . منتظر بقیه مطالب هستم

    1. Avatar for elahe elahe گفت:

      حتما دوست عزیز
      یادتون نره سیسوگ رو به دوستانتون معرفی کنید

      1. Avatar for علیرضا علیرضا گفت:

        بی شک کار ارزشمند شما رو معرفی میکنم

  4. Avatar for احمد احمد گفت:

    با سلام
    واقعا مفید و آموژنده بود
    از عوامل سایت خواهشمندم پیگیر باشند این 10 جلسه کامل بشه
    متشکرم

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام دوست عزیز
      متاسفانه تنها ۵ قسمت از اموزش ها توسط منتشر کننده منتشر شده و آموزش ادامه ندارد.

  5. Avatar for حامد کاظمی حامد کاظمی گفت:

    سلام .
    بقیشو لطفا قرار بدید . هنوز خیلی دیگه کار داره تا مثل دوره های bare metal سایت های معتبر مثل udemy بشه . ولی یک نکته که در روش bare metal خیلی مهمه بحث الکترونیک و توسعه سخت افزاری هست . به نظرم توی دوره ی bare metal نباید از بورد آموزشی استفاده کرد . باید خود بورد متناسب با نیاز طراحی بشه . متاسفانه همه جا مرسوم شده که از بورد آماده استفاده کنن اما سوال اینجاست برای ساخت یک محصول میشه از بورد آموزشی آماده استفاده کرد ؟ آیا میشه توی دستگاهی که میخواهی به تولید انبوه برسونی یک بور آماده بذاری که حتی نمیتونی کوچیک ترین تغییری توش بدی ؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام دوست عزیز متاسفانه دوستی که مطلب رو مینوشت در دسترس نیست

    2. Avatar photo سعید حقیقی پور گفت:

      سلام جناب کاظمی

      متاسفانه به دلیل مشغله های موجود قدری بین تهیه قسمت ها وقفه افتاده که انشاالله طی هفته آتی قسمت بعدی این آموزش بر روی کانال آپارات بارگذاری خواهد شد.
      در مورد برد هم نکته نسبتا درستی رو مطرح کردید اما باید توجه داشت برنامه نویسی Bare metal با هدف نوشتن برنامه های نزدیک به سخت افزار و در لایه اپلیکیشن بررسی میشه و ارتباط چندانی به نوع برد مورد استفاده نداره.بدیهی هستش که شما با دونستن این متد میتونید برنامه ای که میخواید رو بر روی هر بردی(اعم از آماده یا custom) پیاده سازی کنید.در این آموزش هم هدف آشنایی با ساخت برد custom یا روش کار باهاشون نبوده و نیست و صرفا تمرکز بر متد برنامه نویسی خواهد بود.

    3. Avatar for علی صادقی علی صادقی گفت:

      دوست عزیز
      ایشون آموزش کدنویسی دارن میدن
      تیتر مطلب هم “آموزش برنامه نویسی” به روش bare metal
      منطقی نیست تو این دوره، طراحی برد و آلتیوم آموزش بدن

  6. Avatar for reza reza گفت:

    سلام
    در عکس مقاله bear نوشته شده!
    تشکر

    1. Avatar for Sisoog Os Sisoog Os گفت:

      سلام ممنون تصحیح شد

  7. Avatar for blue_pulse blue_pulse گفت:

    مهندس این سبک همون کد نویسی ریجستری نیست؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *