وضع اللمسات الأخيرة على النسخة الصينية ST-Link v2: إضافة واجهة لإخراج معلومات تصحيح الأخطاء SWO وإعادة تعيين الساق

الصورة مرحبًا Geektimes!

اليوم أريد أن أتحدث عن الانتهاء من ST-Link v2 الصيني بمكواة لحام. يمكنك إضافة ناتج SWO إليها لتلقي معلومات التصحيح وقدم التحكم في إعادة الضبط لأجهزة التحكم الدقيقة STM32 (نفس المحطة التي تتوفر بالفعل لـ STM8). ربما لا يعد هذا اكتشافًا بالنسبة للكثيرين ، ولكن يجب أن تكون هناك معلومات للمبتدئين. من يهتم ، من فضلك ، تحت القطة.

لماذا هو مطلوب؟

تدعم واجهة SWD المستخدمة في تصحيح أخطاء وحدات التحكم الدقيقة STM32 نقل معلومات التصحيح من خلال إخراج SWO في الوقت الفعلي ، وهو أمر مريح للغاية. حسنًا ، هناك حاجة إلى إعادة تعيين القدم بحيث يكون من المريح أكثر وميض وحدة التحكم إذا تم تعطيل واجهة SWD. السبب بالتأكيد بعيد المنال ، لأنه بالنسبة للبرامج الثابتة ، يمكنك دائمًا الضغط على زر إعادة الضبط باستخدام المقابض ، ولكن دعها كذلك. على سبيل المثال ، في فجر تعارفي مع STM32 ، تلقيت لوحة تصحيح من الصين مع برنامج تجريبي يومض مع وميض LED وتعطيل SWD ، لم أفهم على الفور كيفية الاتصال به.

المراجعة نفسها

نحن بحاجة إلى مشرط ومكواة لحام وبضعة سنتيمترات من سلك رفيع جدًا ، لدي MGTF * بعض * هناك. في هؤلاء المبرمجين ، ينقسم الموصل إلى قسمين: اليسار - لـ STM8 واليمين - لـ STM32 ، لذا فإن إعادة الضبط الموجودة هناك ليست مناسبة لـ STM32 ، وسوف نقوم بعملنا.

بادئ ذي بدء ، قطع المسارات الذهاب إلى دبابيس غير ضرورية. في أول مبرمج معدّل ، قمت بقطع أرجل إعادة الضبط و SWIM ، لأنني لم أخطط للعمل مع STM8 ، ولكن الآن سأستخدم دبابيس 3.3 و 5 V إضافية (يتم نسخها على الموصل) ، حتى لا تفسد وظائف المبرمج ، فسيكون ذلك مفيدًا.

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



يمكنك إغلاق الحالة وتوقيع استنتاجات جديدة ، حتى لا تنسى أيها.

تحقق SWO



لاستخدام SWO ، يجب عليك:

- تنشيط موقع التخلص من النفايات الصلبة ؛
- تمكين الإخراج المطابق (للمتحكم الدقيق STM32F103C هو PB3) على TRACESWO ؛
- تأكد من أن SWO مضمنة في بيئة البرمجة وليس شبه مضيف ؛
- في رأس البرنامج ربط المكتبة # تتضمن "stdio.h" ؛
- استخدم printf في رمز البرنامج ("Hello STM32 world! \ R \ n") ؛

يمكنك عرض هذه الرسائل من خلال الوحدة الطرفية في برنامج الأداة المساعدة STM32 ST-LINK ، أو مباشرة أثناء التصحيح في البيئة الخاصة بي (أستخدم IAR).


إعادة الاختيار

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

في نفس برنامج الأداة المساعدة STM32 ST-LINK ، حدد "Connect under reset" واتصل بفلاش أو امسح ذاكرة وحدة التحكم الدقيقة.


أو في IDE الخاص بك ، حدد العنصر المناسب:


سيسمح لك ذلك بالوميض وإدخال وضع التصحيح ، ولكن بمجرد أن تبدأ في تهيئة الأجهزة الطرفية ، سيتم فصل SWD وسيختفي الاتصال بوحدة التحكم.

شكرا لاهتمامكم ، آمل أن يكون شخص ما في متناول اليدين.

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


All Articles