کار با نرم افزار STM32CubeMX

سلام… بعد از یه تاخیر از امروز میخوام به صورت تخصصی تر در مورد میکروکنترلر های شرکت ST صحبت کنم .

شرکت ST یک شرکت تولید نیمه هادی چند ملیتی هست که عمده معروفیتش به خاطر میکرو های stm32 است و چند سالی هم به دلیل کیفیت خوب محصولاتش در صنعت مورد توجه مهندس های ایرانی قرار گرفته است  . علاوه بر کیفیت, فراوانی محصولات , فراوانی مستندات و راحتی کار با میکرو ها باعث شده تا گرایش به میکرو های این شرکت بیشتر باشد. ارئه کتابخانه HAL و برنامه STM32CubeMX از جمله مواردی هستند که من بهشون میگم راحتی!

کار با نرم افزار STM32CubeMX

خب من اینجا میخوام نحوه شروع کار با نرم افزار STM32CubeMX رو توضیح بدم . این نرم افزار شما رو از خیلی از پیکر بندی های سخت و بی مورد اولیه جدا می کنه و اجازه میده در وقتتون صرفه جویی کنید در حالی که تمام این کار ها به بهترین نحو توسط این برنامه انجام میشه .

خب بیاید این برنامه خوب رو دانلود کنیم و بیشتر بشناسیم .

برای دانلود آخرین نسخه این نرم افزار می تونید از  سایت خود شرکت ST استفاده کنید .

STM32CubeMX

بعد از دانلود و نصب این برنامه شما فقط یک برنامه خالی دارید !شرکت ST برای هر مدل از میکرو های خود (L0,L1,F0,F1,F2,F3,F4,F7) یک پکیج(STM32Cube) ارائه می کند که شامل کتابخانه CMSIS , کتابخانه HAL , مشخصات همه برد ها و میکرو ها و مثال های کاربردی است .مثال های کاربردی یکی دیگه از مواردی هست که من بهشون میگم راحتی کار!

حتما در ادامه این مطلب را هم بخوانید:  آموزش میکروکنترلرهای LPC1768 جلسه نهم: وقفه GPIO

برای دانلود این پکیج ها هم می توانید از طریق وبسایت این کار رو انجام دهید هم به صورت مستقیم از خود برنامه CubeMX.

من شخصا ترجیح میدم از داخل خود برنامه این کار رو انجام بدم که بدین صورت می شه:

از منو Help گزینه Install New Libraries رو انخاب می کنیم و صفحه ای به شکل زیر باز می شه

شما از اینجا میتونید Firmware مخصوص خانواده میکرو خودتون رو دانلود و نصب کنید یا اگر از سایت دانلود کردید از گزینه From local برای باز کردن  آن در برنامه CubeMx استفاده کنید .

اگر تا اینجا به مشکل نخوردید پس می تونیم اولین پروژه را در این نرم افزار بسازیم .پس در صفحه اصلی گزینه New Project را اننتخاب میکنیم تا به صفحه ای به شکل زیر برسیم.

منوی جست و جوی میکرو و برد

اگر هنوز میکرو یا بردی که قراره باهاش کار کنید رو نخریدید و به دنبال یک گزینه خوب با قسمت هایی که نیاز دارید هستید این بخش یک مکان فوق العاده برای شما است اما هدف این پست جست و جو برای انتخاب میکرو نیست و فرص من اینه که شما برد یا میکرو دارید . بردی که من استفاده می کنم یک STM32f746G-Disco است پس از منو Board Selector و بعد از انتخاب Discovery از منو Type of Board, برد خودم رو انتخاب می کنم (شما اینکار رو برای برد یا میکرو خودتون انجام بدید).

حتما در ادامه این مطلب را هم بخوانید:  ساختمان یا استراکچر (struct) در زبان برنامه نویسی C

پس از انتخاب میکرو با این صحفه یا صفحه ای شبیه به این برخورد می کنید

در این صفحه (Pinout) اولین چیزی که به چشم میخورد پایه های میکرو شما است که به رنگ های مختلف در آمده ! دلیل این رنگ ها حالت اولیه میکرو است. شما میتونید از طریق گزینه Clear Pinouts از منو Pinout همه را پاک کنید

در قسمت سمت چپ Middleware و Prepherals رو مشاهده میکنید . همه قسمت های میکرو در این بخش وجود دارد که برای استفاده از انها فقط نیاز به چند کلیک ساده دارید .سعی میکنم پست هایی رو برای هر بخش آماده کنم و در سایت قرار بدم .

اینجا جا داره در مورد معنی رنگ هر آیکون و علامت ها توضیح بدم تا در ادامه مشکلی نداشته باشیم.

و همینطور معنی رنگ پایه ها به صورت زیر است

در کنار بخش Pinout بخش های Clock Configuration , Configuration و Power Consumption Calculator قرار دارد که توضیح مختصری در مورد هر کدام میدم

Clock Configuration

همانطور که از اسمش پیداست بخش پیکر بندی کلاک میکرو است.کلاک میکرو های ARM بر خلاف میکرو های AVR به صورت نرم افزاری قابل تنظیم است . نرم افزار CubeMX این قسمت را به صورت گرافیکی نمایش می دهد و کار را بسیار آسان می کند .

این قسمت برای هر میکرو تفاوت هایی دارد!

اصطلاحا به این بخش درخت ساعت هم گفته می شود

توضیح در مورد کلاک میکرو های ARM قطعا یکی از پست های من هست

Configuration

این بخش یک دید اجمالی به تمامی قسمت هایی که به صورت نرم افزاری قابل پیکر بندی هستند می دهد .NVIC , GPIO ,DMA و میان افزار ها در این بخش قابل تنظییم هستند

حتما در ادامه این مطلب را هم بخوانید:  پروژه ردیاب خودرو GPS+GPRS+GOOGLE MAP

Power Consumption Calculator

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

ساخت کد به زبان C

بعد از انجام تنظیمات نوبت به تهیه فایل خروجی که یک پروژه C است میرسد.

این برنامه توانایی ساخت پروژه C برای Keil و IAR را دارد پس برای این کار از منو Project گزینه Generate Code را انتخاب میکنیم که صفه ای به شکل زیر باز می شود

در این صفحه امکان انتخاب محل ذخیره پروژه , اسم پروژه , محیط توسعه و مقدار حافظه stack و heap را دارید

با کلیک بر روی گزینه Ok پروژه شما در محیط توسعه دلخواه شما ساخته می شود

خب این قسمت هم تموم شد

در قسمت بعد در مورد کد تولید شده توسط CubeMX توضیح میدم و یک برنامه ساده led چشمک زن رو با هم راه میندازیم

قسمت های قبلی آموزش :

پردازنده های ARM

واحد کنترل اینتراپت بخش اول(NVIC)

واحد کنترل اینتراپت بخش دوم(NVIC)

واحد کنترل اینتراپت بخش سوم(آخر)

کتابخانه CMSIS بخش اول

کتابخانه CMSIS بخش دوم

ساختمان یا استراکچر (struct) در زبان برنامه نویسی C

کتابخانه CMSIS بخش سوم(نهایی)

این نوشته را با دوستانتان در تلگرام به اشتراک بگذارید :
⁩لینک گروه پرسش و پاسخ مهندسان الکترونیک   http://bit.ly/2oLHpZM

درباره ی علیرضا صادقی

پاسخ دهید

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

سه × 2 =