نمایش نتایج 1 تا 9 از 9

نام تاپیک: کامپایل برنامه برای محیط های ARM

  1. #1
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333

    کامپایل برنامه برای محیط های ARM

    سلام،

    چطوری میشه برنامه ای رو که مثلا با C نوشته شده، برای یک محیط ARM (با پردازنده ای با ساختار ARM) کامپایل کرد؟؟

    یعنی قراره برنامه در محیط x86 نوشته و کامپایل بشه ولی در محیط ARM اجرا بشه؟!

    نکات:
    ۱- کامپایلر ترجیحا GCC باشه!!!
    ۲- ارزون ترین روش، اولویت بیشتری داره :دی

    پیشاپیش سپاسگزارم.
    موفق باشید.
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  2. #2
    یعنی قراره برنامه در محیط x86 نوشته و کامپایل بشه ولی در محیط ARM اجرا بشه؟!
    به کامپایل کردن برای یک معماری روی یک معماری دیگه میگن Cross-Compile .
    بقیه اش هم از اینجا
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  3. #3
    با عرض ادب:
    خوب این کار بسیار معمول و متداولی هست یعنی تقریبا همیشه وقتی برای یک چنین سیستم هایی قرار است برنامه نویسی شود، از ابزارهایی که در یک محیط user friendly تر مثل pc اجرا می شوند استفاده می شود و شاید بتوان گفت که اغلب اوقات این تنها راه هست چرا که اساسا سیستم مقصد قابلیت اجرای کامپایلر را ندارد. توصیه این هست که بسته به بستری که برای آن کد می نویسید (ARM در سیستم های بسیاری به کار برده می شود از OMAP گرفته که بستر بسیار پرطرفدار سیستم های موبایل هست تا میکروکنترلرهای ساده) ابزارهایی که شرکت طراح پیشنهاد می کند را استفاده کنید. چرا که فقط کامپایل اینجا منظور نظر نیست بلکه مجموعه عملیاتی شامل کامپایل، لینک، دانلود کد در سخت افزار، امکان دیباگ و تریس کردن کد در سخت افزار و ... نیز مورد نیاز هست که باید با هم نیز سازگار باشند.
    جالب است که بدانید که ترکیب eclipse به اضافه gcc toolchain چند وقتی هست که بسیار مورد توجه قرار گرفته و از قضا در سایت خود ARM هم ذکر شده که محیط توسعه ای با همکاری شرکت code sourcary با همین ترکیب عرضه می شود:
    http://www.codesourcery.com/gnu_toolchains/arm

    یه ... ...
    one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs. -- Robert Firth

  4. #4
    @shaniaki
    با تشکر،
    آیا چنین کامپایلری و محصولی به این شکل برای Power PC هم هست؟

  5. #5
    با عرض ادب:
    هر چند که سوال خارج از موضوع است اما همانطور که عرض کردم معمولا برای بستر ابزار توسعه ارائه می شود. برای IBM powerPC هم به همین نحو. به عنوان نمونه شرکت ENEA که سیستم عامل realtime معروفی دارد که در base station های مخابراتی ericsson هم ازآن استفاده می شود، ابزار توسعه ای دارد که با همین ترکیب eclipse+gcc بنا شده و پردازنده های مختلفی از جمله powerpc را نیز پشتیبانی می کند. و یا xilinx در برخی از FPGA های خود 2 یا 4 عدد powerpc را قرار داده که برای آن نیز علاوه بر محیط IDE خود+gcc، ترکیب eclipse+gcc را نیز توصیه می کند و ارائه می دهد. البته ابزارهایی با کاربرد عمومی تر نیز موجودند مانند MULTI از green hills (نمی دانم این یکی powerpc را ساپورت می کند یا خیر) ولی چون در این صورت شرکت سازنده آن را به صورت محصول اصلی ارائه می کند نه ابزارهای جنبی یک محصول اصلی تر، معمولا غیر رایگان و گران هستند.

    یه ... ...
    one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs. -- Robert Firth

  6. #6
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    ممنونم.
    هنوز در حال بررسی و کامپایل و ... می باشم و فعلا به نتیجه مطلوبی نرسیدم و البته هنوز راهم ادامه دارد!!

    در مورد معماری سخت افزار من، تنها برنامه ای که تونستم از طریق اون معماری رو بیابم، چنین کامپایل شده بود:
    armv5tel

    و پردازندهء سخت افزار مربوطه نیز Intel XScale-PXA27x rev 7 (v51) با معماری 5TE می باشد.

    راستش من نصف اینایی که می گم رو نمی دونم چه مفهومی داره :دی

    همین الان دارم سعی می کنم یه crosstool واسه armv5 روی لینوکس ام کامپایل کنم... به دلیل سرعت بالای اینترنت این عمل اندکی طول می کشه!
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  7. #7
    خیلی از پاکت پی سی ها از همین خانواده سی پی یو استفاده میکنن که مبتنی بر ARM 5 هم هست . اگر کدی که میخواهی کامپایل کنی برای لینوکس است و پول نمیخای بدی از همون راهنما به تول چین آرم میرسی و کار ساده ای هم هست . اگر برای سیمبیان کامپایل میکنی بسته های خود اینتل و نوکیا رو ببین که رایگان هم نیستن . اگر برای ویندوز سی ای یا موبایل کامپایل میکنی VC Embedded رو ببین .
    UNIX is simple. It just takes a genius to understand its simplicity
    -- Dennis Ritchie

  8. #8
    تا جایی که من اطلاع دارم کامپایلر IAR از لحاظ Code Efficiency فوق العاده است، ANCI C و ++C رو هم ساپورت میکنه، اما متاسفانه گرونه!

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    game net
    سن
    34
    پست
    78

    نقل قول: کامپایل برنامه برای محیط های ARM

    سلام
    من تجربه ی کار با کامپایلر gcc و استفاده از ide eclipse رو دارم. به نظرم مزیت‌های زیادی نسبت به ide های دیگه داره، که به طور نمونه میشه به open source بودن و حجم زیاد افزونه های قابل نصب بر روی اوون اشاره کرد. در ضمن بیشتر افراد برنامه نویس اپلیکیشن ویندوز و موبایل با امکانات ide آشنایی دارند و نیاز به یاد گیری آن ندارند. در ضمن تو ide eclipse این امکان وجود دارد که از هر قسمتی از toolchain که خوشتون نمیاد عوضش کنید و ورژن های مختلف اون رو نصب کنید
    فکر میکنم این سوال خیلی قبل مطرح شده و فکر می کنم شاید کسی برایش جالب نباشه که این ide چه جوری setup میشه برای gcc for arm ولی اگه علاقه مند بودید، فیدبک بدید که من کامل توضیح بدم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •