نگاهی کوتاه به کامپایلرهای زبان سی برای برنامه نویسی AVR

rkm7232

عضو
چند وقتی بود که این سوال ذهنمو مشغول کرده بود که واقعا کدوم کامپایلر بهتره ؟ جسته گریخته از کسایی چیزایی شنیده بودم که هر کدوم بنا به دلایلی اسمی رو به زبون می آوردن، هر کدوم هم واسه حرفشون دلیلی داشتن..
1.Code vision بخاطر راحتی کار باهاش مخصوصا کدویزاردش : آیا واقعا این فاکتور دلیل محکمی برا سر بودن هست؟ چند وقتی بود باهاش کار می کردم ولی خب از ته دلم ازش راضی نبودم؛ یعنی واقعا سادگی دلیل برتر بودنه؟ مشخصا نه. {دلیل من برا خودم(یا بهتر بگم مثال نقضی که برا خودم آوردم): ویژوال بیسیک 6 هم خیلی آسون بود ولی الان بعد 15 سال از آخر اول شده... خدا رحمتش کنه} البته خب دلایل خاص دیگه ای از جمله قیمتم هست که به خاطر شرایط خاص جغرافیایی ما خدا رو شکر به ما ربطی پیدا نمی کنه! پروژه های کوچیکو باهاش خوب مینویسن، پس ازش ردمیشیم...

2.ICC Compiler چون واسه Motorola,Texas Instruments, Cypress Micros کامپایلر ساخته؟ ظاهرش که خیلی شبیه کدبلاکس خودمونه(کپی برابر اصله) و اگرچه میگن ظاهرش کاربر پسنده ولی من از همین ظاهرش خوشم نیومد. من که دفعه اولم بود اسمشو میشنوم و دیگه هم نشنیدم پس ازش استفاده هم نکردم!! گفتن پروژه کوچیک تا معمولی رو میشه نوشت باهاش. (شنیدم باگ هم زیاد داره.)

3.IAR که خب همیشه بیشترین رای رو هم میاره واقعا چرا؟ بیشتر دلیلشون این بود که همه جانبه س. تقریبا با همه خونواده میکروکنترلرها سازگاری داره! میگن واسه پروژه های معمولی تا بزرگ خوبه! از بزرگترین مشکلات سر راهش میشه قیمت بالاش؛ تنبلی برنامه نویس ها (99.99% تنبلن) و ظاهر ... (هر چی فکر می کنم نمیاد تو ذهنم..واااااای..اصلا ولش کن!! جای خالی را با کلمه مناسب پر کنید...کلمه ش نقطه مقابل کاربر پسنده!!!{no user friendly!!})
که خب هیچکدومش دلایل معقولی واسه رد کردن یه کامپایلر خوب نیس.

4.GNU خب اول ببینیم گنو چی هست؟!!؟
{مجموعه کدمترجم‌های گنو (که به اختصار GCC خوانده می‌شود) مجموعه‌ای از کامپایلرهاست برای زبانهای برنامه نوسی مختلف که بوسیله پروژه گنو بوجود آمده است.
جی‌سی‌سی یکی از کلیدی‌ترین اعضای سلسله‌برنامه‌های گنو است. در ابتدا فقط کامپایلری استاندارد برای سیستم گنو بود ولی امروزه در بسیاری از سیستم‌عاملهای مشابه یونیکس از آن استفاده می‌شود؛ مانند گنو/لینوکس، خانواده بی‌اس‌دی، مک اواس. همچنین جی‌سی‌سی برای معماریهای سخت‌افزاری مختلف نیز پورت شده.
جی‌سی‌سی در اوایل سرنام کلمات GNU C Compiler بود. زیرا فقط توانایی کامپایل برنامه‌های نوشته شده به زبان C را داشت. که با مرور زمان قادر به ترجمه زبانهای بیشتری مانند سی‌پلاس‌پلاس، فورترون، پاسکال، جاوا، سی شیءگرا و آدا شد. GCC برای معماری های سخت افزاری مختلفی port شده که بعنوان نمونه میتوان به AVR اشاره کرد.
بنیاد نرم‌افزارهای آزاد جی‌سی‌سی را تحت اجازه‌نامه آزاد گنو ( جی‌پی‌ال ) و ال‌جی‌پی‌ال منتشر کرده‌است. جی‌سی‌سی نرم‌افزار آزاد است.}
که منظور از آزاد آخری همون مجانیه خودمونه :دی
نقطه قوت این مورد خودشه ولی نقطه ضعفش خط فرمان بودنشه.(command line)
البته باید بگم این مورد فقط برا لینوکس نیس ویندوزیا از winAVR می تونن استفاده کنن.

5.می رسیم به AVR Studio: اونایی که میخوان از مورد قبل استفاده کنن ناراحت نباشن چون هسته این gcc هستش. خود ATMEL هم ساخته و چیزی که برا من مهمه و شاید برا شما هم باشه می بینیم که چه قد شبیه Visual Studio ه. و البته ویژگی های ویژوال استودیو رو هم داره. خطایابی و گزارش خطاها هنگام تایپ، شبیه ساز قوی ... و البته یه ویزارد که شما را تو ساخت راحت تر پروژه تون کمک میکنه مثالای زیادی هم باهاش نصب شده!! و البته یه چیز ارزشمند، داشتم توش دنبال یه خصوصیت ویژوال به اسم (Team Foundation Server) میگشتم پیداش نکردم ولی plug in شو پیدا کردم براش. شما می تونین با تیم تون بشینین چندنفره کد مورد نظرتونو بنویسین. من هنوز نتونستم بهونه ای برا رد کردنش پیدا کنم...

//============================================================================================
اینی که خوندین واقعیه؛ داستان نیستش شرح حال منه!!!! و البته نظر شخصیه منه بعنوان یه عضو کوچیک و تازه کار تو دنیای وسیع رباتیک. اگرچه چندی از این ماجراها میگذره ولی خوشحال میشم اگه جاییش اشتباه کردم به من گوشزد کنین. و اینکه تاپیک بعدا آپدیت میشه، هنوز یه کوچولو دیگه مونده :cool:
 

پیوست ها

  • image[6]-21.jpg
    image[6]-21.jpg
    13.4 کیلوبایت · بازدیدها: 0
بالا