چند نکته درباره برنامه نویسی لینوکس و cross compile

واسه برنامه نویسی تحت لینوکس راه های مختلفی هست مثلا شما میتونین توی کامپایلر های مختلف مثل qt و یا به زبان جاوا یا c و یا c++ در محیط ایکلیپس برنامه بنویسین و یا با دیگر کامپایلر ها اینکارو بکنین.

اما نکته ای که باید قبل از هر چیز بدونیم اینه که برنامه هایی که در لینوکس سیستم شما ساخته میشن و بعد از کامپایل کردن اجرا میشن ممکنه که همون برنامه توی یک سیستم دیگه حتی با همون مشخصات سیستم عامل شما اجرا نشه ودلیل اون میتونه تفاوتهای سخت افزاری سیستم ها با یکدیگر باشه، واسه همین اکثر برنامه هایی که شما برای لینوکس دانلود میکنید اکثرا همراه با سورس هستند که شما بتونید با کامپایل مجدد اون برنامه رو روی سیستم خودتون اجرا کنین مگر برنامه هایی که عمومی باشند و یا کتابخانه های سخت افزارهای مختلف در اونها گنجونده شده باشند که دیگه نیاز به کامپایل ندارن.البته کامپایل کردن یک برنامه در لینوکس کاره سختی نیست و این کار با دستور make انجام میشه.

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

و برای این سوال دو پاسخ وجود داره:

۱- روی سیستم دسکتاپ خودمون و یا داخل همون برد برنامه رو بنویسیم و در داخل برد برنامه رو کامپایل کنیم.(که این کار زیاد جالب نیست).

۲-روی سیستم خودمون برنامه رو بنویسیم و بعد cross compile کنیم یا به عبارت ساده تر برنامه رو با کامپایلری که کد رو برای برد ما که یک برد آرم هست سازگار میکنه کامپایل کنیم و بعد از اون برنامه ی کامپایل شده را بر روی برد انتقال داده و سپس تست کنیم.واسه این کار اول باید دستور زیر رو در ترمینال بنویسیم تا کامپایلر arm gcc دانلود و نصب شه.

apt-get install gcc-4.7-arm-linux-gnueabi

قدم بعد متصل کردن این کامپایلر به یک IDE خوب هست تا ما بتونیم اونجا کدهامون رو بنویسیم و کامپایل کنیم که من ادیتور پر طرفدار eclipse رو انتخاب کردم که میتونین از لینک زیر نسخه ی مخصوص لینوکس رو دانلود کنین:

http://www.eclipse.org/downloads/?osType=linux

حالا نوبت میرسه به تنظیمات eclipse:

ابتدا باید فایل پروژه رو از مسیر زیر بسازیم:

file->new->c project

2-حالا روی پروژه ساخته شده راست کلیک میکنیم و وارد properties میشیم،حالا باید توی پنجره ی باز شده یک کانفیگ جدید با یک اسم دلخواه بسازیم و اون کانفیگ رو set کنیم.
برای دیدن تصاویر می توانید فایل انتهایی را دانلود کنید.

3- new رو میزنیم.
4- یک اسم مینویسیم.
5-حالا باید کانفیگ جدید رو set کنیم(با انتخاب اسم کانفیگ جدید و زدن کلید set active):
6-حالا باید آدرس کتابخونه ها رو وارد کنیم.
7-حالا باید آدرس کامپایلر و اسمبلر رو وارد کنیم.
8-حالا دیگه ok رو میزنیم و خارج میشیم.الان نوبت به این میرسه که یک فایل main به برنامه اضافه کنیم تا بتونیم توش برنامه بنویسیم.واسه این کار روی پروژه راست کلیک کنید و در منوی new->new source file کلیک کنید.
9-حالا میتونید توی فایل برنامه خودتون رو بنویسید و با ctrl+b برنامه رو کامپایل کنید.
برنامه ای که من نوشتم روی ترمینال یک رشته پرینت میکنه،انشالله اگر وقت کردم توی پست بعد نحوه راه اندازی و برنامه نویسی برای uart رو هم میزارم.
توی فایل زیر عکس ها رو هم ضمیمه کردم.

linux pic

درپایان از آقای مهندس علی سعید  به دلیل ارسال این مطلب مفید تشکرمی کنیم.

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

 

Bookmark the پیوند یکتا.

5 Responses to چند نکته درباره برنامه نویسی لینوکس و cross compile

  1. پوریا میگوید :

    فکر کنم می شود با پلاگین GNU ARM در eclipse هم کار کرد

    یک سوال : چگون با Qt برای این بورد برنامه بنویسیم ، یا به عبارت دیگر Cross-Compile کنیم ؟

  2. حمید میگوید :

    سلام
    ایا نرم افزار wine جهت اجرای نرم افزارهای Windows ce می توان روی Marsboard نصب کرد ؟
    لطفا راهنمایی نمایید
    با تشکر

  3. صالح میگوید :

    سلام
    لطفا در مورد cross compile با ابزار Qt هم توضیحی بدهید.
    با تشکر بسیار بسیار زیاد از آموزش خیلی خوبی که داده بودید

  4. داریوش عباسی نژاد میگوید :

    سلام
    ایا نرم افزار wine جهت اجرای نرم افزارهای Windows ce می توان روی Marsboard نصب کرد ؟
    لطفا راهنمایی نمایید
    با تشکر

    دوست عزیز لطفا سوال مربوط به همان آموزش باشد.در صورتی که سوال در مورد دیگری دارید در فروم بپرسید.
    با تشکر.

  5. علی سعید میگوید :

    هنوز وقت نکردم که با Qt این کار رو انجام بدم ولی در صورت موفق شدن حتما آموزش اون رو هم میزارم.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد.