نحوه پروگرام میکروکنترلر STM8 با نرم افزار STVP تهیه شده در گروه مهندسی ویتا

نحوه پروگرام میکروکنترلر STM8 با نرم افزار STVP

نرم افزار ST Visual programmer یا STVP ، یکی از نرم افزارهای ارائه شده توسط شرکت ST می‌باشد. که به منظور پروگرامِ برنامه روی انواع میکروکنترلرهای STM8 و STM32 استفاده می‌شود. همچنین این نرم افزار برای پروگرام میکروکنترلر STM8 از ۳ روش مختلف SWD, SWIM, JTAG نیز پشتیبانی می‌کند.
در این مقاله ما قصد داریم میکروکنترلر STM8S003K3T6 را از طریق روش SWIM پروگرام کنیم.

فهرست این محتوا :

 

قدم اول. انتخاب سخت افزار پروگرام

نرم افزار STVP، از انواع پروگرامرهای ST-link و ST7 و … پشتیبانی می‌کند. همچنین لیست کامل این پروگرامرها را جلوتر، در نرم افزار STVP به شما نشان خواهیم داد.
پروگرامری که ما در این مقاله استفاده کرده ایم، مدل ST-LINK V2 سایز mini می‌باشد.

پروگرامر و دیباگر قرمز ST LINK V2 سایز mini

پروگرامر و دیباگر ST LINK V2 سایز mini

 

قدم دوم. اتصال پروگرامر به میکروکنترلر STM8

ابتدا با توجه به پروتکلی که قصد پروگرام دارید، باید پایه های موردنیاز را به میکروکنترلر STM8 خود متصل کنید. روی این مدل پروگرامر، ترتیب پایه های سوکت IDC کامل درج شده است.
در اینجا، ما قصد داریم از روش SWIM استفاده کنیم. در روش SWIM باید پایه های SWIM , RST , GND به میکروکنترلر STM8 متصل شوند.

علاوه بر این، باید تغذیه میکروکنترلر را هم تامین کنید. اگر قصد دارد این تغذیه از پروگرامر تامین شود، پایه ۵V را هم به VCC در میکروکنترلرهای STM8 متصل کنید. اگر هم که بردتان تغذیه خارجی دارد، نیازی به اتصالِ این پایه به میکروکنترلر نیست.
در اینجا دقت کنید که برای میکروکنترلر STM8 باید ولتاژ ۵ ولت و برای میکروکنترلر STM32 ولتاژ ۳.۳ ولت را متصل کنید. ( اتصال ولتاژ ۵ ولت به STM32 ممکن است باعث سوختن پردازنده شما شود. )

برای راحتیِ این اتصالات، از برد مبدل و کابل فلت، قابل اتصال به پروگرامرهای ST-LINK V2 mini  هم می‌توانید استفاده کنید. این مبدل برای هر دو روش SWD , SWIM در نرم افزار STVP، قابل استفاده است.
شما می توانید برد مبدل را  همراه با پروگرامر ST-Link از فروشگاه ویتا خریداری بفرمایید.

برد مبدل پروگرامر ST LINK V2 و کابل فلت در گروه مهندسی ویتا

برد مبدل پروگرامر ST LINK V2 و کابل فلت

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

پین هدر پروگرامِ میکروکنترلر در PCB

 

قدم سوم. نصب نرم افزار ST Visual Programmer (STVP) در ویندوز

ابتدا فایل نصب نرم افزار را از سایت ST دانلود و نصب کنید.
لینک دانلود نرم افزار STM32 ST-LINK utility
همچنین می‌توانید فایل نرم افزار و درایور پروگرامر را از انتهای همین مقاله نیز، دانلود کنید. نرم افزار به صورت رایگان ارائه شده، و نیازی به کرک و لایسنس ندارد.
پس از نصب، نرم افزار را که باز کنید، پنجره زیر به شما نمایش داده می‌شود.

نرم افراز STVP در ویندوز

نرم افراز STVP در ویندوز

در صورتی که درایور ST-Link را نصب ندارید، می توانید از انتهای همین مقاله  درایور آن را دانلود نمایید.
حال پروگرامر را به پورت USB کامپیوتر متصل نمایید. اگر نرم افزار STVP و درایور را به درستی نصب کرده باشید، در پنجره Device Manager، دستگاه STM32 STLink برای شما به نمایش درمی‌آید. در غیر این صورت مجددا، عمل نصب نرم افزار STVP و درایور را تکرار کنید.

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

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

 

قدم چهارم. آپدیت Firmware پروگرامر

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

نصب نرم افزار ST-link utility و آپدیت Firmware پروگرامر

 

قدم پنجم. انجام تنظیمات اولیه در نرم افزار STVP

پس از انجام مراحل بالا، و اطمینان از اتصالات، از تب Configure گزینه Configure ST Visual Programmer را انتخاب کنید. تا پنجره Configuration برای شما باز شود.

تنظیمات اولیه در نرم افزار STVP

تنظیمات اولیه در نرم افزار STVP

حال در پنجره Configuration گزینه های زیر را انتخاب کنید:
+ hardware : نوع پروگرامر خود را انتخاب کنید. که در اینجا از ST-Link  استفاده می کنیم.
+ Programming Mode : انتخاب پروتکل پروگرام SWIM
+ Device : نوع میکروکنترلر – در اینجا ما از میکروکنترلر STM8s003K3 استفاده می کنیم. اما شما باید کد میکروکنترلر خود را انتخاب کنید.

دقت کنید که در روش SWIM، همانطور که در لیست میکروکنترلرهای نرم افزار STVP مشاهده می کنید. فقط میکروکنترلرهای STM8 آورده شده است. برای میکروکنترلرهای STM32 باید از پروتکل SWD یا JTAG استفاده کنید.

صفحه تنظیمات Configuration در نرم افزار STVP

صفحه تنظیمات Configuration در نرم افزار STVP

 

قدم ششم. باز کردن فایل برنامه نوشته شده برای STM8

سپس جهت باز کردن فایلِ برنامه‌‌ای که برای میکروکنترلر نوشته شده است، از تب File گزینه Open File را انتخاب نمایید. در این قسمت می‌توانید فایل برنامه با پسوند hex را انتخاب کنید. پس از باز کردن فایل، در پنجره پایین نرم افزار STVP، پیام File successfully loaded نمایان می‌شود.

لود کردن برنامه با پسوند hex در نرم افزار STVP

لود کردن برنامه با پسوند hex

 

قدم هفتم. پروگرام کردن برنامه روی میکروکنترلر STM8

حالا از تب Program در نرم افزار STVP از تب Target، گزینه Current Tab را انتخاب کنید تا برنامه روی میکروکنترلر STM8 پروگرام شود.

پروگرام برنامه روی میکروکنترلر STM8 در نرم افزار STVP

پروگرام برنامه روی میکروکنترلر STM8 در نرم افزار STVP

پس از پایان فرآیند پروگرام، در پنجره پایین نرم افزار، پیغام های “PROGRAM MEMORY Programming completed” و “PROGRAM MEMORY successfully verified” برای شما به نمایش درمی‌آید. و بدین معنی است که عملیات پروگرام با موفقیت انجام شده است.

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

 

قدم هشتم. قفل برنامه بر روی میکروکنترلر STM8

معمولا قبلی از ورود برد به بازار، بهتر است برنامه ای را که روی میکروکنترلر بارگذاری کرده‌اید، از خواندن و کپی شدنِ برنامه توسط سایر افراد، محافظت کنید. چون در صورت عدم انجام این مرحله، به سادگی برنامه شما، قابل کپی خواهد بود. در نرم افزار STVP قابلیتی برای محافظت از خوانده شدن فایل برنامه، پیاده سازی شده است.
برای انجام این مرحله کافی است که در نرم افزار STVP، پنجره Option Bytes را انتخاب کنید و در بالای صفحه گزینه ROP (Read Out Protection) را بر روی گزینه Read out protection ON قرار دهید. و در نهایت از تب Program بر روی Current tab کلیک کنید.
و در پنجره های جدیدی که برای شما نمایش داده می شود، روی yes کلیک کنید.

قفل برنامه میکروکنترلر در نرم افزار STVP

قفل برنامه میکروکنترلر در نرم افزار STVP

و در پایان، در پنجره پایین نرم افزار STVP ، پیغام “OPTION BYTE successfully verified” نمایش داده می‌شود. حالا برنامه میکروکنترلر، محافظت شده است و کاربر دیگری نمی تواند برنامه شما را کپی کند.

برای اطمینان از این امر، می توانید از تب Read بر روی گزینه Current Tab کلیک کنید. این گزینه برای خواندن برنامه از روی میکروکنترلر STM8 کاربرد دارد. مشاهده می کنید که به شما خطای Protected می دهد و بدین معنی است که برنامه میکروکنترلر شما محافظت شده است.
حالا با خیالی آسوده، می‌توانید محصول خود را در بازار عرضه کنید.

نکته مهم. اگر که تمایل داشتید مجدد برنامه را روی میکروکنترلر بریزید، دقت شود که ابتدا باید Read out protection را غیرفعال کنید. سپس اقدام به پروگرام برنامه کنید. چون در غیر این صورت، نرم افزار STVP به شما خطای “The device is protected” را نمایش می دهد.

خط جداکننده شرکت ویتا خط جداکننده شرکت ویتا

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

 

۴ نظر

  • با عرض سلام
    با تشکر از سایت خوبتون
    پس از خرید پروگرامر ST-LINK V2 از نوع مینی طبق راهنمایی شما قدم به قدم جلو رفتم؛ اما هنگام پروگرام و یا حتی خواندن آیسی، با خطای ذیل مواجه می‌شوم.
    > Programming PROGRAM MEMORY area…
    Error : Cannot communicate with the device !
    Check the SWIM cable connection and check all the needed pin connections on the SWIM connector.
    If the application code uses Swim Disable and Reset pin as Output or has disabled SWIM Clock Divider:
    Try Now to SWITCH OFF and ON the application Power Supply while NRST Reset pin is forced low.
    Error : < PROGRAM MEMORY programming failed.

    پایه های پروگرام را به ترتیب ذیل به آیسی STM8S003F3P6 وصل کردم. (اتصالات چک شد)
    RST>4=NRST
    SWIM>18=SWIM
    ۵٫۰V>9=VDD
    GND>7=VSS
    آیسی خام است و قصد دارم برای تست برنامه led چشمک‌زن را روی آن بریزم.
    درایور پروگرامر نیز به درستی نصب شده. با این حال نمی دانم علت خطای مذکور چیست.
    ممنون میشم اگر راهنمایی بفرمایید.

    • سلام
      وقت شما بخیر
      سعی کنید اتصالات رو مجددا بررسی کنید و سیمها رو تعویض کنید، چون زیاد پیش میاد که یک سیم قطعی داشته باشه.
      برای اطمینان از برقرار بودن اتصالات، میتونید از تست بوق مولتی متر استفاده کنید. و مطمئن شوید که بین پایه های میکروکنترلر اتصالی وجود نداشته باشد.
      در حین اینکه پروگرامر به برد متصل هست، با اندازه گیری ولتاژ تغذیه مطمئن شوید که تغذیه به درستی به پایه های میکرو میرسد، همچنین بررسی کنید که ولتاژ پایه ریست هم ۵ ولت باشد.

      • سلام. توصیه شما رو عمل کردم، ولی متاسفانه مشکل حل نشد.
        پس از تلاش‌های زیاد نا موفق؛ در یکی از سایت‌ها به مطلب ارایه شده توسط عزیزی بنام: “مجید نبی از شهرستان آباده” برخوردم. ایشون گفنه:
        “من با stm8s003f3p6 کار کردم این میکرو رو بدون برد خریداری کردم و روی برد تبدیل SSOP نصب کردم و برای پروگرام کردنش دچار مشکل شدم با پروگرامر stlink بعد از کلی تحقیق متوجه شدم که یک نکته مهم برای پروگرام کردن این میکرو وجود داره این هم پایه Vcap هست که حتما باید با یک خازن نانو فارادی به زمین وصل بشه.”

        من هم یه خازن ۱۰۰n بین زمین و Vcap آیسی وصل کردم و بدون هیچ خطایی پروگرام کار کرد.
        مجددا از لطف و همکاری شما سپاسگذارم.

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

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