پروگرام کردن میکروکنترلر 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 استفاده شده است.

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

نحوه ی اتصال پروگرامر به میکروکنترلر
عملیات پروگرام کردن در روش SWD با استفاده از 4 سیم انجام می شود. به این ترتیب پایه های متناظر در ارتباط بین میکروکنترلر و پروگرامر را که 3.3v ، GND ، SWDIO و SWCLK هستند، متصل می کنیم.
دانلود نرم افزار STM32 ST-Link Utility و نصب درایور
این نرم افزار و درایور آن از طریق st.com در دسترس هستند، آخرین ورژن آن از طریق لینک زیر در دسترس است.
لینک دانلود نرم افزار از ST.com
بررسی صحت نصب درایور
به منظور اطمینان از صحت نصب درایور، پروگرامر ST-Link را به کامپیوتر متصل کرده، Device Manager را باز می کنیم. در تصویر ذیل مشاهده می کنید که درایور به صورت صحیح نصب شده و پروگرامر شناخته می شود.
تنظیمات محیط STM32cubeMX
در محیط STM32cubeMX نیاز است در بخش SYS ، فیلد Debug را برابر با Serial Wire تنظیم شود و با سایر تنظیمات موردنیاز پروژه، پروژه تولید شود. مطابق تصویر زیر.

استفاده از نرم افزار STM32 ST-Link Utility
این نرم افزار دارای نصب ساده ای می باشد، همینطور در استفاده از خانواده هایی مثل STM32F103xx در زمان استفاده از این نرم افزار نیازی به تغییر وضعیت پایه های بوت نیست. دقت شود که بعد از انجام عملیات پروگرام کردن وضعیت پایه ی بوت 0 باید برابر با 0 منطقی باشد تا برنامه از بخش اجرای برنامه در حافظه ی فلش اجرا شود. بعد از نصب آن برنامه را اجرا کرده و مطابق گام های بعدی پیش می رویم. به این ترتیب نرم افزار را باز کرده و مراحل زیر را پیگیری می کنیم.
1. از منوی File ، مورد Open File را انتخاب می کنیم و فایل هگز موردنظر را از پنجره ی باز شده انتخاب می کنیم. (در تصویر پاایین یک فایل hex. فرضی انتخاب شده است، که در مورد شما نیاز است فایل hex. مربوط به پروژه خود را انتخاب کنید)
2. از منوی Target مورد Connect را انتخاب می کنیم. مشاهده می شود که اطلاعات میکروکنترلر هدف در بخش سمت راست نمایان می شود.
3. از منوی Target مورد Program & Verify را انتخاب می کنیم.
4. از پنجره ی باز شده Start را انتخاب می کنیم. عملیات پروگرام آغاز خواهد شد.
5. در کادر پایین نرم افزار که بخش Status نام دارد، وضعیت پروگرام شدن میکروکنترلر قابل پیگیری است و همانطور که در تصویر زیر مشاهده می شود، خطوط سبز رنگ بیانگر زمان سپری شده جهت پروگرام شدن میکروکنترلر و موفقیت آمیز بودن عملیات verify را نشان می دهد.
به این ترتیب کار برنامه ریزی و پروگرام کردن میکروکنترلر STM32 با استفاده از نرم افزار ST-LINK Utility پایان می یابد.
منابع پیشنهادی جهت یادگیری بیشتر STM32
می توانید در دوره آموزش STM32 در لینک زیر شرکت کنید.
لینک های مفید
پروگرام کردن میکروکنترلر STM32 با استفاده از Jlink
پروگرام کردن میکروکنترلر STM32 با ST-Link در Keil
اگر سوال، پیشنهاد، نظر و یا … دارید، از قسمت نظرات در پایین همین صفحه می تونید با ما و بقیه ی خوانندگان درمیان بگذارید.
جهت مطلع شدن از آموزش های جدید به خبرنامه ی EasyMCU بپیوندید.
درباره مرتضی زندی
خلق کردن شماره 1 علاقه مندی های من هست. برنامه نویسی بهترین ابزاری بوده که تا الان برای این کار پیدا کردم. بیس الکترونیک دارم و دستی بر آتش در دنیای رشته های مجاور. تجربه سال ها فعالیت در تیم های R&D رو دارم، در این بین در حوزه ی امبدد سیستم ها فعالیتم پررنگ تر هست. عاشق یادگیری و یاد دادن هستم و تلاش می کنم تجربیاتم رو به زبانی ساده از طریق EasyMCU.org به نحوی کاربردی و موثر با علاقه مندان این حوزه به اشتراک بذارم.
نوشته های بیشتر از مرتضی زندیمطالب زیر را حتما مطالعه کنید
آموزش نصب و راه اندازی سیستم عامل Free RTOS برای آردوینو Arduino
آموزش نصب و راه اندازی سیستم عامل Free RTOS روی STM32
آموزش FreeRTOS نحوه استفاده از میوتکس Mutex
آموزش Free RTOS نحوه استفاده از سمافور Semaphore
آموزش STM32 راه اندازی وقفه خارجی EXTI
معرفی کتاب ARM
4 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش میشوند.
با سلام
هنگام پروگرم کردن با نرم افزار Stlink utility با خطای “no elf loader found for this operation” مواجه میشم. ایراد کار کجاست؟
درود بر شما.
باید شرایط پروژه رو دید. آیا همیشه این پیام رو می بینید و یا برای پروژه ای خاص، با شرایط خاص این error رخ می ده؟ بنابراین بهتره عین متن ارور رو گوگل بفرمایید و ببینید کدام مورد مشابه مشکل شماست.
با آرزوی بهترین ها
سلام و عرض ادب جناب مهندس زندی- زمانیکه با st-link v2 میخام در keil5 دیباگ منم trace نمیشه و اون زیر با رنگ قرمز می نویسه trace: no syncronization – اگه لطفه بفرمایید راهنمایید کنید سپاسگزارم-
درود بر شما آقا محمد.
برای دیباگ کردن نیازی نیست از گزینه trace استفاده کنید.
مقاله زیر رو ببینید که تنظیمات مورد نیاز رو مطرح کردم.
https://easymcu.org/fa/stm32-stlink-keil-program/
با آرزوی بهترین ها