نظرة عامة على إمكانيات Qt Creator 4.11 و QBS 1.15 للبرمجة ميكروكنترولر

مرحبا ، زملائي المبرمجين ، والأجهزة وجميع الذين يتعاطفون معهم. أرغب في متابعة مراجعة إمكانيات Qt Creator IDE بالاقتران مع نظام إنشاء QBS فيما يتعلق ببرمجة متحكم دقيق.

في وقت سابق ، كتبت عن التحسينات في الإصدارات السابقة من QtC 4.10 و QBS 1.14 .

لمن هذا الموضوع مثير للاهتمام ، مرحبا بكم في القط.

فقط في اليوم الآخر ، بهدوء وبشكل غير محسوس ، تم إصدار الإصدار Qt Creator 4.11 ، مما أضاف بعض التحسينات للعمل مع المتحكمات الدقيقة (بالأشخاص العاديين - أجهزة "baremetal"). يدمج هذا الإصدار من Qt Creator نظام بناء QBS 1.15 ، والذي يحتوي أيضًا على تحسينات جديدة (لم يتم إصداره بعد).

تحسينات في Qt Creator


تتوفر كل هذه التحسينات فقط عند تمكين المكون الإضافي BareMetal ، والذي يتم تنشيطه من خلال القائمة "مساعدة -> حول الإضافات -> دعم الجهاز -> BareMetal".

  1. تم إضافة بنى جديدة إلى دول مجلس التعاون الخليجي و SDCC و IAR EW ، وترد التفاصيل الأساسية في الجدول أدناه:
    مترجمالبنى المدعومة
    IAR EWSTM8 ، MSP430
    دول مجلس التعاون الخليجيMSP430
    SDCCSTM8

    الآن يتم اكتشاف هذه المترجمات الجديدة تلقائيًا في علامة التبويب "أدوات -> خيارات -> مجموعات -> مترجمون -> اكتشاف تلقائي".

    على سبيل المثال ، يبدو لي كما يلي:



    على نظام Windows ، لم يتم تطبيق الاكتشاف التلقائي لبرنامج التحويل البرمجي في دول مجلس التعاون الخليجي لبنية MSP430 ، لأن يتم توفير هذه المجموعة كأرشيف بسيط ، وليس كمثبت.

    لكن لا أحد يزعج لإضافة برنامج التحويل البرمجي لدول مجلس التعاون الخليجي (وأي برنامج آخر مدعوم) يدويًا ، بينما يحدد Qt Creator برنامج التحويل البرمجي ABI بشكل صحيح:



    ملاحظة: وبالطبع ، سيكون لجميع المترجمين تلقائيًا أدلة مع رؤوس ووحدات ماكرو محددة مسبقًا ، وما إلى ذلك للتمييز الصحيح للكود.

  2. بناءً على طلب العمال ، تمت إضافة دعم لملفات SVD لوصف سجلات الأجهزة الطرفية للتحكم الدقيق.

    ملاحظة: كما أعرف ، لا تتوفر هذه الميزة إلا للأذرع (رغم أنني يمكن أن أكون مخطئًا) ولا تزال تجريبية في طبيعتها.

    لاستخدام هذه الميزة ، يجب أولاً تحديد ملف SVD المطلوب في حقل "ملف الوصف المحيطي" في إعدادات الجهاز "أدوات-> خيارات-> الأجهزة> YourDevice" ، والتي تتوافق مع متحكم الهدف:



    ملاحظة: يمكن تنزيل هذه الملفات إما من موقع ARM على الويب أو مأخوذة من الدلائل باستخدام منتجات Keil MDK أو IAR EW المثبتة.

    علاوة على ذلك ، بعد بدء تصحيح الأخطاء ، حدد "السجلات المحيطية" في قائمة "نافذة-> طرق العرض". بعد ذلك ، سيتم فتح لوحة "Peripheral Registers" (شبيهة بلوحة "Registers") التي فيها ، عن طريق النقر بزر الماوس الأيمن ، يتم استدعاء قائمة تحتوي على قائمة بمجموعات التسجيل المراد عرضها:



    نختار أي مجموعة (على سبيل المثال ، RCC) ونحصل على قائمة بجميع السجلات من هذه المجموعة مع وصفها التفصيلي والقيم التي يمكن قراءتها / كتابتها:



    ملاحظة: في الوقت الحالي ، يتم تنفيذ عرض سجلات واحدة فقط من أي مجموعة محددة.

تحسينات في QBS


سيكون QBS جزءًا لا يتجزأ من هذا الاستعراض ، لذلك من المنطقي التحدث عن تحسيناته:

  1. إضافة دعم لهذه المجمعين الجدد وتطبيق القدرة على الكشف تلقائيا المجمعين المثبتة وإنشاء ملفات تعريف.

    تحتوي الخاصية qbs.architecture على القيم التالية:

    اسم العمارةقيمة العقار
    STM8STM8
    MSP430MSP430

  2. تمت إضافة دعم المولدات إلى مشاريع Keil MDK و IAR EW للبنى والإصدارات التالية:

    IDEهندسة معماريةمولد كهربائي
    KEIL uVision 5.23ARMkeiluv5
    KEIL uVision 5.23MCS51keiluv5
    IAR EW 8.40.1ARMiarew8
    IAR EW 3.11.1STM8iarew3
    IAR EW 10.10.1MCS51iarew10
    IAR EW 7.12.4MSP430iarew7
    IAR EW 7.20.1AVRiarew7

    ملاحظة: يوضح الجدول أعلاه إصدارات المنتجات التي تم تطوير المولدات بها وكان قابلية التشغيل قيد الفحص بشكل أو بآخر.

    وبالتالي ، أصبح من الممكن الآن مع هذه المولدات إنشاء مشروع أصلي للهدف المنشود IDE. في نفس الوقت ، سيقوم كل مولد بتحويل جميع الأعلام والمسارات والتبعيات المحددة في مشروع QBS إلى الإعدادات المناظرة لمعرف IDE للمشروع المستهدف.

    إذا كان مشروع QBS المصدر يحتوي على العديد من المنتجات (على سبيل المثال ، التطبيقات والمكتبات ، إلخ) ، فسيقوم المولد بإنشاء "مساحة عمل" مستهدفة مع "مشروع" مشاريع فرعية متداخلة لكل IDE مستهدف.

    ملاحظة: سأقول على الفور ، كما أعرف ، أن معرفات KEIL أو IAR EW لا تدعم تتبع التبعية (إذا كنت مخطئًا ، فعليك تصحيحها). لذلك ، على سبيل المثال ، إذا كان المشروع يحتوي على التطبيق والتبعية في شكل مكتبة ، فسوف يحتاج المستخدم أولاً إلى إنشاء المكتبة ، ثم التطبيق نفسه.

    لإنشاء مشاريع ، يجب أن تكون قد قمت بالفعل بتكوين ملفات تعريف QBS مع المترجمين المناسبين.

    ملاحظة: حتى الآن ، لا يمكنك الاستغناء عن الملفات الشخصية ، لأن يتلقى المولد من ملف التعريف البنية نفسها ، والمسار إلى برنامج التحويل البرمجي المثبت مسبقًا (IDE) ، وأكثر من ذلك. هذه البيانات مطلوبة للبحث الصحيح عن البرامج النصية للرابط والمسارات إلى مكتبات وقت التشغيل وأشياء محددة أخرى (لا يوجد منطق بسيط هناك).

    على سبيل المثال ، لإنشاء مشروع مستهدف لـ متحكم IAR EW و ARM ، يكفي تشغيل الأمر التالي:

    qbs generate -g iarew8 -d <path/to/build/directory> -f <path/to/qbs/project/file> profile:<your/qbs/profile/for/arm> 

    يمكن الحصول على أسماء ملفات التعريف باستخدام ، على سبيل المثال ، أداة واجهة المستخدم الرسومية qbs-config-ui (أو استخدام إصدار وحدة التحكم).

    ملاحظة: في الوقت الحالي ، تمتلك المولدات حالة تجريبية. ربما في بعض الحالات (إذا كان المشروع الأصلي معقدًا) ، فسيقومون بإنشاء ملفات المشروع الهدف غير صحيحة ، أو تخطي بعض العلامات وأكثر. بقوة لا تأنيب ، ولكن إنشاء تقارير الأخطاء في تعقب QBS.

يمكنك رؤية الحالة الحالية لدعم برنامج التحويل البرمجي هنا ، والحالة الحالية لتكامل المولد هنا .

لمعرفة كيف يعمل كل شيء ، يوفر QBS مجموعة من الأمثلة البسيطة.

ما التالي


في الإصدارات المستقبلية ، من المخطط إضافة تصميمات ومولدات رينيساس إلى IAR EW لهذه البنى (لا أعرف ما إذا كانت ستنجح). وأيضًا ، إذا كنت محظوظًا للغاية ، فسيتم دمج مصحح أخطاء من Keil uVision في Qt Creator.

في هذه المذكرة ، أنهي قصتي ، شكراً لجميع الذين سوف ينتبهون إلى هذا الاستعراض.

Source: https://habr.com/ru/post/ar480132/


All Articles