مرحبا،
أحاول وميض لوحة STM32F103 عبر SWD باستخدام لوحة اكتشاف STM32F407. لسوء الحظ ، فإنه لا يعمل فقط مع لوحة STM32F103.
st-flash
انتاج:
st-flash write prog.bin 0x8000000
2017-01-24T18:44:14 INFO src/stlink-common.c: Loading device parameters....
2017-01-24T18:44:14 INFO src/stlink-common.c: Device connected is: F1 High-density device, id 0x10036414
2017-01-24T18:44:14 INFO src/stlink-common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB) in pages of 2048 bytes
كما ترى ، فإنه يعطي شيئًا غير متوقع مثل
Flash: 0 bytes (0 KiB) in pages of 2048 bytes
st-info --probe
Found 1 stlink programmers
serial: 303030303030303030303031
openocd: "\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x31"
flash: 0 (pagesize: 2048)
sram: 65536
chipid: 0x0414
descr: F1 High-density device
هل يعلم أحدكم كيف يمكن حل هذه.
شكرا لكم مقدما.
حل مع ST Link Utility.
كان المجلس _ الكتابة محمية_
شكرًا لتقريرك ، أعتقد أنني سأضيف هذا إلى المستندات حتى لا يفشل الآخرون في ذلك.
مرحبا ، هل يمكنك مساعدتي في ذلك؟ كيف يمكنني تعطيل الحماية ضد الكتابة؟ أنا أستخدم نظام التشغيل Mac OSX. الأداة المساعدة الرسمية St-link مخصصة للويندوز فقط ، أليس كذلك؟
ربما يمكنك المسح الجماعي أولاً واعتقدت أنه تم مسح الحماية ضد الكتابة بعد ذلك. أو باستخدام بعض أوامر openocd (يحتوي على المزيد من الميزات ثم texane / stlink).
شكرا لك على إجابتك السريعة. لقد حاولت محو الفلاش ، لقد نجحت. ومع ذلك ، فإن القضية لا تزال قائمة. سأحاول استخدام بعض أجهزة الكمبيوتر التي تعمل بنظام windows لمعرفة ما يحدث. : \
هل رأيت هذا في README؟
https://github.com/texane/stlink/commit/0f9e4990ba0cdc295875b219b354fdf42f30a9aa
عند استخدام OpenOCD ، ربما يمكنك استدعاء أوامر monitor stm32f1x unlock 0
(غير مختبرة). راجع http://openocd.org/doc/html/Flash-Commands.html.
لقد قمت بتشغيل ST-LINK Utility (على windows) وذهبت إلى Target> Option Bytes ...> Disable Read Out Protection (مربع التحرير والسرد). تم حل المشكلة.
يمكنني العثور على دليل حول تعطيل حماية القراءة باستخدام openOCD باتباع هذا الرابط: http://www.openstm32.org/forumthread562. أنا أستخدم Blue Pill Stm32F103c8t6 لوحة صينية. من الضروري فقط إضافة سطر "حماية فلاش الشاشة 0 0 11 إيقاف" إلى البرنامج النصي الأولي لـ openOCD. [لم يتم اختباره]
مرحبًا ، لقد نجحت في فتح مخططات stm32 باستخدام الأوامر التالية في جلسة طرفية openocd:
إعادة إيقاف
بنوك فلاش
stm32f1x mass_erase 0
فتح stm32f1x 0
بعد ذلك ، أصبح الجهاز جاهزًا للبرمجة مرة أخرى.
jeroavf شكرا! نجح هذا الأمر بالنسبة لي وأرجع --probe
الآن 65536
(يبدو أنني حصلت على أحد الطرز القليلة التي يبلغ حجمها 64 كيلوبايت) بالإضافة إلى الوميض بشكل صحيح.
قطعة ممتعة ، عند القيام بالخطوة mass_erase
، حتى أنها تعتقد أنها 128 كيلوبايت ، ولكن لا بأس.
STM32 flash size failed, probe inaccurate - assuming 128k flash
flash size = 128kbytes
شكرًا ، لقد تمكنت من إلغاء بعض أجزاء STM32F437 باستخدام محو شريحة كاملة باستخدام الأداة المساعدة Windows ST-Link ، والآن يعمل هذا مرة أخرى على لينكس st-link :-)
التعليق الأكثر فائدة
مرحبًا ، لقد نجحت في فتح مخططات stm32 باستخدام الأوامر التالية في جلسة طرفية openocd:
بعد ذلك ، أصبح الجهاز جاهزًا للبرمجة مرة أخرى.