STM8, توصیه شده, معرفی, مقاله

چطور از کامپایلر SDCC برای STM8 استفاده کنیم ؟

قبلا توی مقاله ای تحت عنوان ” کدام کامپایلر برای میکروکنترلر STM8 بهتر است ؟ ” به بررسی کامپایلر های موجود برای میکروکنترلر STM8 پرداختیم ؛ از مجموع مباحث مطرح شده در خصوص یک کامپایلر خوب به جمع بندی رسیدیم که کامپایلر SDCC با توجه به امکانات و قابلیت هایی که دارد برای کار با این میکروکنترلر یک کامپایلر خوب و قابل قبول است. اما سوالی که مطرح می‌شود این است که چطور می توانیم از این کامپایلر استفاده کنیم ؟ از این کامپایلر هم میتونیم مثل باقی کامپایلر ها استفاده کنیم با این تفاوت که برای این کامپایلر پلاگین خوبی با ادیتور های موجود ارائه نشده و مجبوریم که از Makefile برای کامپایل استفاده کنیم.

پس با سیسوگ همراه باشید که هم نحوه کار با کامپایلر SDCC را بیاموزید هم این که چطور از Makefile در کامپایل پروژه ها استفاده کنیم.

گام اول نصب کامپایلر SDCC

قبل از هر کاری برای شروع لازم است که ابزار های لازم را تهیه و بهینه سازی کنید ، منطقا چون قراره که از SDCC استفاده کنیم لازم است که اونو نصب کنیم ؛ برای دانلود این کامپایلر باید آخرین ورژنش رو از سایت sf.net دانلود کنید ؛ برای دانلود کامپایلر SDCC روی این لینک کلیک کنید ؛ اگر نتونستید از خود سایت sf دانلود کنید بدونید که بدلیل تحریم هاست و میتونید از سرویس شکن که برای دور زدن تحریم ها طراحی شده استفاده کنید.

همونطور که اطلاع دارید نصب نرم افزار کار سختی نداره و فقط کافیه چند تا Next بزنید و در آخر Finish مثل همه نصب های دیگه کامپایلر SDCC نیز هیچ چیز اضافه ای برای نصب نداره.

برای اطمینان از نصب صحیح کامپایلر SDCC خط فرمان رو باز کنید و دستور زیر رو داخل آن وارد کنید :

و باید خروجی زیر رو دریافت کنید:

اگر چنین خروجی را دریافت کردید ؛ یعنی نصب به خوبی انجام شده و الان آماده اید که به مرحله بعد بروید ؛ فقط دقت داشته باشید که از ورژن 3.8.0 کامپایلر SDCC استفاده کنید.

نصب و پیکربندی Eclipse :

ویرایشگر Eclipse

برای این که بتونیم برنامه های بلند رو با کمترین دردسر بنویسیم و مدیریت کنیم لازم داریم که از یک ویرایشگر حرفه ای استفاده کنیم ؛ ویرایشگرهای زیادی وجود دارند که میتونیم برنامه رو با اونها بنویسیم ، اما در این پست قصد داریم از Eclipse برای این منظور استفاده کنیم ! همانطور که قبلا هم گفتم Eclipse یکی از بهترین ابزار های برنامه نویسی است که به کمک IBM ایجاد شد و هم اکنون در زمره بهترین ادیتورها است.

برای نصب eclipse لازمه که اول جاوا را نصب کنید بعد eclipse را از سایتش دانلود کنید و … ؛ آموزش تمام مراحل نصب eclipse را می توانید در پست ” آموزش برنامه‌نویسی با رزبری پای بدون سیستم‌عامل – قسمت چهارم ” در قسمت “چطور eclipse را نصب کنیم ” پیدا کنید.

البته میتونید از CodeBlock هم برای کار با کامپایلر SDCC استفاده کنید ؛ اما Eclipse کجا و CodeBlock کجا ! 

بعد از نصب Eclipse لازمه که ابزار Make رو هم نصب کنید که آموزشش توی همون لینک هست با عنوان ” نصب ابزار های لینوکسی ” .

با نصب make در واقع سیکل نصب ابزار های لازم رو به اتمام رسوندیم و حالا لازمه که اولین برنامه خودمون رو بنویسیم !

MakeFile چیست و به چه دردی میخوره ؟

makefile

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

اینجاست که ابزار make وارد میشه ؛ در واقع این ابزار برای خودکار سازی این فرایند طراحی و ساخته شده ؛ در یک نگاه کلی، make فقط برای کامپایل برنامه‌ها استفاده نمی‌شود. شما می‌توانید در هر کاری که در آن نیاز به بروزرسانی بعضی فایل‌ها متناسب با تغییر در فایل‌های دیگر است از make استفاده کنید.

روند انجام تمام جزئیات رو توی یه فایل ذخیره میکنیم که بهش makefile گفته میشه ؛ به زبان ساده تر در واقع makefile یه سری دستور العمل است که برای داشتن خروجی لازمه که انجام بشه ؛ و ابزار make اون دستور ها رو پشت سر هم اجرا میکنه !

همونطور که می بینید makefile اصلا چیز ترسناکی نیست و خیلی هم دوست داشتنی است ، برای داشتن دید بهتر نسبت به makefile به صفحه wiki آن مراجعه کنید.

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

ساخت اولین برنامه برای STM8 با استفاده از SDCC :

اولین قدم برای ایجاد اولین برنامه ساخت پروژه است ؛ برای این کار از گزینه File در Eclipse  زیر منوی New را انتخاب کنید و گزینه C Project را انتخاب کنید.

ایجاد پروژه C برای STM8 در Eclipse

 

بعد از انتخاب C Project پنجره ای ظاهر می شود که باید در آن نام و  نوع پروژه مورد نظر خود را انتخاب کنید. همانطور که مشخص است هر اسم دلخواهی را که دوست دارید انتخاب کنید و نوع پروژه را حتما باید از نوع Makefile انتخاب کنید.

دقت داشته باشد در نام پروژه از space استفاده نکنید و حتما فاصله ها را با ‘_’ (آندرلاین) پر کنید.

 

انتخاب پروژه Makefile در Eclipse

 

برای اضافه کردن makefile نیاز نیست کار خاصی انجام دهید ؛ تنها کافیه بر روی اسم پروژه که به شکل یک پوشه نمایش داده میشه راست کلیک کنید و از گزینه New زیر منوی file را انتحاب کنید.

اضافه کردن makefile

 

بعد از انتخاب file پنجره ای ظاهر می شود که در آن باید اسم فایل جدید را انتخاب کنید ، نام makefile را انتحاب کنید و دکمه finish را بزنید.

انتخاب اسم یک فایل در eclipse

بعد از ساخت فایل makefile بر روی آن دابل کلیک کنید و محتوای زیر را در آن کپی کند :

در واقع محتوای فوق لیست کارهایی است که برای کامپایل پروژه لازم است انجام شود. حالا نوبت اضافه کردن main.c است ؛ برای این کار کافی است مطابق قبل بر روی نام پروژه راست کلیک کنید و گزینه new را انتخاب کنید اما این بار گزینه Source File را انتخاب کنید .

 

 

و در قسمت انتخاب نام main.c را بنویسید ؛

دقت داشته باشید همه نام را با حروف کوچک انتخاب کنید تا مشکلی برای کامپابل پیش نیاید

حالا درون فایل main.c کد زیر را وارد کنید

 

برای اضافه کردن کتابخانه های STM8 به پروژه ابتدا فایل StdPeriphLib را دانلود کرده و از حالت فشرده خارج کنید ؛ بر روی پوشه StdPeriphLib کلیک کرده رو آن را کپی کنید سپس بر روی نام پروژه در Eclipse راست کلیک کنید و از منوی ظاهر شده گزینه Paste را انتخاب کنید ؛ با این کار پوشه به پروژه اضافه خواهد شد ؛ و در نهایت تصویری مطابق تصویر زیر خواهید داشت :

 

 

🙂 واقعا کی فکرشو میکرد اضافه کردن کتابخانه به Eclipse اینقدر ساده باشه ؟! حالا نوبت اضافه کردن مسیر کتابخانه های استاندارد هستش برای این کار بر روی پروژه راست کلیک کنید و گزینه properties را انتخاب کنید ؛ در پنجره ظاهر شده منوی C/C++General را باز کنید و زیر گزینه Preprocessor Include path را انتخاب کنید سپس گزینه GNU C و بر روی CDT User Setting Entries کلیک کنید و سپس دکمه Add را بزنید.

 

 

اگر SDCC را در مسیر پیشفرض خود نصب کرده باشید ؛ آدرس کتابخانه های آن به شکل زیر خواهند بود :

در پنجره باز شده ؛ مطابق عکس زیر تنظیمات را انجام دهید و کلید Ok را بزنید !

تعین مسیر کامپایلر SDCC

 

حالا همه چی برای کامپایل آماده است و تنها کافی است برای کامپایل پروژه کلید ctrl+B را بزنید ؛ در قسمت پایین Eclipse احتمالا پیام های زیر به نمایش در می‌آیند که نشان از کامپایل شدن پروژه دارند.

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

 

فایل خروجی کجاست ؟

اما فایل خروجی با چه فرمتی و در کجا ایجاد می شود ؛ بعد از کامپایل پروژه پوشه bin به لیست پوشه های پروژه اضافه خواهد شد ؛ که فایل خروجی با فرمت hex در این پوشه قرار دارد و به سادگی با راست کلیک بر روی آن می توانید آن را کپی کنید.

 

اگر نمیدونید چطور میشه میکروکنترلر stm8 را برنامه ریزی کرد ؛ قسمت ششم آموزش میکروکنترلر STM8 را مطالعه کنید.

 



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

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

 

نوشته های مشابه

4 دیدگاه در “چطور از کامپایلر SDCC برای STM8 استفاده کنیم ؟

  1. Reza Poordana reza گفت:

    به این میگن یه سایت فعال و خوب!
    برقرار باشید…..

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

      متشکرم دوست عزیز
      پاینده باشید 🙂

  2. Amir گفت:

    سلام
    خسته نباشید
    —————————————————————
    برای کار با STM8 ها مگه نمیشه از ویزارد CubeMX استفاده کرد؟؟ اون فقط برا 32 بیتی هاست ؟؟ تاحالا دقت نکرده بودم…
    —————————————————————
    سایت ST برا ما باز نمیشه ؟؟ واقعا ؟؟ خیلی وقته سر نزدم ….
    چه میکنه این تحریم ها !! به افتخارشون بزن زنگو !!!

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

      سلام ؛ متشکرم
      خوب فکر میکنم نرم افزار مخصوص خودش رو داره ؛ stm8 Cube که از سایت St میتونید دانلود کنید
      منظور من sf بود نه st ؛ sf میشه sourceforge که ما رو تحریم کرده

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

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