Stlink: STM32F031K6 Nucleo: Regression zwischen 1.5.0 und 1.6.0 mit minimalem Linker-Skript

Erstellt am 4. Nov. 2020  ·  5Kommentare  ·  Quelle: stlink-org/stlink

HINWEIS: Bitte lesen und befolgen Sie die Anweisungen in #906, bevor Sie ein Ticket einreichen. Bitte stellen Sie daher sicher, dass alle Felder ausgefüllt sind.

  • [x] Ich habe ernsthafte Anstrengungen unternommen, um ein doppeltes oder fast ähnliches Problem zu vermeiden

  • Programmierer/Board-Typ: Eingebaut

  • Betriebssystem und Version: macOS 15, openSUSE Tumbleweed
  • Stlink-Tools-Version und/oder Git-Commit-Hash: v1.6.0
  • Name des Stlink-Befehlszeilentools: st-util
  • Zielchip (und ggf. Platine): STM32F031K6, STM32F103C8T6 (Blaue Pille), STM32F3DISCOVERY

Erwartet/Beschreibung:

Mein Problem trat auf, als ich dem Tutorial für ein minimales Linker-Skript unter folgte: https://vivonomicon.com/2018/04/02/bare-metal-stm32-programming-part-1-hello-arm/
Den Quellcode hierfür finden Sie auch unter https://github.com/WRansohoff/STM32F0_minimal

Der Code kompiliert usw. ohne Probleme.
Ich führe dann st-util und verbinde mich mit arm-none-eabi-gdb main.elf und target extended-remote :4242 mit dem Board
Dann lade ich das Programm mit load main.elf .

Hier weichen die Verhaltensweisen von v1.5.0 und v1.6.0 voneinander ab.
In v.1.5.0 kann das Programm mit si schrittweise durchlaufen werden, und ich kann in die Schleife eintreten und sehen, wie r0 inkrementiert wird.

In v.1.6.0 bewirkt die Verwendung von si dass der Programmzähler sofort auf 0xfffffffe springt und r0 nicht erhöht wird.
Manchmal wird r7 jedoch erfolgreich auf 0xdeadbeef .

Ich habe dies auch mit OpenOCD 0.10.0 getan und konnte es gut durchlaufen.
Ich sollte beachten, dass ich v1.5.0 aus dem Quellcode mit libusb 1.0.23 erstellt und den Patch #704 angewendet habe.

Bitte lassen Sie es mich wissen, wenn Sie weitere Informationen benötigen.

buneeds-fix buregression componenst-util needinvestigation olinux omacOS programmestlinkv2 programmestlinkv2-1 targestm32f0 targestm32f1 targestm32f3

Alle 5 Kommentare

Von welchem ​​Hardware-Typ ist Ihr Programmierer? Bitte beschreiben Sie es genauer, um die Basisinformationen zu vervollständigen.
Funktionieren spätere Toolset-Versionen (wieder)?

Ich verwende die eingebauten Programmierer für die Nucleo- und Discovery-Boards, von denen ich glaube, dass sie ST-Link v2 sind, und einen ST-Link v2-USB-Programmierer für die blaue Pille.

Es funktioniert nicht auf v1.6.1 - dies ist die Version, die ich unter macOS verwendet habe, während ich unter openSUSE auf v1.6.0 war.

@gcohara Könntest du es mit dem develop Zweig versuchen? Ich habe es auf stm32f07 getestet und es funktioniert.

Habe es gerade im develop Zweig ausprobiert und ich kann bestätigen, dass es funktioniert!
Sorry, das hätte ich eigentlich sowieso machen sollen.

Bitte schließen Sie offene Tickets nicht, da dies den regelmäßigen Wartungsaufgaben und der Nachverfolgung entgegenwirkt. Gelöste Tickets werden automatisch vom Issue-Tracking-System geschlossen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen