به نام خدا : در این مطلب در حد معرفی toolchain پیش میریم، فعلا چون در ابتدای کار با اتمل استودیو هستیم، زیاد روی این قسمت وقت نزاشتم، و عمیق نشدم تو این بحث toolchain، یه سری مطالعات سطحی کردم که در زیر در اختیارتون گزاشتم ( فعلا به دید به جلسه تفریحی بهش نگاه کنید ^_^ )
آموزش atmel studio جلسه 8 gnu toolchains
Toolchains GNU مجموعه ای از برنامه های خط فرمان مستقل است که برای ایجاد برنامه های کاربردی برای میکروکنترلرهای SAM و AVR استفاده می شود.
پیشنیاز این مطلب ( مطالعه بیشتر ) : معرفی بهترین کامپایلرها و IDE های زبان C و ++C در دنیا
برای کامپایل و تبدیل کد نوشته شده به زبان قابل فهم ماشین, علاوه بر کامپایلر به ابزارهای دیگری مانند اسمبلر, لینکر و…نیازمندیم؛ به مجموعه ی این ابزارها که برای برنامه نویسی به آنها نیاز است، زنجیره ابزار گنو یا gnu toolchain میگوییم؛ به عنوان مثال زنجیره ابزار گنو که برای میکروکنترلر AVR پورت شده : AVR toolchain نام دارد.
مجموعه کامپایار GNU ( GCC )
مجموعه کامپایلر GNU توسط Atmel Studio در مرحله build استفاده شده است؛ نسخه های خاص معماری مجموعه کامپایلر GNU، از C-code compilation, assembly and linking of C and C++ پشتیبانی می کند.
مجموعه کامپایلر AVR GNU تحت شرایط مجوز فراگیر همگانی GNU، توزیع شده است؛ یک نسخه از این مجوز نیز در پوشه نصب Atmel Studio یافت می شود.
مجموعه کامپایلرهای گنو : این کامپایلر توسط ریچارد استالمن در سال ۱۹۸۷ برای C منتشر شد. gcc ابتدا سر نام واژههای GNU C Compiler بود و تنها برای زبان سی به کار میرفت اما بعدا با اضافه شدن کامپایلرهای زبانهای سیپلاسپلاس، فورترن، پاسکال، جاوا، آبجکتیو سی و ایدا به مجموعه، نام آن به GNU Compiler Collection تغیر پیدا کرد. این مجموعه ابتدا منحصرا در سیستمهای تحت گنو کاربرد داشت اما اکنون در طیف وسیعی از سیستم عاملها و سختافزارها کاربرد دارد. جیسیسی تحت مجوز گنو جیپیال نسخهٔ ۳ منتشر میشود، البته با یک بند استثنا، که در آن بند به کاربران اجاز میدهد تا بتوانند علاوهبر نرمافزارهای آزاد در نرمافزارهای غیر چیپیال حتی نرمافزارهای انحصاری هم از جیسیسی استفاده کنند.
MinGW ( مخفف گنو برای ویندوز ) : همان mingw32 سابق، یک محیط توسعه آزاد و متن باز برای ایجاد برنامههای کاربردی مایکروسافت ویندوز است.
اجرای یک پروژه ساده با mingw در cmd : خب نسخه آفلاین فایل MinGW ( یعنی نیازی نی با فندقشکن! به نت وصل بشید و دانلودش کنید! ) رو از زیر میتویند دانلود کنید ( نیازی نی، خودتونو درگیر این داستان نکنید، هرچند ظرری نداره ولی خب لازم هم نی )، راهنمای نصبش هم در لینک زیر توضیح داده شده :
خب یه کد ساده زیر رو در یه فایل ذخیره کنید ( کد زیر رو من در فایلی با نام main.cpp ذخیره کردم و در مسیر D:\1 قرارش دادم ) :
1 2 3 4 5 6 |
#include <iostream> using namespace std; int main() { cout << "Hello world!\n"; } |
CMD رو اجرا کنید ( اگه بلد نیستید تو نت سرچ کنید! ) و کدهای زیر رو داخلش بنویسید :
1 2 3 |
CD/D D:\1 g++ main.cpp -o main.exe main.exe |
خط 1 : این لینک ( دستور Cd در cmd ) رو بخویند تا متوجه نحوه کار این خط بشید!
خط 2 : دستور compile؛ دستور -o نام فایل اجرایی رو تعیین میکنه که باید بعدش بیاد ( در اینجا ما main.exe تعیینش کردیم )
خط 3 : اگر کدمون خطایی نداشته باشه و جون سالم از خط 2 بدر کنیم، میتونیم کدمون رو اجرا کنیم، با نوشتن نام فایل اجراییمون یعنی main.exe
منبع توضیحات : MinGW for First Time Users HOWTO
خب شما اگه برید فصل GNU Toolchains از سند Atmel Studio 7 User Guide رو بخونید، از بخش 7.2 به بعد میره سراغ توضیحات Command های GNU؛ که اون کامندهایی که استفاده کرده رو توضیح داده ( طبق میکرو که AVR بایشه یا ARM، زبون C باشه یا CPP که هر حالت رو در یه بخشی توضیح داده )؛ لیست کامل دستورات GNU رو هم لطف میکنید میرید از فایل GCC Manual میخونید که میتویند از سایت gcc.gnu.org دانلود کنید.
اگه از منو Project گزینه آخر ( ProjectName Properties ) یا کلید میانبر Alt + F7 رو بزنید یا از پنجره Solution Explorer روی نام پروژه کلیک راست کنید و گزینه آخر یعنی Properties رو انتخاب کنید؛ در صفحه باز شده به منو Toolchain برید؛ بر طبق میکرو و زبانش، یه سری منو کشویی میبینید؛ رو عنوان یکی از این منو ها کلیک کنید ( عکس زیر ) میبینید که نام دستور ( Command ) و لیست تمام تنظیمات/گزینهها ( All Options ) نمایش داده میشه، البته اگه فایل GCC Manual رو ببینید، این گزینهها بیشتر از این موارد زیر هستش.
به زیر منو های هر مورد هم برید یه سری تنظیمات هستش که من خودم به شخصه بهشون دست نمیزنم و کاری بهشون ندارم فعلا، اطلاعات دقیق درستی ازشون ندارم و فعلا هم دوست ندارم داشته باشم حقیقتا؛ فلذا چیزی برای گفتن ندارم در این قسمت.
این مطلب رو همینجا تموم میکنم، فعلا تا همینقدر کافیه؛ حالا بعدا اگه عمری بود درباب GCC و این فصل بیشتر مطالعه میکنم و این مطلب رو بروزرسانی میکنم.
امیدوارم این مطلب مفید بوده باشه براتون؛ تا مطلب بعد یا علی.
مهمان
سلام و درود
ببخشید فایل pdf یا منبعی ندارید که کد های قابل استفاده atmel studio داخلش باشه ؟
(منظورم Language Reference هست که مثلا سایت اصلی آردینو داخل خود سایت قرار داده)
مهمان
به نظر شما atmel studioبهتره یا کدویژن من خودم با کدویژن کار می کنم باهاش کتابخانه می نویسم با atmel studioمیشه کتابخانه نوشت
مهمان
سلام اقا مهدی این atmel studioدر سایت atmelکه جدیدن شده میکروچیپ اموزش داده شده
مهمان
واقعا خیلی ممنون باور کنید چند ماهه دنبال یک منبع فارسی بودم این نرم افزار برای خارج نشین ها تنها گزینست
واقعا سپاس گزارم
مهمان
سلام یه سوال بی ربط …
تو التیوم دیزاینر ۱۸ میدونید بجای pcb board wizard چه گزینه ای هست و کجا پیداش نمیکنم
نویسنده این مطلب
سلام – اینو سرچ کن : altium designer 18 pcb board wizard
مهمان
سلام ببخشید سرچ کردم ولی گزینه ای که گفته شده تو همه جا tools-footprint wizard هست که نداره تو منوی التیوم من!
مال من فقط tools-footprint manager داره