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

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

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

امروزه با پیشرفت دانش میکروالکترونیک، کمتر دستگاهی را می‌توان یافت که در آن نشانه‌ای از وجود یک سیستم نهفته یا بخشی از آن وجود نداشته باشد. قلب تپنده سیستم‌های نهفته را پردازنده‌های به کار رفته در آنها تشکیل می‌دهند که در این بین میکروکنترلرهای خانواده STM32 به دلیل گستردگی منابع طراحی موجود برای آنها و همچنین در دسترس بودن بسیاری از آموزش‌های مرتبط با راه اندازی بخش‌های مختلف آنها، به جایگاه ویژه‌ای دست یافته‌اند. در این دوره به معرفی برنامه‌نویسی میکروکنترلرهای STM32 به شیوه Bare-Metal خواهیم پرداخت.

 

چرا روش Bare-Metal؟

چالشی که همواره متخصصان حوزه سیستم‌های نهفته با آن دست به گریبان بوده‌اند، محدودیت‌های موجود در منابع سخت افزاری در دسترس این سیستم‌ها (همچون حجم حافظه‌ها و قدرت پردازشی) می‌باشد که باعث شده تلاش‌های بسیاری در جهت بهینه سازی برنامه‌ها به منظور استفاده حداکثری از این منابع صورت گیرد. از طرفی رویکرد دیگری که در این زمینه به تازگی مورد توجه قرار گرفته است، استفاده از شیوه‌های جدید برنامه نویسی است که می‌تواند سبب ایجاد افزایش چشمگیر در سرعت اجرای برنامه و نیز کاهش حجم حافظه اشغال شده داشته باشد. برنامه نویسی میکروکنترلرهای STM32 به روش Bare-Metal یکی از همین روش‌هاست که در بین برنامه نویسان حرفه‌ای میکروکنترلرها بسیار مورد توجه قرار گرفته است.

 

در این دوره چه می آموزیم؟

در این آموزش ضمن بررسی مقدمات و پیش نیازهای لازم، در فصل‌های مختلف به بررسی نحوه پیاده سازی واحدهای مختلف میکروکنترلرهای خانواده STM32 با کمک این روش پرداخته‌ایم. انتظار می‌رود در پایان این آموزش مخاطب علاوه بر یادگیری مفاهیم مطرح شده، مهارت کسب اطلاعات مورد نیاز در انجام یک پروژه از طریق منابعی همچون اینترنت، کتاب‌ها، برگه‌های داده و… را به دست آورده باشد.

 

دوره آموزشی STM8 سیسوگ را نیز از دست ندهید:

آموزش stm8

 

چگونه می آموزید؟

در این دوره آموزشی سعی شده تا بیان مطالب به دور از پیچیدگی و با بیان مثال‌های مختلف صورت بگیرد تا انتقال مطالب به مخاطب به درستی انجام شود. همچنین سعی شده تا ضمن حفظ چهارچوب‌های اصلی دوره‌های آموزشی، از بیان مطالب به صورت خشک و بی روح دوری شود تا مخاطب این دوره بدون احساس خستگی مطالب را دنبال نماید. امیدواریم که این دوره آموزشی برای تک تک شما مفید واقع شود!

 

ویدئو های آموزشی STM32 Bare-Metal

در این روش به‌جای استفاده از کتابخانه‌های آماده به‌صورت مستقیم با استخراج اطلاعات لازم از دیتاشیت، برنامه‌نویسی را انجام می‌دهیم. چنانچه لازم باشد در پروژه‌ای بهره‌وری یا Performance سیستم را افزایش دهیم و یا با منابع محدود حافظه و پردازش دست‌به‌گریبان باشیم، این روش برتری زیادی نسبت به سایر روش‌ها خواهد داشت. همچنین به سبب کار مداوم با دیتاشیت میکروکنترلر در این روش، اطلاعات بسیار ارزنده‌ای از ساختار داخلی و سخت‌افزار میکروکنترلر کسب خواهیم کرد که در طراحی می‌تواند بسیار مورداستفاده واقع شود.

 

برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت اول  – معرفی دوره

 

برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت دوم – نصب نرم افزارها

 

برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت سوم – سخت افزار

 

برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت چهارم – GPIO

 

برنامه نویسی میکروکنترلر STM32 به روش Bare-Metal | قسمت پنجم – UART

 

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

3 نفر

پــــســنــدیـده انـد

توجه

سعید حقیقی پور
سعید حقیقی پور

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

دیدگاه ها

8 دیدگاه

  • احمد
    ۲۱ تیر ۱۴۰۱

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

    • Zeus ‌
      Zeus ‌
      ۲۹ تیر ۱۴۰۱

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

  • حامد کاظمی
    ۱۱ آذر ۱۴۰۰

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

    • Zeus ‌
      Zeus ‌
      ۵ اردیبهشت ۱۴۰۱

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

    • سعید حقیقی پور
      سعید حقیقی پور
      ۹ اردیبهشت ۱۴۰۱

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

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

  • reza
    ۱۸ مهر ۱۴۰۰

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

  • blue_pulse
    ۱۴ مهر ۱۴۰۰

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

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک