ARM, توصیه شده, مقاله های سیسوگ

آرم‌ات را هضم کن؛ STM Studio ابزار مشاهده‌ی میکروکنترلرهای STM

STM Studio

ابزار مشاهده‌ی میکروکنترلرهای STM ;

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

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

یکی از روش‌های متداول برای دیباگ برنامه‌ها استفاده از break point و اجرای خط به خط برنامه ها است. در این روش با اجرای هر خط میتوان تاثیر آن را بر وضعیت سیستم و متغیرها را مشاهده نمود. مشکل اصلی چنین روشی به ویژه در سیستم‌های میکروکنترلری، وجود واحدهای آسنکرون (برای مثال تایمر یا وقفه) نسبت به هسته‌ی پردازشی است. توقف برنامه در یک خط خاص از برنامه، تمام زمان‌بندی‌ها را به هم ریخته و در واقع اصلا نمی‌شود برنامه را آنطور که در دنیای واقعی عمل میکند دیباگ نمود.

شرکت ST این مشکل را از طریق واحد JTAG میکروکنترلرهای STM حل کرده است. از طریق ابزار STMStudio شما می‌توانید بدون آن که اجرای برنامه را متوقف کنید، مقدار یک متغیر را در یک قسمت خاص از حافظه به صورت لحظه‌ای مشاهده نمایید. مراحل کار بسیار ساده است:

1- برنامه‌ی STMStudio را از سایت شرکت ST دریافت نمایید.

2- پس از نصب برنامه و باز کزدن آن، در قسمت Display Variables راست کلیک کرده و Import را انتخاب نمایید.

import variables

3- در قسمت Executable File، به محل پروژه‌ی خود رفته و فایلی که با پسوند axf ساخته شده را انتخاب نمایید. با انتخاب این فایل، متغیرهای برنامه‌تان به همراه آدرس آن‌ها در داخل حافظه‌ی میکروکنترلر لیست می‌شود. متغیرهایی که می‌خواهید آن را مشاهده نمایید انتخاب نمایید و دکمه‌ی Import را فشار دهید.

adding axf file

4- متغیرهای اضافه شده در برنامه لیست شده‌اند. حالا باید آن‌ها را به قسمت نمایش اضافه کنید. برای اینکار بر روی متغیرمورد نظرتان راست کلیک کنید و در قسمت Send To محیط نمایش را انتخاب کنید. بدین ترتیب متغیر به لیست متغیرهای نمایش اضافه می‌شود. همچنین انتخاب نمایید که نحوه ی نمایش متغیر به چه صورت باشد.

adding variable to view

5- پروگرامر/دیباگر ST-Link/V2 را به برد وصل نمایید. حالا همه چیز آماده است، کافی است تا برد را روشن کرده و دکمه‌ی سبز رنگ استارت را در برنامه‌ی STMStudio فشار دهید تا مقدار متغیر مورد نظرتان را مشاهده کنید.

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

13 دیدگاه در “آرم‌ات را هضم کن؛ STM Studio ابزار مشاهده‌ی میکروکنترلرهای STM

  1. Avatar for رضا رضا گفت:

    keil تو خروجی بهم axf نمیده
    چرا؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      مطمئن نیستم ولی فکر کنم توی تنظیمات جایی داره که میگید این فایل رو بسازه

  2. Avatar for samir samir گفت:

    سلام
    من یه مشکلی دارم
    برنامه کامپایل میشه ولی خروجی axf نمیده چطوری باید فعالش کنم؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      فکر کنم باید گزینه ای رو فعال کنید تا فایل ساخته بشه

  3. Avatar for پیمان پیمان گفت:

    سلام من از ابزار J-link استفاده می کنم و می خواهم با میکرو ST در نرم افزار stmstudio ارتباط بگیرم ولی ظاهرا نمی شه با این دو تا توامان کار کرد. درست می گم؟ و آیا نرم افزار دیگه ای هست که بشه با J-link بصورت ویژوال مثل STM studio دیباگ کرد؟

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      فکر نمیکنم مشکلی وجود داشته باشه – نهایتا باید به شکل دستی تنظیمات اولیه رو انجام بدید

  4. Avatar for موسوی موسوی گفت:

    سلام، بعضی متغیرها رو نمی تونم در STM Studio ببینم، مشکل از کجاست؟

    1. Avatar for محمد محمد گفت:

      درود بر شما
      برای دانلود STM STUDIO به سایت ST مراجعه کردم اما تنها امکان دانلودSTM8 بصورت اکتیو داره
      در این صورت چه باید کرد؟

      1. Avatar for Saleh Saleh گفت:

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

  5. Avatar for sajjad sajjad گفت:

    سلام
    ممنون بابت پستتون.
    من از محیط دیباگ keil خیلی راضی هستم و مشکلی تا حالا باهاش نداشتم و نمیدونم stmstudio چه مزیتی نسبت به محیط دیباگ keil داره. توی keil هم میشه بدون متوقف کردن روند برنامه یک متغیر رو به صورت live مشاهده کرد. ولی خیلی جاها دیدم از stmstudio استفاده میشه و تعریف میشه…

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام ؛ مهم اینه که شما با اون نرم افزاری که کار میکنید راحت باشید :/ ؛ البته اتمل استودیو دو دلیل برای برتری داره
      اول : اتمل استودیو از ویرایشگر ویژوال استودیو استفاده میکنه که در حال حاظر یکی از بهترین ویرایشگر های جهان هست
      دوم: اتمل استودیو از کامپایلر GCC استفاده میکنه که به نظر من رو دستش نیست (:دی)
      البته مشکلی که داره به نظرم اینه که اول لینوکسی نیست دوم این که خیلی سنگینه 😐

      1. Avatar for sajjad sajjad گفت:

        اتمل استودیو؟ اتمل استودیو ارتباطش با stmstudioچیه؟ من درست متوجه نشدم یا اشتباه تایپی بوده یا چی؟ 😀

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          من اشتباه متوجه شدم ؛ فکر کردم دارید در مورد atmel studio سوال می پرسید.
          با stm32 تجربه ای نداشتم :دی

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

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