شاید بارها با خودتون فکر کرده باشید آیا امکانش هست بتونیم از یک ادیتور ()OpenSource برای برنامه نویسی هر نوع میکروکنترلری استفاده کنیم؟ و دیگه لازم نباشه که برای هر میکروکنترلری یک ادیتور مختص به خودش رو استفاده کنیم.این کار به راحتی با ادیتور Eclipse امکان پذیره و شاید این سوال براتون پیش بیاد که چطور از این ادیتور Eclipse میشه استفاده کرد؟ فقط کافیه پلاگین هر نوع میکروکنترلری که میخواید رو نصب کنید. توی این آموزش هم میخوایم یک پروژه چشمک زن با میکروکنترلر STM32F103RE درست کنیم.
البته بازم اگر بیشتر میخواید بدونید این ادیتور قدرتمند چه کار هایی میتونه انجام بده پیشنهاد میکنم اینجا کلیک کنید.
قبل از آموزش ابتدا بایدنرم افزار رو نصبش کنیم.
فقط به مسیر Workspace در طول نصب دقت کنید چون تمامی پروژههایی که درست میکنید داخل این فولدر قرار میگیرند.
خب پس از نصب نرم افزار Eclipse Mars میخوایم نحوه کار با این نرم افزار رو یاد بگیریم و در نهایت یک کد چشمک زن رو باهاش توسط STM32 راه اندازی کنیم.
ساخت پروژه در Eclipse
مرحله 1.
ابتدای ورود به نرم افزار با این محیط رو به رو میشیم.
مرحله 2.
حالا قصد ساختن پروژه چشمک زن رو داریم که از محیط بالای نرم افزار Eclipse گزینه File رو میزنیم و پروژه مدنظرمون رو که میخوایم از چه نوعی باشه (C/C++) رو انتخاب می کنیم.
اگر مراحلی که گفتم رو به درستی توی نرم افزار Eclipse انجام داده باشید باید به شکل زیر برسید.
مرحله 3.
در ابتدا باید اسم پروژه رو انتخاب کنیم.
در ستون سمت چپ گفته ایسی مدنظرتون رو انتخاب کنید. که دراینجا آیسی STM32F103RET6 انتخاب کردیم.
در ستون سمت راست هم گفته که از چه ابزاری میخواید برای کامپایل کد استفاده کنید که گزینه اولی Cross Arm GCC رو انتخاب میکنیم وگزینه Next رو میزنیم.
مرحله 4.
در این قسمت باید جزییات مربوط به تراشهمون رو انتخاب کنیم.
کادر دوم: تعیین سایز فلش تراشه است.
کادر سوم: تعیین مقدار رم تراشه است.
کادر چهارم: تعیین مقدار کلاک خارجی تراشه است.
کادرپنجم: انتخاب نوع پروژه که دو حالت داره یکی اینکه میخوایم پروژه با ساختار کلی درست کنیم یا یک کد سمپل LED رو پیاده سازی کنیم. که کد سمپل LED مدنظر ما هست.
کادر ششم: این گزینه رو همیشه روی حالت Freestanding قرار میدیم.
کادر هفتم : تعیین نوع دیباگر تراشه است.
و همینطور بقیه گزینه ها صرفا برای دیدن خطاها و بهبود در برنامه نویسیه که اصولا به صورت پیش فرض خودشون خوب هستند و نیازی به تغیییر ندارند.
پس از انجام این مرحله گزینه Next را انتخاب می کنیم.
مرحله 5.
این بخش مسیر پروژه رو همراه با جزییات گزارش میده که البته قابل تغییر هم هست که اصولا روی پیش فرض خودش میزاریم.
پس از انجام این مرحله گزینه Next رو میزنیم.
مرحله 6.
در این مرحله تنظیماتی که از مراحل قبل رو در قسمت ساخت پروژه نرم افزار Eclipse اعمال کردیم رو میبینم
که دارای دو قسمت Debug و Release هست که جفتشون باید تیک خورده باشند.
بعد از دیدن این قسمت هم گزینه Next رو میزنیم.
مرحله 7.
این قسمت هم مسیر نهایی فایلی که ساختیم رو به ما نشون میده و در نهایت بعد از این قسمت گزینه Finish رو انتخاب می کنیم.
خب تبریک میگم بلاخره تنظیمات اولیه تموم شد.
کدنویسی در محیط Eclipse
خب پس از اینکه مراحل ساخت و تنظیمات پروژه رو انجام دادیم.
با یک صفحه کد مواجه میشیم و اگر به کد دقت کنیم می بینیم که دقیقا کد چشمک زنه.
اگه یادتون باشه توی قسمت تنظیمات دقیقا خودمون انتخاب کردیم که پیش فرضش رو کد چشک زن باشه.
حالا سوال پیش میاد که کجا پایه مربوط به LED رو باید انتخاب کنیم؟
برای این کار باید از منو سمت چپ Include رو انتخاب کنیم و در زیر مجموعه اون باید فایل Blinkled.h رو انتخاب کنیم
پس از انتخاب این گزینه دوباره یک صفحه کد رو میبینیم که اصلا نیازی به ترس نیست چون فقط ما با چند خط اولش کار داریم.
خط اول میگه که شما میخواید از چه پورتی استفاده کنید.
که در این پروژه میخوایم LED رو روی پین 12 پورت C راه اندازی کنیم که خط اول رو روی 2 میزاریم اگر هم دقت کنید خودش به صورت کامنت دقیقا بالای کد راهنمایی کرده و در خط دوم هم پین مربوطه رو انتخاب می کنیم.
خب حالا وقتش رسیده که کدمون رو کامپایل کنیم و ببینیم که آیا از لحاظ ساختاری بدون خطا و هشدار کار میکنه یا نه؟
برای این کار از منوی بالا گزینه 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 رو بزنیم و عملکرد سخت افزارمون رو ببینیم.
امیدوارم که تونسته باشم یک دید کلی استفاده از این نرم افزار رو به شماعلاقه مندان داده باشم.
با سیسوگ همراه باشید.
سلام خسته نباشید
توی پست مربوط به “آموزش استفاده از نرم افزار Eclipse برای میکروکنترلر ARM STM32” تاکید فرمودید که حتما از نسخه Mars نرم افزار eclipse استفاده کنیم… خب من این نسخه رو پیدا نکردم ممنون میشم راهنمایی کنید که از کجا باید پیدا کنم این نسخه رو?
سلام دوست عزیز، امیداورم که حالتون خوب باشه
من الان از اخرین نسخه این اپلیکیشن یعنی ۲۰۲۲ دارم اسنفاده میکنم و به خوبی داره کار میکنه 🙂
جالبه
با سلام .
متشکر بابت مطلب خوبتون .
در اون قسمت از مراحل ایجاد پروژه که باید نوع میکرو را انتخاب کنیم ، (که علی القاعده به طور پیشفرض در اکلیپس وجود نداره ) از کجا باید فایل های مربوط به کمپایلر یک میکرو خاص رو تهیه کرد که بتونه کد رو بر اساس اون کمپایل کنه ؟ مثلا arm gcc یا avr gcc یا ccs(برای pic)؟
آیا فقط با کمپایلرهای رایگان میتونه کار کنه ؟
مرسی.
سلام
احتمال داره که ایراد از نسخه جاوای شما باشه؟
چون خودش گفته حتما آخرین نسخه جاوا 64bit رو نصب کنید!
سلام دوست عزیز بله این امکان هم وجود داره
اما ورژنی رو که خودم جواب گرفتم رو توی مقاله نوشتم
خوشحال میشم اگر بتونید ورژن جدیدش رو نصب کنید و مسیر نصب رو به صورت کامنت در اختیار دوستان قرار بدید
موفق باشید.
سلام وقت بخیر
من چند وقت یدونه برد stmf7 با السیدی تاچ خریدم
برنامه نویسی بلدم ولی تا بحال با arm کار نکردم
میشه راهنماییم کنین از کجا شروع کنم و با این دو وسیله چه کارهایی میتونم انجام بدم؟؟
همچنین اگر در این رابطه اموزشی هم در سایت دارین بگین
بسیار ممنونم
با آردوینو کد بزن
کتابخونه آرم رو نصب کن
و با ide اردوینو پروگرامش کن?
سلام دوست عزیز فکر نمیکنم نیازی به این کار باشه چون خود اردینو، IDE مختص به خودش رو داره که دقیقا همین کاری که شما گفتید انجام میده
البته صحبتی که می کنید کاملا امکان پذیره منتها بنده اموزش رو گذاشتم روی stm32 چون اکثریت هم از این میکروکنترلر استفاده می کنند.
موفق باشید
سلام.اردیونو چرا اخه؟!؟
نمیشه تو کیل اینکارو کرد؟
سلام فرمایش شما صحیحه و با کیل میشه میکروهای آرم رو برنامه نویسی کرد اما بنده فرض رو بر این گرفتم که معمولا دوستان برنامه نویسی میکرو هارو با avr و بالطبع آردوینو شروع میکنن
بهمین خاطر پیشنهاد کردم از ide آردوینو برای کار با آرماستفاده کنن???
سلام دوست عزیز
در مورد بخش اول سوالتون توی خود سایت قسمت دسته ها stm32 رو انتخاب کنید و یک سری اموزش ها براتون میاد که فکر میکنم میتونه خیلی کمکتون کنه
و در مورد بخش دوم سوالتون تقریبا میتونم بگم که هر کاری رو میتونید با میکرو انجام بدید حالا اینکه LCD هم داره مسلما دست شما رو باز تر میکنه برای مانور بیشتر از جمله کارهایی که می تونید انجام بدید شامل بارگزاری عکس، ساختن یک منو کاملا حرفه ای با دو کلید فشاری و راه اندازی تمامی قسمت های میکروتون به همراه یک منو کاربردی و … که کاملا بستگی به سلیقه شما داره
اما توصیه ای که بنده دارم برای شما اینکه قبل از هر چیزی زبان C رو تقویت کنید و واقعا به صورت حرفه ای یاد بگیرید چون تمامی پروژه هایی که پیش نیازش زبان C حرفه ای هست
و توی این مسیر حداقل روشی که میتونم پیشنهاد کنم بهتون دیدن کد های حرفه ای هست که فقط کافیه یه سرچ کوچک بزنید کد ها رو می تونید بدست بیارید و باز مهم تر از دیدن کد، تحلیل کد هست.
امیدوارم تونسته باشم کمکتون کنم دوست عزیز.
سلام.من تا الان فقط برای میکرو های pic کد زدم…حرفه ایی نیستم ولی خب مبتدی هم نیستم.این برد stm32f7 رو دست دوم از رفیقم گرفتم محض کنجکاوی…
میخام بدونم این برد که محصوله زتا برد هم هست بدونه پروگرمر هم پروگرام میشه؟؟فقط با اتصال به pc؟؟
درود بر شما
وقت بخير
اينکه فرموديد کدهاي حرفه اي زبان c در اينترنت وجود دارد ميشه بفرماييد چي بايد سرچ کرد تا بيان؟
سپاسگذار ميشم راهنمايي بفرماييد
برای پیدا کردن برنامه های خوب میتونید گیت هاب رو بگردید نمونه کدهای خیلی خوبی میتونید پیدا کنید.