ARM, آموزش های متنی

پروگرام کردن میکروکنترلر STM32 با STM32 ST-Link Utility

پروگرام کردن میکروکنترلر STM32 با STM32 ST-Link Utility

شرکت ST برای محصولات خود یک پروگرامر ارزان قیمت به نام ST-Link ارائه داده که از SWD هم پشتیبانی می کند. این شرکت همینطور یک نرم افزار به منظور پروگرام/دیباگ کردن میکروکنترلرهای STM32, STM8 توسعه داده است. به این ترتیب مستقل از محیط های برنامه نویسی، با داشتن فایل هگز برنامه نوشته شده،  نسبت به پروگرام کردن میکروهای ARM این شرکت می توان اقدام نمود. در ادامه نحوه ی برنامه ریزی میکروکنترلرهای ARM شرکت ST را در محیط نرم افزار اختصاصی خود ST به نام STM32 ST-Link Utility بررسی می کنیم.

برد مورد استفاده در این آموزش

در این آموزش از برد mini STM32 استفاده شده است.

stm32mini

پروگرامر مورد استفاده در این آموزش

در این آموزش از پروگرامر/دیباگر ST-Link V2 استفاده شده است.

ST-Link V2

نحوه ی اتصال پروگرامر به میکروکنترلر

عملیات پروگرام کردن در روش SWD با استفاده از 4 سیم انجام می شود. به این ترتیب پایه های متناظر در ارتباط بین میکروکنترلر و پروگرامر را که 3.3v ، GND ، SWDIO و SWCLK هستند، متصل می کنیم.

این نرم افزار و درایور آن از طریق st.com در دسترس هستند، آخرین ورژن آن از طریق لینک زیر در دسترس است.

لینک دانلود نرم افزار از ST.com

لینک درایور

بررسی صحت نصب درایور

به منظور اطمینان از صحت نصب درایور، پروگرامر ST-Link را به کامپیوتر متصل کرده، Device Manager را باز می کنیم. در تصویر ذیل مشاهده می کنید که درایور به صورت صحیح نصب شده و پروگرامر شناخته می شود.

استفاده از نرم افزار STM32 ST-Link Utility

تنظیمات محیط STM32cubeMX

در محیط STM32cubeMX نیاز است در بخش SYS ، فیلد Debug را برابر با Serial Wire تنظیم شود و با سایر تنظیمات موردنیاز پروژه، پروژه تولید شود. مطابق تصویر زیر.

STM32cubeMX - stlink - program

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

1. از منوی File ، مورد Open File را انتخاب می کنیم و فایل هگز موردنظر را از پنجره ی باز شده انتخاب می کنیم. (در تصویر پاایین یک فایل hex. فرضی انتخاب شده است، که در مورد شما نیاز است فایل hex. مربوط به پروژه خود را انتخاب کنید)

استفاده از نرم افزار STM32 ST-Link Utility
استفاده از نرم افزار STM32 ST-Link Utility

2. از منوی Target مورد Connect را انتخاب می کنیم. مشاهده می شود که اطلاعات میکروکنترلر هدف  در بخش سمت راست نمایان می شود.

استفاده از نرم افزار STM32 ST-Link Utility

3. از منوی Target مورد Program & Verify را انتخاب می کنیم.

استفاده از نرم افزار STM32 ST-Link Utility

4. از پنجره ی باز شده Start را انتخاب می کنیم. عملیات پروگرام آغاز خواهد شد.

استفاده از نرم افزار STM32 ST-Link Utility

5. در کادر پایین نرم افزار که بخش Status نام دارد، وضعیت پروگرام شدن میکروکنترلر قابل پیگیری است و همانطور که در تصویر زیر مشاهده می شود، خطوط سبز رنگ بیانگر زمان سپری شده جهت پروگرام شدن میکروکنترلر و موفقیت آمیز بودن عملیات verify را نشان می دهد.

استفاده از نرم افزار STM32 ST-Link Utility

به این ترتیب کار برنامه ریزی و پروگرام کردن میکروکنترلر STM32 با استفاده از نرم افزار ST-LINK Utility پایان می یابد.

منابع پیشنهادی جهت یادگیری بیشتر STM32

می توانید در دوره آموزش STM32 در لینک زیر شرکت کنید.


لینک های مفید

پروگرام کردن میکروکنترلر STM32 با استفاده از Jlink

پروگرام کردن میکروکنترلر STM32 با ST-Link در Keil


اگر سوال، پیشنهاد، نظر و یا … دارید، از قسمت نظرات در پایین همین صفحه می تونید با ما و بقیه ی خوانندگان درمیان بگذارید.

author-avatar

درباره مرتضی زندی

خلق کردن شماره 1 علاقه مندی های من هست. برنامه نویسی بهترین ابزاری بوده که تا الان برای این کار پیدا کردم. بیس الکترونیک دارم و دستی بر آتش در دنیای رشته های مجاور. تجربه سال ها فعالیت در تیم های R&D رو دارم، در این بین در حوزه ی امبدد سیستم ها فعالیتم پررنگ تر هست. عاشق یادگیری و یاد دادن هستم و تلاش می کنم تجربیاتم رو به زبانی ساده از طریق EasyMCU.org به نحوی کاربردی و موثر با علاقه مندان این حوزه به اشتراک بذارم.

4 نظر در “پروگرام کردن میکروکنترلر STM32 با STM32 ST-Link Utility

  1. فرهاد گفت:

    با سلام
    هنگام پروگرم کردن با نرم افزار Stlink utility با خطای “no elf loader found for this operation” مواجه میشم. ایراد کار کجاست؟

    1. درود بر شما.
      باید شرایط پروژه رو دید. آیا همیشه این پیام رو می بینید و یا برای پروژه ای خاص، با شرایط خاص این error رخ می ده؟ بنابراین بهتره عین متن ارور رو گوگل بفرمایید و ببینید کدام مورد مشابه مشکل شماست.
      با آرزوی بهترین ها

  2. محمد حبیبی گفت:

    سلام و عرض ادب جناب مهندس زندی- زمانیکه با st-link v2 میخام در keil5 دیباگ منم trace نمیشه و اون زیر با رنگ قرمز می نویسه trace: no syncronization – اگه لطفه بفرمایید راهنمایید کنید سپاسگزارم-

    1. درود بر شما آقا محمد.
      برای دیباگ کردن نیازی نیست از گزینه trace استفاده کنید.
      مقاله زیر رو ببینید که تنظیمات مورد نیاز رو مطرح کردم.

      https://easymcu.org/fa/stm32-stlink-keil-program/

      با آرزوی بهترین ها

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

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.