إشعار: يرجى قراءة واتباع التعليمات الواردة في # 906 قبل إرسال التذكرة. لذا يرجى التأكد من ملء جميع الحقول.
[x] بذلت جهودًا جادة لتجنب إنشاء مشكلة مكررة أو مشابهة تقريبًا
نوع المبرمج / اللوحة: يحمل في ثناياه عوامل
st-util
المتوقع / الوصف:
نشأت مشكلتي أثناء اتباع البرنامج التعليمي للحصول على نص برمجي بسيط على الرابط: https://vivonomicon.com/2018/04/02/bare-metal-stm32-programming-part-1-hello-arm/
يمكن أيضًا العثور على الكود المصدري لهذا على https://github.com/WRansohoff/STM32F0_minimal
يجمع الكود وما إلى ذلك دون مشاكل.
ثم قمت بتشغيل st-util
، والاتصال باللوحة باستخدام arm-none-eabi-gdb main.elf
و target extended-remote :4242
ثم أقوم بتحميل البرنامج باستخدام load main.elf
.
هذا هو المكان الذي يتباعد فيه سلوك v1.5.0 و v1.6.0.
في الإصدار 1.5.0 ، يمكن تخطي البرنامج باستخدام si
، ويمكنني الدخول في الحلقة ومشاهدة زيادة r0
.
في الإصدار 1.6.0 ، يؤدي استخدام si
إلى انتقال عداد البرنامج فورًا إلى 0xfffffffe
، وعدم زيادة r0
.
ومع ذلك ، في بعض الأحيان يتم تعيين r7
بنجاح إلى 0xdeadbeef
.
لقد قمت بذلك أيضًا باستخدام OpenOCD 0.10.0 ، وتمكنت من تجاوزه جيدًا.
يجب أن أشير إلى أنني قمت ببناء v1.5.0 من المصدر باستخدام libusb 1.0.23 وتطبيق التصحيح # 704.
يرجى إعلامي إذا كنت بحاجة إلى مزيد من المعلومات.
من أي نوع من الأجهزة هو المبرمج الخاص بك؟ يرجى وصفها بدقة أكبر لإكمال مجموعة المعلومات الأساسية.
هل تعمل إصدارات مجموعة الأدوات اللاحقة (مرة أخرى)؟
أنا أستخدم المبرمجين المدمجين للوحات Nucleo و Discovery ، والتي أعتقد أنها ST-Link v2 ، ومبرمج ST-Link v2 USB للحبة الزرقاء.
لا يعمل على v1.6.1 - هذا هو الإصدار الذي كنت أستخدمه على macOS ، بينما كنت في openSUSE كنت أستخدم v1.6.0.
gcohara هل يمكنك تجربة فرع develop
؟ لقد اختبرت ذلك على stm32f07 وهو يعمل.
لقد جربته للتو على الفرع develop
ويمكنني أن أؤكد أنه يعمل!
آسف ، كان علي فعل ذلك على أي حال.
من فضلك لا تغلق التذاكر المفتوحة لأن هذا يعمل ضد مهام الصيانة الدورية والتتبع. يتم إغلاق التذاكر التي تم حلها تلقائيًا بواسطة نظام تتبع المشكلة.