Programm "stm32flash" öffnet Gerät nicht - Fehleranalyse

Gast #7317406
Lesenswert?

Wie Sie sagen Herr F. - ich griff schon zur "IDE und zum Programmer" von der Firmierung ST - jedoch ist das Mikrosteuerbauteil nach wie vor nicht ansprechbar.

Wir versuchen unter Linux auf einfachsten Wege das Heraufladen einer bin- oder hex-datei in den RAM des Mikrosteuerbauteils über ST-Link zu gewährleisten.

#7317430
Lesenswert?

Wenn du die CubeIDE korrekt installiert hast (mit sudo!) sind keine weiteren Modifikationen am System und keine weitere Software erforderlich. Eine separate Funktion zum Upload des Binary gibt es zwar nicht, aber sobald du den Debugger startest,(F11) wird zunächst das Binary ins Target geladen.

Wenn das nicht funktioniert, stimmt mit grosser Wahrscheinlichkeit die Verbindung zwischen ST-Link und Target nicht.

Gast #7317446
Lesenswert?

Da bei unserer privaten Projektierung noch kein Zeithorizont abzusehen ist, fragen Sie mich dies einmal lieber in einem Jahr etwa... Entscheidung Weiterverfolgung oder Keller.

Eventuell mal bei einem Eckart in einer weißen großen Werkstatt meiner Hochschule, aber das weiß ich noch nicht genau, da dies auch von anderen Geistern abhängt.

Gast #7317447
Lesenswert?

Ich würde mich nicht darauf verlassen, daß die originale ST-Flash-Software überhaupt mit dem gezeigten chinesischen ST-Link-Clone funktioniert.

Alternativ kann man auch einen OCD-Flasher und OpenOCD benutzen, das geht unter Linux.

Gast #7317456
Lesenswert?

Das Mikrosteuerbauteil können wir nach gerade so leserlich eindeutig identifizieren. Es handelt sich hierbei um ein Mikrosteuerbauteil der Serie STM32F1 mit Bezeichnungsgebung im konkreten Fall der Unterserie 03 mit 64 Pins.

Gast #7317457
Lesenswert?

REI23 schrieb:

Wir versuchen unter Linux auf einfachsten Wege das Heraufladen einer bin- oder hex-datei in den RAM des Mikrosteuerbauteils über ST-Link zu gewährleisten.

REI23 schrieb:

Wir versuchen uns hier Grundverständnis und Expertise didaktisch sinnvoll zu erarbeiten und demnächst auch wieder anderen zur Verfügung zu stellen..

So, zum Erarbeiten von Grundverständnis und Expertise versuchst du (und andere) auf einfachstem Wege und unter Linux sowie mittels eines ST-Links eine bin oder hex Datei in den RAM zu laden???

Also, die Expertise lassen wir vorerst mal beiseite, und zum Erarbeiten von Grundverständnis gibt es Dokumente im PDF Format von ST zu lesen. ALSO LIES ERSTMAL bevor du dir deine Eval-LP von ST ruinierst oder hier große Töne von dir gibst.

W.S.

Gast #7317462
Lesenswert?

Was meinen Sie mit der Aussage, Herr "Nop" - (1) mit fehlender Kompatibilität zwischen in diesem Fall zum Teil wohl in China laut Kennzeichnung produzierten ST-Link-USB-Verbindungsstück und Software?

(2) openocd-Benutzung - Wie meinen Sie das?

Gast #7317465
Lesenswert?

REI23 schrieb:

Ich zeige Ihnen nun Herr F., ein Bildschirmbild aus der "ST-Programmer-Software" ...

Die Option "Software Reset" funktioniert nur dann, wenn das Programm auf dem Target Mikrocontroller die SWD Schnittstelle nicht deaktiviert hat und wenn es nicht schläft.

Die Option "Connect Under Reset " wäre besser, aber dein Programmieradapter hat den dazu nötigen Reset Asuagng nicht.

Versuche folgendes: Verhindere, dass dein Programm auf dem Target startet, indem du den Bootloader aktivierst. Der Bootloader lässt die SWD Schnittstelle aktiv. Den Bootloader aktiviert man, indem man den Pin BOOT0 auf HIGH setzt.

Falls dieser Pin auf deinem Board nicht erreichbar ist, kannst du einen Taster benutzen. Diesen musst du gedrückt halten, und dann genau in dem Moment los lassen, wo die SWD Verbindung aufgebaut wird. Das ist schwierig.

Einfacher ist es, einen ordentlichen Programieradapter mit Reset-Ausgang zu verwenden.

Lies dazu: http://stefanfrings.de/stm32/cube_ide.html#flash

Gast #7317467
Lesenswert?

Wie Sie sagen, Herr W. S. . Sehen wir auch nicht so Herr W. S., dass dies ein qualifizierter Kommentar war, der hier dienlich ist.

Das sehe ich eigentlich haargenau auch so "Harry".

Aber wie könnte man im installierten Zustand eine eventuelle Fehlinstallation unter fehlenden Rechten installiert unter Linux erkennen?

Gast #7317470
Lesenswert?

REI23 schrieb:

Wir nehmen bis dato an, dass ...

Schau lieber in die Dokumentation des Boardes, als etwas anzunehmen.

Nop schrieb:

Ich würde mich nicht darauf verlassen, daß die originale ST-Flash-Software überhaupt mit dem gezeigten chinesischen ST-Link-Clone funktioniert.

Das tut sie, das weis ich ganz genau, weil ich diese Kombination ziemlich oft benutze.

Gast #7317472
Lesenswert?

REI23 schrieb:

Was meinen Sie mit der Aussage, Herr "Nop" - (1) mit fehlender Kompatibilität zwischen in diesem Fall zum Teil wohl in China laut Kennzeichnung produzierten ST-Link-USB-Verbindungsstück und Software?

Die originale ST-Software arbeitet nicht unbedingt mit China-Clones des Flashadapters zusammen, sondern könnte einen originalen ST-Adapter voraussetzen. Es wäre jedenfalls ein möglicher Fallstrick.

(2) openocd-Benutzung - Wie meinen Sie das?

Mit der Software OpenOCD kann man unter Linux Mikrocontroller flashen, z.B. mit einem OCD-Flashadapter. Alles weitere verrät Dir die Suchmaschine Deines Vertrauens.

Gast #7317475
Lesenswert?

Nop schrieb:

Die originale ST-Software arbeitet nicht unbedingt mit China-Clones des Flashadapters zusammen

Doch, das tut sie. Ich empfehle einen originalen Programmieradapter wegen dem fehlenden Reset Pin. Denn das Board hat offenbar auch weder einen Reset Taster noch Zugang zum Boot0 Pin.

Gast #7317477
Lesenswert?

Mein Programmieradapter hat den benötigten Ausgang "reset" - habe aber leider nur vier Käbelchen, die ausreichen müssten, mitgeliefert bekommen.

Nun stellt sich die Frage ob ich 3,3V umstecke auf "reset" und mit dem an die 10 Pin-Leiste gehe.

Das Laden funktioniert doch mit der handelsüblichen "Programmer-Software", wie kann ich in dieser Einflüsse auf BOOT0 und BOOT1 wohl, wie Sie meinen, machen?

Gast #7317479
Lesenswert?

REI23 schrieb:

Wir nehmen bis dato an, dass auf der Karte eine handelsübliche ST-Linkbelegung der 10 Pin-Steckverbindung zu finden ist.

Das Bild dass du gezeigt hast ist die Pinbelegung des chinesischen ST-Link Sticks. Ich habe diese Pinbelegung aber noch nie auf anderen Boards gesehen. Handelsüblich ist sie ganz bestimmt nicht.

Gast #7317483
Lesenswert?

REI23 schrieb:

Mein Programmieradapter hat den benötigten Ausgang "reset"

Nein hat er nicht. Dieser Reset Ausgang hat nur beim Programmieren von STM8 eine Funktion.

REI23 schrieb:

wie kann ich in dieser Einflüsse auf BOOT0 und BOOT1 wohl, wie Sie meinen, machen?

Das kann ich dir sagen, wenn du mir die technischen Unterlagen zu deinem Board gibst. Ich kenne dein Board nicht.

Alternativ kannst du dir die Pinbelegung des Mikrocontrollers in seinem Datasheet anschauen. Insbesondere die Beschreibung des Boot0 Pins.

Schau dir mal diese Seite an: http://stefanfrings.de/stm32/stm32f1.html#proginterfaces

(die ganze Seite meine ich)

Gast #7317502
Lesenswert?

Die Doku habe ich übrigens inzwischen gefunden https://www.vallder-rs.com/en/c/670/38/stepper-motor-drivers/usb-mach3-4-axis-controller-detail#downloads

Der Anschluss, wo du deine Käbelchen angesteckt hast, ist für etwas völlig anderes vorgesehen. Mario hatte das schon korrekt erkannt:

Mario M. schrieb:

Das ist kein Programmierer-Interface sondern der Anschluss für das Handrad!

Das Board hat überhaupt kein Interface für den ST-Link.

Gast #7317505
Lesenswert?

REI23 schrieb:

Wie kommen Sie darauf, mir fehlende Deutschkenntnisse in diesem Kontext vorzuwerfen, Herr F. ?

Das ist kein Vorwurf, sondern eine Vermutung. Weil du die Hälfte der Antworten offenbar nicht verstanden hast und weil du zwischen durch Kommentare geschrieben hast, die hier völlig nutzlos sind. Wie den, wo ich die viele Fragezeichen drunter schrieb.

Nochmal: Höre auf zu diskutieren, lies die Dokumentation.

Gast #7317512
Lesenswert?

Welchen unterstützenden Informationsgehalt besitzt das Forum hier?

Dieser sollte faktisch über die hersteller-seitigen Standardantworten hinweggehen.

Das ist genau die Herausforderung bei meinem kleinen Hobby-Projekt hier - mittels SWDIO SWLK und GND - die richtige Ansprache meiner Karte zu finden.

Es kann doch nicht so schwer sein, ein Programmpaket (*bin oder *hex-Datei, wie auch immer kompiliert) in den RAM auf eine industrienahe Karte mit Mikrosteuerbauteil zu laden, auf dem ein bekanntes Mikrosteuerbauteil sitzt.

Woher die kommt, diese Karte ist erst einmal egal...auf die Programmierung des STM32F103R* kommt es doch im wesentlichen an.

Schließen wir die Diskussion, muss der Fußschalter für den Siemens-Lufthaken zum Herablassen gewesen sein...

Gast #7317520
Lesenswert?

REI23 schrieb:

Welchen unterstützenden Informationsgehalt besitzt das Forum hier?

Wir haben dir Erklärt, wie du den ST-Link Adapter an einem SWD Anschluss benutzen kannst.

Wir haben für dich herausgefunden, wie das Board heisst und wo es die Doku dazu gibt. Wir haben für dich herausgefunden, dass das Board keinen SWD Anschluss hat.

Dieser sollte faktisch über die hersteller-seitigen Standardantworten hinweggehen.

Nein! Der Hersteller verdient Geld mit seinem Produkt, also sollte er alle nötigen Infos bereit stellen.

Du willst hier aber das Board für andere Zwecke missbrauchen. SO wie das Board gestaltet ist, geht das aber nicht!

Du hast hier eine völlig falsche Erwartungshaltung. Am krassesten finde ich aber diesen Anschiss von dir, nachdem du dich strikt geweigert hast, die Dokumentation zu lesen. Und du willst deine "Expertise didaktisch sinnvoll zu erarbeiten und demnächst auch wieder anderen zur Verfügung zu stellen."? Meinst du das wirklich ernst? Dann hast du aber noch verdammt viel zu lernen.

Ich wünsche dir noch viel Erfolg mit einem ganz anderen Hobby.

Gast #7317523
Lesenswert?

DerEinzigeBernd schrieb:

Was für merkwürdige Menschen benutzen eigentlich Begriffe wie "Mikrosteuerbauteil"?

Leute die sich über Rückfragen nach den Deutsch-Kenntnissen nicht nur wundern, sondern auch noch beleidigt reagieren.

Ich kriege mich gar nicht mehr ein.

Irgendeine Billigscheiße bei Aliexpress kaufen, mit Null Sachkenntnis herum fummeln, Erklärungen und Dokus konsequent ignorieren... und dann beschwert er sich auch noch über mangelnden Support. Als ob er uns dafür fürstlich bezahlt hätte. Wie kann nur so großkotzig sein?

Um mal eins klar zu stellen: Wer mit STM32 Mikrocontroller arbeiten will, muss dazu bereit sein, tausende Seiten Dokumentation mehrmals zu lesen.

Gast #7317555
Lesenswert?

Meiden Sie mich einfach mit Ihrem Input Herr F. -

Faktische einfache Fragen, die höchstkomplex aufgebauscht und höchstkomplex sachkenntnisfern, studienfern falsch aufbereitet aber hochkomplex dargestellt werden. Jetzt noch ein "hilfreicher" Verweis auf Hersteller.

Ich kann nur, wie Sie sagen, sagen - wie sollen wir das verstehen?

Zu meinen Studienzeiten war das noch einfacher - hier wird eine ausführbare binäre Programmatik an eine bestimmte Speicherplatzadresse in das Mikrosteuerbauteil geschrieben...

Gast #7317648
Lesenswert?

Wie Sie sagen, "Harry" und wie Sie sagen "Herr F." -

Wird mich überfordern das Thema -

Macht mal weiter hier auf diese Art und Weise -

Handrad, Fußrad, da bestimmt ein bootloader aufmachen, da ein Herstellerprodukt - jetzt keine Deutschkenntnisse -

Ach vergeßt das -war nicht dienlich hier - in Ihrem Hobby-Forum. Nun auch Bezahlung natürlich -

Ich habe zuerst gefragt, und den Lohn werden Sie nicht bezahlen können mit Ihrer Expertise hier.

#7317668
Lesenswert?

Hello REI23,

You may are able to communicate in german language but we can clearly see, that it is not your native language, the colleagues believe they can help you better in english.

This forum is used not only by hobbyists, many members are working full time in the hardware development sector.

According to the picture you have posted earlier, we were able to identify the board type and discovered the used pin header doesn‘t provide access to the programming interface of the STM32 device.

For reprogramming the chip you need to solder wires directly to pins or to replace the chip with a preprogrammed one.

If you feel unsatisfied with the provided answers, it may be the most suitable way for you to post your belonging at some other bulletin board in your native language, but most people here are able to communicate also in english language properly.

#7317780
Lesenswert?

REI23 schrieb:

Ich kann nur, wie Sie sagen, sagen - wie sollen wir das verstehen?

Ganz einfach. Das ist kein Eval-Board, sondern ein fertig programmiertes Produkt. Daher ist der Programmieranschluß nicht auf einem Stecker herausgeführt und erst recht nicht auf der Bedienschnittstelle.

Wenn Du für diese MC-Familie eigene Programme erstellen willst, kaufe ein Eval-Board. Da sind dann die IO-Pins direkt herausgeführt und natürlich auch die Programmierpins bzw. ein 2. MC zum Debuggen.

Ich kaufe ja auch nicht eine Kaffeemaschine, um den MC darin kennen zu lernen.

So sieht z.B. ein Eval-Board mit Debugger aus: https://de.rs-online.com/web/p/entwicklungstools-microcontroller/8224043

#7317790
Lesenswert?

REI23 schrieb:

Wir versuchen uns hier Grundverständnis und Expertise didaktisch sinnvoll zu erarbeiten und demnächst auch wieder anderen zur Verfügung zu stellen..

Davon habe ich in keinem Beitrag von Dir was erkennen können. Nur völlig planloses Rumprobieren, Ignorieren aller Vorschläge, wüste Beschimpfungen und mit dem Fuß aufstampf.

Gast #7317911
Lesenswert?

Da der 10-pin-Sockelstecker auf dem Board nicht zum Flashen ist - wie kommt die originale Software eigentlich rein? Verschiedene Möglichkeiten:

  1. Wird vor dem Auflöten des Controllers geflasht - Update unmöglich.
  2. Über den USB-Anschluß.
  3. Über Pads, auf die bei der Boardherstellung etwas mit Federkontakten aufgesetzt wird.
#7317950
Lesenswert?

Peter D. schrieb:

Die "Challenge" ist nur, das Bild um 180° zu drehen, die Beschriftung "BSMCEO4U-PP" zu lesen und in Google einzugeben. War das wirklich so schwer?

Nein, die "Challenge" ist, valide Information zu finden. Dazu reicht Eintippen nicht aus. Fakt ist, daß weiter oben bereits hilfsbereite Foristen Links zum Thema angegeben haben, die aber alle letztlich nur auf den Nachforschungen von Bill Vancura beruhen und sich lediglich um das Zusammenspiel der Karte mit dem PC-Programm Mach3 und der Anbindung einer CNC-Maschine beschäftigen.

Info zur Karte selbst ist mWn nur auf Chinesisch erhältlich, jede anderslautende Info ist hochwillkommen. Auch wenn der TO sich mit dem hier herrschenden Ton schwertut, bin ich wie er der Meinung, daß die Beschäftigung mit der Karte lohnend sein könnte und das übliche Forumsgeschwafel da nicht weiterhilft.

@NOP Die Karte, die ich hier vorliegen habe, hat einen Controller von Artery drauf, zu dem es Datenblatt und ReferenceManual in Englisch gibt. Ich bin gerade dabei, die in Frage kommenden Pins zu lokalisieren. Es wird aber ein bißchen dauern, da ich mich zwar bei UART-Download auskenne, bei JTAG und SWD aber null Ahnung habe. Muß mich erst auf Stefans Webseite etwas schlaumachen. Anderweitige Nachhilfe ist willkommen.

Gruß Klaus (der soundsovielte)

#7318014
Lesenswert?

Klaus S. schrieb:

Auch wenn der TO sich mit dem hier herrschenden Ton schwertut

Ich denke viel mehr, er tut sich mit systematischer Herangehensweise schwer. Seine Behauptung, der Stecker sei zum Programmieren da, hat erstmal auch viele hier in die Irre geführt. Forumsgeschwafel würde ich das daher nicht nennen. Nur weil ein Stecker 10 Pins hat, ist er noch lange nicht zum Programmieren gedacht. Mit einem Multimeter hätte er auch leicht herausgefunden, daß seine Pinbelegung überhaupt nicht zutrifft. Ich prüfe an unbekannten Steckern erstmal im Ohmbereich, ob GND und VCC auf den Pins liegen.

Ich könnte mir vorstellen, in den MC ist ein Bootloader über USB gebrannt, für Firmwareupdates. Das kann ein bekanntes Protokoll sein, oder irgendwas eigenes.

#7318110
Lesenswert?

Steve van de Grens schrieb:

Links zu der Englischen Anleitung wurden bereits weiter oben gepostet.

Wie ich in meinem Beitrag auch schrieb, enthalten diese Links nur Info zum Anschluß einer CNC-Maschine und die zugehörigen Einträge in das PC-Programm Mach3. Im Gegensatz zu Dir habe ich die verlinkten Dokumente gelesen. In diesem Thread geht es aber um die Neuprogrammierung der Karte. Trotzdem danke für Deine Hilfsbereitschaft ;-)

Gast #7318297
Lesenswert?

Klaus S. schrieb:

Die 2 Pads, die auf dem vom TO geposteten Bild auch deutlich rechts von der CPU zu sehen sind, gehen an Pin 46 und 49. Das sind nach der mir vorliegenden Doku SWCLK und SWDIO.

Ja, das äußere der beiden Pads geht zu Pin 49 (PA14 alias SWCLK), siehe Bild. Beim anderen ist das nicht deutlich zu erkennen - könnte in einer anderen Lage oder auf der Rückseite weitergeführt sein. Da müßte man an diesen Pads prinzipiell etwas Fädeldraht anlöten können, um dann zu flashen.

Angehängte Dateien:
Gast #7428129
Lesenswert?

Alexander schrieb:

Angenommen SWD ist deaktiviert, gibt es eine Möglichkeit das nur über den ST-Link zu aktivieren?

Ja, wenn du die Reset Leitung vom ST-Link mit dem Mikrocontroller verbunden hast, was eigentlich der Normalfall ist.

Wenn du nur einen Reset Taster hast, kannst du die Option "Connect under Reset" (oder so ähnlich heisst sie) benutzen. Dazu den Reset Taster gedrückt halten, den ST-Link starten, dann den Taster loslassen.

Alternative: Boot0 auf HIGH setzen, dann startet der Bootloader, welcher SWD nicht deaktiviert.

Einen baugleichen STM32 habe ich erfolgreich geflasht, bei diesem hier komme ich nicht weiter.

Falls es ein STM32F103C8 oder R8 ist: Es sind Fälschungen im Handel, bei denen SWD nicht funktioniert.

Gast #7428139
Lesenswert?

Alexander schrieb:

Ja ist es. "Connect under Reset" hat geklappt, danke! Habe leider keinen Zugang zu den Pads, und auch keinen Taster, aber ich konnte die Stromversorgung unterbrechen. Dann nur den ST-Link v2 (clone) verbunden, mit dem richtigen Timing erwischt man den Bootloader.

Gut zu wissen, dass es auch so geht. Kannte ich noch nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren