آموزش, توصیه شده, مقاله

آموزش استفاده از نرم افزار Eclipse برای میکروکنترلر ARM STM32

eclipse چیست

 

شاید بارها با خودتون فکر کرده باشید آیا امکانش هست بتونیم از یک ادیتور ()OpenSource برای برنامه نویسی هر نوع میکروکنترلری استفاده کنیم؟ و دیگه لازم نباشه که برای هر میکروکنترلری یک ادیتور مختص به خودش رو استفاده کنیم.این کار به راحتی با ادیتور Eclipse امکان پذیره و شاید این سوال براتون پیش بیاد که چطور از این ادیتور Eclipse میشه استفاده کرد؟ فقط کافیه پلاگین هر نوع میکروکنترلری که میخواید رو نصب کنید. توی این آموزش هم میخوایم یک پروژه چشمک زن با میکروکنترلر  STM32F103RE درست کنیم.

البته بازم اگر بیشتر میخواید بدونید این ادیتور قدرتمند چه کار هایی میتونه انجام بده پیشنهاد میکنم اینجا کلیک کنید.

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

یه نکته اساسی وجود داره اونم اینکه حتما از ورژن Eclipse Mars  استفاده کنید. دلیلشم اینه که حداقل خودم ورژن های جدیدش رو دانلود کردم و حداقل چندین ساعت درگیر نصبش بودم و به نتیجه نرسیدم تا اینکه فهمیدم مشکل از ورژن جدیده

فقط به مسیر Workspace در طول نصب دقت کنید چون تمامی پروژه‌هایی که درست می‌کنید داخل این فولدر قرار میگیرند.

ٍٍEclipse

 

خب پس از نصب نرم افزار Eclipse Mars می‌خوایم نحوه کار با این نرم افزار رو یاد بگیریم و در نهایت یک کد چشمک زن رو باهاش توسط STM32 راه اندازی کنیم.

ساخت پروژه در Eclipse

 

مرحله 1.

ابتدای ورود به نرم افزار با این محیط رو به رو میشیم.

محِيط Eclipse

مرحله 2.

حالا قصد ساختن پروژه چشمک زن رو داریم که از محیط بالای نرم افزار Eclipse گزینه File  رو میزنیم و پروژه مدنظرمون رو که می‌خوایم از چه نوعی باشه (C/C++) رو انتخاب می کنیم.

اگر مراحلی که گفتم رو به درستی توی نرم افزار Eclipse انجام داده باشید باید به شکل زیر برسید.

ساخت پروژه C در Eclipse

مرحله 3.

در ابتدا باید اسم پروژه رو انتخاب کنیم.

نکته ای که در این مرحله مهمه توی اسم گذاری پروژه اگر نیاز به فاصله داشتید حتما از _ استفاده کنید به طور مثال LED_Blink

در ستون سمت چپ گفته ایسی مدنظرتون رو انتخاب کنید. که دراینجا آیسی  STM32F103RET6 انتخاب کردیم.

در ستون سمت راست هم گفته که از چه ابزاری می‌خواید برای کامپایل کد استفاده کنید که گزینه اولی Cross Arm GCC رو انتخاب می‌کنیم وگزینه Next  رو می‌زنیم.

 

 Eclipse

مرحله 4.

در این قسمت باید جزییات مربوط به تراشه‌مون رو انتخاب کنیم.

تنظیمات میکرو در Eclipse

کادر اول: مربوط به ساختار سخت‌افزاری تراشه هست که باید از روی User Manual چک بشه و در صورتیکه اشتباه انتخاب کنیم دسترسی بعضی از قسمت های تراشه رو از ما میگیره پس با دقت گزینه‌ها رو چک کنید.

کادر دوم: تعیین سایز فلش تراشه است.

کادر سوم: تعیین مقدار رم تراشه است.

کادر چهارم: تعیین مقدار کلاک خارجی تراشه است.

کادرپنجم: انتخاب نوع پروژه که دو حالت داره یکی اینکه میخوایم پروژه با ساختار کلی درست کنیم یا یک کد سمپل LED  رو پیاده سازی کنیم. که کد سمپل LED مدنظر ما هست.

کادر ششم: این گزینه رو همیشه روی حالت Freestanding قرار میدیم.

کادر هفتم : تعیین نوع دیباگر تراشه است.

و همینطور بقیه گزینه ها صرفا برای دیدن خطا‌ها و بهبود در برنامه نویسیه که اصولا به صورت پیش فرض خودشون خوب هستند و نیازی به تغیییر ندارند.

پس از انجام این مرحله گزینه Next را انتخاب می کنیم.

مرحله 5.

این بخش مسیر پروژه رو همراه با جزییات گزارش میده که البته قابل تغییر هم هست که اصولا روی پیش فرض خودش میزاریم.

تنظیمات پوشه پروژه در Eclipse

 

پس از انجام این مرحله گزینه Next  رو میزنیم.

 

مرحله 6.

در این مرحله تنظیماتی که از مراحل قبل رو در قسمت ساخت پروژه نرم افزار Eclipse اعمال کردیم رو میبینم

Eclipse

دیباگ در Eclipse

که دارای دو قسمت Debug و Release هست که جفتشون  باید تیک خورده باشند.

 

بعد از دیدن این قسمت هم گزینه Next  رو میزنیم.

مرحله 7.

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

تنظیم میکرو در Eclipse

 

خب تبریک میگم بلاخره تنظیمات اولیه تموم شد.

 

کدنویسی در محیط Eclipse

خب پس از اینکه مراحل ساخت و تنظیمات پروژه رو انجام دادیم.

با یک صفحه کد مواجه میشیم و اگر به کد دقت کنیم می بینیم که دقیقا کد چشمک زنه.

اگه یادتون باشه توی قسمت تنظیمات دقیقا خودمون انتخاب کردیم که پیش فرضش رو کد چشک زن باشه.

کد چشمک زن در Eclipse

 

 

حالا سوال پیش میاد که کجا پایه مربوط به LED رو باید انتخاب کنیم؟

برای این کار باید از منو سمت چپ Include رو انتخاب کنیم و در زیر مجموعه اون باید فایل Blinkled.h  رو انتخاب کنیم

راه اندازی LED چشمک زن

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

راه اندازی LED چشمک زن

خط اول میگه که شما میخواید از چه پورتی استفاده کنید.

که در این پروژه میخوایم LED رو روی پین 12 پورت C راه اندازی کنیم که خط اول رو روی 2 میزاریم اگر هم دقت کنید خودش به صورت کامنت دقیقا بالای کد راهنمایی کرده و در خط دوم هم پین مربوطه رو انتخاب می کنیم.

خب حالا وقتش رسیده که کدمون رو کامپایل کنیم و ببینیم که آیا از لحاظ ساختاری بدون خطا و هشدار کار میکنه یا نه؟

برای این کار از منوی بالا گزینه Project => BuildAll رو انتخاب می‌کنیم. در صورتیکه ساختار کد کاملا درست باشه نباید هیچ هشدار و یا خطایی در بخش Problems  داشته باشید.

Eclipse

 

دیباگ در Eclipse و اجرای کد روی سخت افزار

پس از اجرای این مرحله نوبت به اجرای کدمون روی سخت افزار میرسه که باید از منوی صفحه اصلی مسیر پایین رو انتخاب کنید.

Run => Debug Configuration  را انتخاب کنیم و بعد از این کار وارد صفحه دیباگر میشیم که توی این مرحله باید از گرینه های سمت چپ، گزینه GBD-SEGGER J_LINK_Debugging  انتخاب کنیم و در زیر مجموعه اون دقیقا باید اسم پروژه‌ای که کامپایل کردیدرو ببینید.

Eclipse

خب حالا یه سری تنظیمات مورد نیاز که در نرم افزار Eclipse که برای آپلود کد نیازه رو انجام میدیم.

توی سربرگ قسمت منو، Debugger رو انتخاب می کنیم و توی این صفحه چیزی که خیلی از اهمیت بالایی برخورد داره انتخاب Device Name و Interface  هست که به صورت خیلی واضح در شکل مشخص شده و بقیه تنظیمات رو به صورت پیش فرض میزاریم.

 Eclipse

 

و بعد از انجام این تنظیمات گزینه Debug رو میزنیم.

توی این مرحله قادریم که کدمون رو به صورت خط به خط دنبال کنیم و در هر مرحله عملکرد کد رو مورد بررسی قرار بدیم.

 Eclipse

خب چطور باید با این محیط کار کنیم؟

Eclipse Icon

از منوی بالا به ترتیب از سمت چپ

اولین آیکون:

اولین آیکون ایکلیپس

اسمش Breakpoint یعنی اینکه اگه خطی رو نخواستیم اجرا بشه میتونیم این گزینه رو بزنیم و به ادامه خطوط بپردازیم.

دومین آیکون:

دومین آیکون ایکلیپس

اسمش Resume یعنی بدون اینکه کاربر خودش رو درگیر با دیباگ خط به خط کد کنه میتونه به صورت مستقیم کد رو روی تراشه آپلود کنه.

سومین آیکون:

سومین آیکون ایکلیپس

اسمش Suspend یعنی زمانیکه بخوایم از مد Resume  خارج بشیم استفاده می کنیم.

چهارمین آیکون:

چهارمین آیکون ایکلیپس

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

پنجمین آیکون:

پنجمین آیکون ایکلیپس

اسمش Disconnect که اصلا برای ما کاربردی نداره و حداقل تا امروز به کار خودم نیومده.

ششمین آیکون:

ششمین آیکون ایکلیپس

اسمش step Into که برای دیدن داخل توابع به کار میره.

هفتمین آیکون:

هفتمین آیکون ایکلیپس

اسمش Step Over  که برای اجرای خط به خط کد به کار میره.

تست عملی کد توسط نرم افزار Eclipse

خب خسته نباشید چون تونستید به راحتی اولین پروژه چشمک زن رو تا مرحله دیباگ ببرید جلو.

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

 

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

با سیسوگ همراه باشید.



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

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

 

یک دیدگاه در “11”

  1. Avatar حسین گفت:

    با سلام .
    متشکر بابت مطلب خوبتون .
    در اون قسمت از مراحل ایجاد پروژه که باید نوع میکرو را انتخاب کنیم ، (که علی القاعده به طور پیشفرض در اکلیپس وجود نداره ) از کجا باید فایل های مربوط به کمپایلر یک میکرو خاص رو تهیه کرد که بتونه کد رو بر اساس اون کمپایل کنه ؟ مثلا arm gcc یا avr gcc یا ccs(برای pic)؟
    آیا فقط با کمپایلرهای رایگان میتونه کار کنه ؟
    مرسی.

  2. Reza Poordana reza گفت:

    سلام
    احتمال داره که ایراد از نسخه جاوای شما باشه؟
    چون خودش گفته حتما آخرین نسخه جاوا 64bit رو نصب کنید!

    1. BLO OM BLO OM گفت:

      سلام دوست عزیز بله این امکان هم وجود داره
      اما ورژنی رو که خودم جواب گرفتم رو توی مقاله نوشتم
      خوشحال میشم اگر بتونید ورژن جدیدش رو نصب کنید و مسیر نصب رو به صورت کامنت در اختیار دوستان قرار بدید
      موفق باشید.

  3. Avatar نوید گفت:

    سلام وقت بخیر
    من چند وقت یدونه برد stmf7 با السیدی تاچ خریدم
    برنامه نویسی بلدم ولی تا بحال با arm کار نکردم
    میشه راهنماییم کنین از کجا شروع کنم و با این دو وسیله چه کارهایی میتونم انجام بدم؟؟
    همچنین اگر در این رابطه اموزشی هم در سایت دارین بگین
    بسیار ممنونم

    1. Avatar امیرحسین مرادیان گفت:

      با آردوینو کد بزن
      کتابخونه آرم رو نصب کن
      و با ide اردوینو پروگرامش کن?

      1. BLO OM BLO OM گفت:

        سلام دوست عزیز فکر نمیکنم نیازی به این کار باشه چون خود اردینو، IDE مختص به خودش رو داره که دقیقا همین کاری که شما گفتید انجام میده
        البته صحبتی که می کنید کاملا امکان پذیره منتها بنده اموزش رو گذاشتم روی stm32 چون اکثریت هم از این میکروکنترلر استفاده می کنند.
        موفق باشید

      2. Avatar نوید گفت:

        سلام.اردیونو چرا اخه؟!؟
        نمیشه تو کیل اینکارو کرد؟

        1. Avatar امیرحسین مرادیان گفت:

          سلام فرمایش شما صحیحه و با کیل میشه میکروهای آرم رو برنامه نویسی کرد اما بنده فرض رو بر این گرفتم که معمولا دوستان برنامه نویسی میکرو هارو با avr و بالطبع آردوینو شروع میکنن
          بهمین خاطر پیشنهاد کردم از ide آردوینو برای کار با آرم‌استفاده کنن???

    2. BLO OM BLO OM گفت:

      سلام دوست عزیز
      در مورد بخش اول سوالتون توی خود سایت قسمت دسته ها stm32 رو انتخاب کنید و یک سری اموزش ها براتون میاد که فکر میکنم میتونه خیلی کمکتون کنه
      و در مورد بخش دوم سوالتون تقریبا میتونم بگم که هر کاری رو میتونید با میکرو انجام بدید حالا اینکه LCD هم داره مسلما دست شما رو باز تر میکنه برای مانور بیشتر از جمله کارهایی که می تونید انجام بدید شامل بارگزاری عکس، ساختن یک منو کاملا حرفه ای با دو کلید فشاری و راه اندازی تمامی قسمت های میکروتون به همراه یک منو کاربردی و … که کاملا بستگی به سلیقه شما داره

      اما توصیه ای که بنده دارم برای شما اینکه قبل از هر چیزی زبان C رو تقویت کنید و واقعا به صورت حرفه ای یاد بگیرید چون تمامی پروژه هایی که پیش نیازش زبان C حرفه ای هست
      و توی این مسیر حداقل روشی که میتونم پیشنهاد کنم بهتون دیدن کد های حرفه ای هست که فقط کافیه یه سرچ کوچک بزنید کد ها رو می تونید بدست بیارید و باز مهم تر از دیدن کد، تحلیل کد هست.
      امیدوارم تونسته باشم کمکتون کنم دوست عزیز.

      1. Avatar نوید گفت:

        سلام.من تا الان فقط برای میکرو های pic کد زدم…حرفه ایی نیستم ولی خب مبتدی هم نیستم.این برد stm32f7 رو دست دوم از رفیقم گرفتم محض کنجکاوی…
        میخام بدونم این برد که محصوله زتا برد هم هست بدونه پروگرمر هم پروگرام میشه؟؟فقط با اتصال به pc؟؟

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

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