مقدمه
شاید بارها با خودتون فکرکردهباشید آیا امکانش هست بتونیم از یک ادیتور ()OpenSource برای برنامهنویسی هرنوع میکروکنترلری استفادهکنیم؟ و دیگه لازمنباشه که برای هر میکروکنترلری یک ادیتور مختصبه خودش رو استفادهکنیم. اینکار بهراحتی با ادیتور Eclipse امکانپذیره و شاید این سوال براتون پیشبیاد که چطور از این ادیتور Eclipse میشه استفادهکرد؟ فقط کافیه پلاگین هرنوع میکروکنترلری که میخواید رو نصبکنید. توی این آموزش هم میخوایم یک پروژه چشمکزن با میکروکنترلر STM32F103RE درستکنیم. البته بازم اگر بیشتر میخواید بدونید این ادیتور قدرتمند چه کارهایی میتونه انجامبده پیشنهادمیکنم اینجا کلیککنید. قبلاز آموزش ابتدا باید نرمافزار رو نصبش کنیم.
یه نکتهاساسی وجود داره اونم اینکه حتما از ورژن Eclipse Mars استفادهکنید. دلیلشم اینهکه حداقل خودم ورژنهای جدیدش رو دانلود کردم و حداقل چندینساعت درگیر نصبشبودم و بهنتیجه نرسیدم تااینکه فهمیدم مشکل از ورژن جدیده
فقط به مسیر Workspace در طول نصب دقتکنید چون تمامی پروژههایی که درست میکنید داخل این فولدر قرار میگیرند.
خب پساز نصب نرمافزار Eclipse Mars میخوایم نحوهکار با این نرمافزار رو یاد بگیریم و درنهایت یک کد چشمکزن رو باهاش توسط STM32 راهاندازی کنیم.
ساخت پروژه در Eclipse
مرحله 1.
ابتدای ورود به نرمافزار با این محیط روبهرو میشیم.
مرحله 2.
حالا قصد ساختن پروژه چشمک زن رو داریم که از محیط بالای نرمافزار Eclipse گزینه File رو میزنیم و پروژه مدنظرمون رو که میخوایم از چهنوعی باشه (C/C++) رو انتخاب میکنیم. اگر مراحلی که گفتم رو بهدرستی توی نرمافزار Eclipse انجامدادهباشید باید بهشکلزیر برسید.
مرحله 3.
در ابتدا باید اسم پروژه رو انتخابکنیم.
نکتهای که در این مرحله مهمه توی اسمگذاری پروژه اگر نیاز به فاصله داشتید حتما از _ استفاده کنید بهطورمثال LED_Blink
در ستون سمت چپ گفته ایسی مدنظرتون رو انتخابکنید. که دراینجا آیسی STM32F103RET6 انتخابکردیم. در ستون سمت راست هم گفته که از چه ابزاری میخواید برای کامپایلکد استفادهکنید که گزینه اولی Cross Arm GCC رو انتخاب میکنیم وگزینه Next رو میزنیم.
مرحله 4.
در این قسمت باید جزییات مربوطبه تراشهمون رو انتخابکنیم.
کادر اول: مربوطبه ساختار سختافزاری تراشه هست که باید از روی User Manual چک بشه و درصورتیکه اشتباه انتخابکنیم دسترسی بعضی از قسمت های تراشه رو از ما میگیره پس بادقت گزینهها رو چککنید.
کادر دوم: تعیین سایز فلش تراشه است.
کادر سوم: تعیینمقدار رم تراشه است.
کادر چهارم: تعیینمقدار کلاک خارجی تراشه است.
کادرپنجم: انتخاب نوع پروژه که دوحالت داره یکیاینکه میخوایم پروژه با ساختارکلی درستکنیم یا یک کد سمپل LED رو پیادهسازی کنیم. که کدسمپل LED مدنظرما هست.
کادر ششم: این گزینه رو همیشه روی حالت Freestanding قرار میدیم.
کادر هفتم : تعیین نوع دیباگر تراشه است. و همینطور بقیه گزینهها صرفا برای دیدن خطاها و بهبود در برنامهنویسیه که اصولا بهصورت پیشفرض خودشون خوب هستند و نیازیبه تغیییر ندارند. پساز انجام این مرحله گزینه Next را انتخاب میکنیم.
مرحله 5.
این بخش مسیر پروژه رو همراهبا جزییات گزارشمیده که البته قابلتغییر هم هست که اصولا روی پیشفرض خودش میزاریم.
پساز انجام این مرحله گزینه Next رو میزنیم.
مرحله 6.
در این مرحله تنظیماتی که از مراحل قبل رو در قسمت ساخت پروژه نرمافزار Eclipse اعمالکردیم رو میبینم:
که دارای دو قسمت Debug و Release هست که جفتشون باید تیک خورده باشند. بعد از دیدن این قسمت هم گزینه Next رو میزنیم.
مرحله 7.
این قسمت هم مسیرنهایی فایلی که ساختیم رو به ما نشونمیده و درنهایت بعداز این قسمت گزینهFinish رو انتخاب میکنیم.
خب تبریک میگم بلاخره تنظیمات اولیه تموم شد.
کدنویسی در محیط Eclipse
خب پساز اینکه مراحل ساخت و تنظیمات پروژه رو انجامدادیم. با یک صفحه کد مواجه میشیم و اگر به کد دقتکنیم میبینیم که دقیقا کد چشمکزنه. اگه یادتون باشه توی قسمت تنظیمات دقیقا خودمون انتخابکردیم که پیشفرضش رو کد چشمکزن باشه.
حالا سوال پیش میاد که کجا پایه مربوطبه LED رو باید انتخابکنیم؟ برای اینکار باید از منو سمت چپ Include رو انتخابکنیم و در زیرمجموعه اون باید فایل Blinkled.h رو انتخابکنیم.
پساز انتخاب این گزینه دوباره یک صفحه کد رو میبینیم که اصلا نیازیبه ترس نیست چون فقط ما با چندخط اولش کار داریم.
خط اول میگه که شما میخواید از چه پورتی استفادهکنید. که در این پروژه میخوایم LED رو روی پین۱۲ پورت C راهاندازی کنیم که خط اول رو روی۲ میزاریم اگر هم دقتکنید خودش بهصورت کامنت دقیقا بالای کد راهنمایی کرده و در خط دوم هم پین مربوطه رو انتخاب میکنیم. خب حالا وقتش رسیده که کدمون رو کامپایلکنیم و ببینیم که آیا ازلحاظ ساختاری بدونخطا و هشدار کار میکنه یا نه؟ برای این کار از منویبالا گزینه Project => BuildAll رو انتخاب میکنیم. درصورتیکه ساختار کد کاملادرست باشه نباید هیچ هشدار و یا خطایی در بخش Problems داشتهباشید.
دیباگ در Eclipse و اجرای کد روی سختافزار
پساز اجرای این مرحله نوبتبه اجرای کدمون روی سختافزار میرسه که باید از منوی صفحه اصلی مسیر پایین رو انتخابکنید. Run => Debug Configuration را انتخابکنیم و بعداز اینکار وارد صفحه دیباگر میشیم که توی این مرحله باید از گرینههای سمت چپ، گزینه GBD-SEGGER J_LINK_Debugging انتخابکنیم و در زیرمجموعه اون دقیقا باید اسم پروژهای که کامپایل کردید رو ببینید.
خب حالا یهسری تنظیمات موردنیاز که در نرمافزار Eclipse که برای آپلود کد نیازه رو انجاممیدیم. توی سربرگ قسمت منو، Debugger رو انتخاب میکنیم و توی این صفحه چیزی که خیلی از اهمیتبالایی برخورداره انتخاب Device Name و Interface هست که بهصورت خیلیواضح در شکل مشخصشده و بقیه تنظیمات رو بهصورت پیشفرض میزاریم.
و بعداز انجام این تنظیمات گزینه Debug رو میزنیم. توی این مرحله قادریم که کدمون رو بهصورت خط به خط دنبالکنیم و در هرمرحله عملکرد کد رو موردبررسی قراربدیم.
خب چطور باید با این محیط کار کنیم؟
از منوی بالا بهترتیب از سمت چپ
اولین آیکون:
اسمش Breakpoint یعنی اینکه اگه خطی رو نخواستیم اجرا بشه میتونیم این گزینه رو بزنیم و به ادامه خطوط بپردازیم.
دومین آیکون:
اسمش Resume یعنی بدوناینکه کاربر خودش رو درگیر با دیباگ خط به خط کد کنه میتونه بهصورت مستقیم کد رو روی تراشه آپلود کنه.
سومین آیکون:
اسمش Suspend یعنی زمانیکه بخوایم از مد Resume خارجبشیم استفاده میکنیم.
چهارمین آیکون:
این گزینه بهمعنای Terminate زمانیکه بخوایم از مد دیباگ خارج بشیم از این گزینه استفاده میکنیم.
پنجمین آیکون:
اسمش Disconnect که اصلا برای ما کاربردی نداره و حداقل تا امروز به کار خودم نیومده.
ششمین آیکون:
اسمش step Into که برای دیدن داخل توابع بهکار میره.
هفتمین آیکون:
اسمش Step Over که برای اجرای خط به خط کد بهکار میره.
تست عملی کد توسط نرم افزار Eclipse
خب خسته نباشید چون تونستید بهراحتی اولین پروژه چشمکزن رو تا مرحله دیباگ ببرید جلو. حالا وقتشه که گزینه Resume رو بزنیم و عملکرد سختافزارمون رو ببینیم.
امیدوارم که تونسته باشم یک دیدکلی استفادهاز این نرمافزار رو به شما علاقهمندان دادهباشم. با ما همراه باشید.
منبع: سیسوگ