Stlink: STM32L422CB: فشل st-flash في وميض صورة ihex

تم إنشاؤها على ١٢ أبريل ٢٠٢٠  ·  12تعليقات  ·  مصدر: stlink-org/stlink

محاولة وميض ملف سداسي عشري صغير إلى STM32L422CB. الملف السداسي جيد ، يومض بنجاح باستخدام الأداة المساعدة st-link. يمسح st-flash أول صفحة 2 كيلوبايت من الفلاش بنجاح ، لكنه لا يكتب الملف السداسي عشري على الإطلاق.

  • نوع المبرمج / اللوحة: STLink V2.0
  • إصدار البرنامج الثابت للمبرمج: V2.J34.S7
  • نظام التشغيل والإصدار: Windows 10
  • اسم أداة سطر أوامر Stlink: st-flash v.1.6.0
  • الشريحة المستهدفة (واللوحة إن وجدت): STM32L422CB

علاوة على ذلك ، نطلب منك وصف المشكلة المكتشفة بالتفصيل قدر الإمكان وإضافة إخراج التصحيح إذا كان متاحًا ، باستخدام النموذج التالي:

سطر الأوامر الإخراج:

PS C:\Users\xxx\Documents\Code\Test> st-flash --format ihex write ./build/test.hex
st-flash 1.6.0
2020-04-12T18:28:57 INFO common.c: Loading device parameters....
2020-04-12T18:28:57 INFO common.c: Device connected is: L41x device, id 0x10006464
2020-04-12T18:28:57 INFO common.c: SRAM size: 0xa000 bytes (40 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 2048 bytes
2020-04-12T18:28:57 INFO common.c: Attempting to write 592 (0x250) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08000000 erased
2020-04-12T18:28:57 INFO common.c: Finished erasing 1 pages of 2048 (0x800) bytes
2020-04-12T18:28:57 INFO common.c: Starting Flash write for F2/F4/L4
2020-04-12T18:28:57 INFO flash_loader.c: Successfully loaded flash loader in sram
enabling 32-bit flash writes
size: 592
2020-04-12T18:28:57 INFO common.c: Starting verification of write complete
2020-04-12T18:28:57 ERROR common.c: Verification of flash failed at offset: 0
stlink_fwrite_flash() == -1
PS C:\Users\xxx\Documents\Code\Test>

المتوقع / الوصف:

Should flash the hex file without errors

buneeds-fix componenst-flash needinvestigation owindows programmestlinkv2 targestm32l4

ال 12 كومينتر

من يمكنه إلقاء نظرة فاحصة على هذا؟

أقترح التحقق من نفس اللوحة وأدوات الفلاش الأخرى حتى نتمكن من التأكد من أن هذه ليست مشكلة في الجهاز.
فشل التحقق في البداية ، لذا إذا لم تكن مشكلة في الجهاز ، فقد تكون هناك بعض المشاكل في محمولات الفلاش. للأسف ، لا يتم تطبيق التحقق من رمز الخطأ في محمل الفلاش (إن أمكن) على معظم الطرز. أقترح طباعة جميع قيم التسجيل بعد الفلاش الفاشل ، باستخدام st-util و ( gdb أو lldb ).

جربت كلاهما ، نسخة أصلية st link v2 وواحدة من تلك النسخ الرخيصة من الصين. فشل في كليهما. سوف أنظر إلى السجلات لاحقًا عندما يكون لدي المزيد من الوقت.

تشير "أدوات الفلاش" التي ذكرتها إلى openocd أو الأدوات الرسمية بواسطة ST. آسف للتعبير الغامض. عند التحقق من قيم التسجيل ، سيكون من الأفضل طباعة قيمة السجل STM32_FLASH_SR الموجودة في STM32_FLASH_REGS_BASE + 0x10. STM32_FLASH_REGS_BASE هي 0x40022000 على STM32L4.

آسف للرد في وقت متأخر جدا.
حاولت وميض عدد قليل من الملفات السداسية المختلفة ذات الأحجام المختلفة ، يمسح st-flash بنجاح الصفحات المطلوبة (تم التحقق من ذلك بفحص محتوى الذاكرة باستخدام الأداة المساعدة st link) ، لكنه فشل في الوميض كما قلت في المنشور الأولي.
يكون الفلاش ناجحًا عند وميض السداسي باستخدام أداة الارتباط st أو dfu المقابل باستخدام أداة st dfu ، لذلك أقول إنها ليست مشكلة في الجهاز.

هذا ما يقرأه STM32_FLASH_SR:
grafik

الدليل هو أن FLASH_SR يظهر أن PGSERR و PGAERR قد تم ضبطهما ، أي أن هناك بعض مشكلات المحاذاة. إذا كان بإمكانك تقديم قيم تسجيل الأغراض العامة بعد فشل البرمجة (مع gdb ، info registers بدون إعادة تعيين اللوحة قبل إرفاقها) وقم بتشغيل st-flash بـ --debug في ، أعتقد أننا سنكون قادرين على إجراء مزيد من التحقيق باستخدام سجل تصحيح الأخطاء وقيم التسجيل.

تحرير: سيكون من الأفضل إذا كان بإمكانك توفير القيمة الأصلية STM32_FLASH_SR قبل الوميض.

grafik

هذه هي السجلات بعد فشل الفلاش (متصل بدون إعادة تعيين).

هنا الإخراج مع --debug set:
log.txt

@ lulle2007200 في البريد الذي تلقيته ، قلت أنه من خلال - تصحيح الأخطاء ، يومض بدون أخطاء. لقد لاحظت أنك قمت بتحريره.
هل كان هناك وميض ناجح بالفعل ، مع تشغيل التصحيح؟

إذا كان الأمر كذلك ، فقد تكون مشكلة توقيت ، تمامًا مثل مشكلة سلسلة f0.

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

لم ينجح الأمر ، لقد أخطأت أثناء محاولتي إعادة توجيه إخراج st-flash إلى ملف. اتضح أنه لم يعمل على الإطلاق ، لكنني قمت بوميضه قبل استخدام الرابط st linkty ...
أيضا ، ضربت الإغلاق والتعليق بدلاً من التعليق عن طريق الصدفة ، آسف للارتباك.
سألقي نظرة أخرى غدا.

@ lulle2007200 : أي تحديث لهذا؟

لقد نسيت هذا نوعًا ما ، فقد أعاقت الحياة الطريق.
فشل st-flash في محو وفلاش ملف hex المقدم.
أنا ملفات متعددة بأحجام مختلفة ، لا تعمل مع أي منها. لاحظ أن وميض أولئك الذين يستخدمون ST-Link Utility الرسمية يعمل بشكل جيد تمامًا.
لقد أرفقت سجلًا لإخراج st-flash وقيم سجلات الأغراض العامة و STM32_FLASH_SR ، قبل وبعد محاولة الفلاش.
log.txt
Regs

نحن الآن نبحث عن مطور ماهر يعرف بطريقة ما سلسلة L4 ليحظى بفرصة الإصلاح.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات