سؤال

أنا أبحث عن مترجم جيد للغة C لعائلة PIC 16، يعمل على نظام Windows.

  • استخدام اثنين من الزملاء com.bknudc ولكن يبدو أن البعض يكرهون ذلك.من الواضح أنه لا يمكنك استخدام الرابط بكفاءة، وتبين أن الأفضل هو تعيين كافة التعليمات البرمجية في ملفات التضمين.

  • SDCC يبدو رائعًا، ولكن يبدو أنه لا يزال في مرحلة تجريبية، وليس من السهل إعداده أو التعامل معه.

  • هناك بعض الخيارات الأخرى، كلها هي الأفضل المتاحة وفقًا لنفسها.لقد وجدت بعض المنتديات تناقش هذا الموضوع ولا يبدو أن أحداً يتفق مع الآخر. ميكرو سي, احتجاز ثاني أكسيد الكربون (غالي)، هايتك, ، بوست سي.

أود الحصول على بعض المعلومات الحقيقية حول ما هو جيد وما هو سيئ.

إذا فهمت الأمر بشكل صحيح، فإن بنية PIC16 ليست صديقة لـ C حقًا؟هل هناك مترجم يتيح للمبرمج العمل في ANSI C على أي حال؟وطريقة لإعداد مصحح أخطاء لطيف بما فيه الكفاية؟

هل كانت مفيدة؟

المحلول

أنت على حق في تقييمك بأن PIC16 ليس صديقًا لـ C حقًا.إذا كنت تريد البرمجة بلغة C فمن الأفضل أن تقوم بذلك باستخدام PIC18.
تقدم Microchip بيئة تطوير متكاملة (IDE) ومترجمًا ممتازًا ومجانيًا يسمى MPLAB لـ PIC18.من السهل حقًا العمل.بالإضافة إلى أن عائلة PIC18 هي بشكل عام أكثر قوة ولكنها تحتوي على بعض الرقائق ذات مساحة ليست أكبر بكثير من عائلة PIC16.
إن البدء في تطوير منتج جديد باستخدام PIC16 ليس فكرة جيدة.

نصائح أخرى

لدى HI-TECH مترجم C لـ PIC16 كما أنها تقدم نسخة مجانية.
مرحبا التكنولوجيا C المترجم

أعتقد أن SDCC لديه الآن بعض الدعم لPIC16.

لقد وجدت أن التكنولوجيا العالية جيدة جدًا.كنت سأصوت لصالح إجابة لويس لو كانت لدي سمعة أفضل.وأنا أوافق أيضًا على أن PIC18F هو بديل جيد جدًا.ابحث عن جزء من سلسلة k لأن هذه هي الأجزاء الأحدث والأفضل والأرخص.لديهم أيضًا سحب تيار منخفض جدًا (إذا كان هذا مهمًا بالنسبة لك).

احتجاز ثاني أكسيد الكربون يجمع لأي الموافقة المسبقة عن علم من 12، 16، 18 والأعلى.إنه ليس مجانيًا، لكنه يقوم بعمل جحيم كمترجم للصور.(يتفوق على ASM في أي يوم بالنسبة لي)

Sourceboost BoostC هو مترجم C لطيف جدًا لسلسلة PIC12/PIC16/PIC18.لديهم أيضًا برنامج التحويل البرمجي BoostC++ و BoostBasic.يأتي مع IDE جيد، ولديه خيارات محاكاة أساسية.يعجبني كثيرًا بناء جملة CCS وMicrochip C18.يشعر بالنظافة وأقل فوضى.ومع ذلك، فهي ليست مجانية أيضًا ولكن التراخيص رخيصة جدًا.الإصدار المجاني/الخفيف يسمح بـ 2 كيلو بايت من التعليمات البرمجية.مع هذا يمكنك أن تفعل الكثير بالفعل.

إن مترجم BKND C غريب حقًا، ولا يدعم الرابط جيدًا.ولكن بعد ذلك، فإن معظم شرائح PIC16 صغيرة بما يكفي بحيث لا يكون من المهم حقًا تضمين كل مصادرك في ملف C واحد.

لقد أجريت بعض المقارنة بين مترجم BKND وHiTECH C، ويبدو أن BKND ينتج كودًا برمجيًا أفضل بكثير.على الأقل في طلبي، كان هذا ضروريًا لتلبية متطلبات السرعة/المساحة لتطبيقي على وحدة MCU الصغيرة هذه.

العديد من المراوغات الخاصة بمترجم BKND (أنواع البيانات الإضافية، وما إلى ذلك) مفيدة جدًا لضبط التعليمات البرمجية الخاصة بك لتعمل على وحدة MCU صغيرة.معيار C الذي ستكتبه على ARM أو x86 ليس مناسبًا حقًا لوحدة المعالجة المركزية الصغيرة التي تحتوي على بضع مئات من وحدات البايت فقط من ذاكرة الوصول العشوائي على أي حال.

بالنسبة لرقائق PIC الأكبر حجمًا (18، 24F، إلخ)، يعد مترجم C الذي توفره شركة Microchip رائعًا.

فقط للاستكمال:

يوجد مترجم جيد حقًا (xc8) من Microchip.يأتي المترجم في نسختين:

حر و طليعة

الكود من حر الإصدار أكبر بما يصل إلى 50% من الإصدار طليعة إصدار.
يعتبر xc8 مناسبًا لكل 8 بت PIC (PIC10، PIC12، PIC16، PIC18، AVR (الإصدار 2.0 وما فوق))

يحتوي مترجم MPLAB®XC C على نسخة تجريبية مجانية مدتها 60 يومًا لترخيص PRO للتقييم عند تنشيطه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top