نحوه پروگرام میکروکنترلر STM32 با نرم افزار ST-LINK utility
نرم افزار STM32 ST-LINK utility، یکی از نرم افزارهای ارائه شده توسط شرکت ST میباشد. که به منظور پروگرامِ برنامه روی انواع میکروکنترلرهای STM32 استفاده میشود. البته به تازگی، شرکت ST نرم افزار جایگزینی به نام STM32CubeProgrammer ارائه کرده است که به زودی آموزش های مربوط به این نرم افزار هم برای شما عزیزان قرار خواهیم داد.
فهرست این محتوا : |
قدم اول. انتخاب سخت افزار پروگرام
شما میتوانید برای برنامه ریزی میکروکنترلرهای STM32، از انواع پروگرامر و دیباگرهای ST-LINK و ST-LINK/V2 و ST-LINK-V3 استفاده کنید. که همگی در نرم افزار ST-LINK utility پشتیبانی میشوند.
پروگرامری که ما در این آموزش استفاده کرده ایم، مدل ST-LINK V2 سایز mini میباشد. این پروگرامر از ۲ پروتکل SWD و SWIM پشتیبانی میکند.
قدم دوم. اتصال پروگرامر به میکروکنترلر
روی این پروگرامر، ترتیب پایه های کانکتور IDC ( کانکتور مشکی رنگ سمت راست ) درج شده است. حال با توجه به پروتکلی که قصد پروگرام دارید، باید پایه های موردنیاز را به میکروکنترلر متصل کنید.
در اینجا، ما قصد داریم از روش SWD استفاده کنیم. در روش SWD باید پایه های SWCLK , SWDIO , RST , GND به میکروکنترلر STM32 متصل شوند. اگر که قصد دارید تغذیه میکروکنترلر هم از طریق پروگرامر تامین شود، پایه ۳.۳V را هم به VCC در میکروکنترلرهای STM32 متصل کنید. اگر هم که بردتان تغذیه خارجی دارد، نیازی به اتصالِ این پایه به میکروکنترلر نیست.
در اینجا دقت کنید که پایه ۵.0V را به میکروکنترلر STM32 متصل نکنید، چون ممکن است باعث سوختن میکروی شما شود.
برای راحتیِ این اتصالات، از برد مبدل و کابل فلت، قابل اتصال به پروگرامرهای ST-LINK V2 mini هم میتوانید استفاده کنید. شما می توانید برد مبدل را همراه با پروگرامر ST-Link از فروشگاه ویتا خریداری بفرمایید.
سپس این مبدل را با رعایت جهت و ترتیب پایه ها، به پین هدری که در برد تعبیه شده، متصل کنید. اگر که برد مبدل را ندارید، از سیم های بردبوردی، مدل مادگی به مادگی هم میتوانید استفاده کنید.
قدم سوم. نصب نرم افزار ST-LINK utility در ویندوز
ابتدا فایل نصب نرم افزار را از سایت ST دانلود و نصب کنید.
لینک دانلود نرم افزار STM32 ST-LINK utility
همچنین میتوانید فایل نرم افزار و درایور پروگرامر را از انتهای همین مقاله نیز، دانلود کنید.
پس از نصب، نرم افزار را که باز کنید، پنجره زیر به شما نمایش داده میشود.
حال پروگرامر را به پورت USB کامپیوتر متصل نمایید. اگر نرم افزار را به درستی نصب کرده باشید، در پنجره Device Manager، دستگاه STM32 STLink برای شما به نمایش درمیآید. در غیر این صورت مجددا، عمل نصب نرم افزار و درایور را تکرار کنید.
قدم چهارم. آپدیت Firmware پروگرامر
دفعه اول که اقدام به استفاده از پروگرامر میکنید ممکن است Firmware پروگرامر ورژن قدیمی را داشته باشد و باعث بروز خطا شود. پس بهتر است در نرم افزار ST-link utility، ابتدا firmware پروگرامر را آپدیت کنید.
برای آپدیت، از تب ST-LINK گزینه Firmware update را انتخاب کنید. تا پنجره ST-LINK Upgrade برای شما باز شود.
سپس گزینه Device Connect را انتخاب نموده تا ورژن و مشخصات پروگرامر را برای شما نمایش دهد. و در نهایت گزینه Yes را انتخاب کنید، تا آپدیت پروگرامر شروع شود.
پس از پایان عملیات، پیام Upgrade is successful به شما نمایش داده میشود.
در اینجا اگر خطای “ST-Link is not in the DFU mode” به شما نمایش داده شد، کافی است یک بار پروگرامر را از USB بکشید، و مجددا متصل کنید تا خطا رفع شود.
قدم پنجم. کانکت شدن به target و انتخاب فایل برنامه
پس از انجام مراحل بالا، و اطمینان از اتصالات، از تب Target گزینه Connect را انتخاب کنید. اگر عملیات با موفقیت انجام شود، در پایین نرم افزار، اطلاعات مربوط به ST-Link و همچنین خانواده میکروکنترلری که استفاده کرده اید، به شما نمایش داده میشود.
سپس جهت باز کردن فایلِ برنامهای که برای میکروکنترلر نوشته شده است، از تب File گزینه Open File را انتخاب نمایید. در این قسمت میتوانید فایل برنامه با پسوند hex یا bin را انتخاب کنید. پس از باز کردن فایل، در پنجره پایین نرم افزار، پیام opened successfully نمایان میشود.
قدم ششم. پروگرام کردن برنامه روی میکروکنترلر
حالا در نوار بالایی نرم افزار ST-Link utility از تب Target، گزینه Program & Verify را انتخاب کنید. تا پنجرهای به نام Download برای شما باز گردد.
در این پنجره، ابتدا بررسی کنید که گزینه های تیک خورده مانند تصویر زیر باشد. سپس گزینه Start را کلیک کنید تا فرآیند پروگرام میکروکنترلر آغاز شود. پس از پایان این فرآیند، در پنجره پایین نرم افزار، پیغام های “Memory programmed in 8s and 969ms” و “Verification…OK” برای شما به نمایش درمیآید. و بدین معنی است که عملیات پروگرام با موفقیت انجام شده است.
تا اینجا، برنامه با موفقیت پروگرام شده، و میتوانید عملکرد بردتان را تست کنید.
اما اگر که قصد ورود محصول به بازار را دارید، پیشنهاد میکنیم یک قدم دیگر را هم انجام دهید:
قدم هفتم. قفل برنامه بر روی میکروکنترلر
معمولا قبلی از ورود برد به بازار، بهتر است برنامه ای را که روی میکروکنترلر بارگذاری کردهاید، از خواندن و کپی شدنِ برنامه توسط سایر افراد، محافظت کنید. چون در صورت عدم انجام این مرحله، به سادگی برنامه شما، قابل کپی خواهد بود.
برای انجام این مرحله کافی است که در نرم افزار ST-Link utility، از تب Target گزینه Option Bytes را انتخاب کنید تا پنجره Option Bytes باز شود.
حال در پنجره Option Bytes، از نوار کشویی بخش Read Out protection گزینه enabled را انتخاب کنید تا محافظت از خواندن برنامه، فعال شود. در انتها هم روی گزینه Apply کلیک کنید تا تنظیم انجام شود.
پس از انجام این فرآیند، در قسمت پیغام ها، متن “Option bytes updated successfully” به نمایش درمیآید. یک پنجره Warning هم باید باز شود، که متن آن “Can not read memory” است. چون نرم افزار ST-Link utility هر بار به صورت خودکار، به خواندن برنامه از میکروکنترلر اقدام میکند، پس از قفل شدن برنامه، این خطا اعلام میشود. یعنی که اجازه دسترسی به حافظه میکروکنترلر وجود ندارد.
در پیام هشدار، پیشنهاد کرده است که گزینه Read Out Protection را غیرفعال کنید. اگر این گزینه را غیرفعال کنید، به صورت خودکار، برنامه از حافظه میکروکنترلر پاک میشود و دیگر کاربر به برنامه میکروکنترلر شما، دسترسی نخواهد داشت.
حالا با خیالی آسوده، میتوانید محصول خود را در بازار عرضه کنید.
اگر هرگونه سوال یا خطایی در حین کار با این نرم افزار برای شما پیش آمد، حتما در بخش نظرات با ما درمیان بگذارید. و یا میتوانید در شبکه های اجتماعی با کارشناسان فنی ویتا، ارتباط بگیرید.
با سلام و عرض ادب، دم شما گرم خیلی روان و ساده اموزش دادید، با ارزوی موفقیت و سلامتی برای شما
با سلام اگر امکانش است نحوه پروگرام کردن با استفاده st- link utility را ویدیویی توضیح دهید.