Forum: Mikrocontroller und Digitale Elektronik Hex-File in BluePill laden?


von Hans L. (holzwurm56)


Lesenswert?

Hallo,
ich habe ein Hex-File, ob es mit der Arduino Software, C oder einer 
anderen
Programmiersprache erzeugt wurde weiß ich nicht. Ich würde die gerne in
einen STM32-Bluepill laden. Geht das mit der Arduino Software?
Es gibt wohl AVR-Dude, WinAvr u. ä., aber die wollen anscheinend einen
Programmieradapter. Es müsste doch was geben mit dem man wie bei der
Arduino-Software über USB ohne zusätzlichen Adapter das Hex-File in den 
BluePill laden kann.
MfG
Hans

von Sebastian R. (sebastian_r569)


Lesenswert?


: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Hans L. schrieb:
> ich habe ein Hex-File, ob es mit der Arduino Software, C oder einer
> anderen Programmiersprache erzeugt wurde weiß ich nicht.

> Ich würde die gerne in einen STM32-Bluepill laden.
> Geht das mit der Arduino Software?

Nur wenn das Hexfile für das Bluepill Board ist. Arduino bezeichnet ja 
keine µC-Architektur, sondern eigentlich ein Board-Format das mit 
Shields (Aufsteckboards) erweiterbar ist. Letzteres aber auch nicht 
mehr.

Das Bluepill ist eigentlich kein originäres Arduino Board. Aber es hat 
einen USB-Anschluß. Und wenn man einen Arduino-kompatiblen Bootloader 
aufspielt, dann kann man es aus der Arduino-IDE programmieren.

Aber sehr wahrscheinlich ist dein Hexfile für ein anderes Board oder gar 
eine andere µC-Architektur. Das steht nicht drin. Ein Hexfile ist nichts 
weiter als ein Container für einen Speicher-Dump.

von Hans L. (holzwurm56)


Lesenswert?

Die Hex-Datei ist für den Stm32 der auf der BluePill ist.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Ist es ein STM32F103 bluepill? Das hat keinen USB Bootloader im ROM, das 
kann man nicht per USB flashen. Man braucht einen SWD/JTAG 
Programmieradapter, oder einen USB-Serial Adapter um den UART Bootloader 
im ROM nutzen zu können.

von Ralph S. (jjflash)


Lesenswert?

Axel S. schrieb:
> Aber es hat
> einen USB-Anschluß. Und wenn man einen Arduino-kompatiblen Bootloader
> aufspielt, dann kann man es aus der Arduino-IDE programmieren.

... aber nur, wenn man den fehlerhaft bestückten Widerstand R10 (der nun 
mehr seit Jahren immer falsch ist) auf der Unterseite (der hat einen 
Wert von 10k) durch einen 1,5k Widerstand ersetzt.

Es gibt noch die Möglichkeit, das BluePill-Board mittels seriellem 
Bootloader zu flashen. Hierfür braucht es einen USB2UART Adapter wie es 
der geneigte Bastler haben sollte. Dieses schließt man "über Kreuz" an 
das BluePill an: RxD des Adapters an TxD der BluePill, TxD des Adapters 
an RxD der BluePill.

Man nehme das Program STM32CubeProgrammer, aktiviere den Bootloader der 
BluePill: Boot0 auf 1, reset drücken und wieder loslassen. Mit dem 
STM32CubeProgrammer sollte man die BluePill jetzt flashen können.

von Axel S. (a-za-z0-9)


Lesenswert?

Hans L. schrieb:
> Die Hex-Datei ist für den Stm32 der auf der BluePill ist.

Und woher weißt du das? Immerhin wußtest du nicht

Hans L. schrieb:
> ob es mit der Arduino Software, C oder einer
> anderen Programmiersprache erzeugt wurde

?

Und ist auf deinem Bluepill denn überhaupt ein USB-Bootloader drauf? 
Normalerweise nämlich nicht. Normalerweise hat der STM32F103 auf dem 
Bluepill nur den seriellen Bootloader im ROM. Der ist in AN2606 
beschrieben.

https://www.google.com/search?&q=bluepill%20serial%20bootloader

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Ralph S. schrieb:
> ... aber nur, wenn man den fehlerhaft bestückten Widerstand R10 (der nun
> mehr seit Jahren immer falsch ist) auf der Unterseite (der hat einen
> Wert von 10k) durch einen 1,5k Widerstand ersetzt.

Im Schaltplan steht 4,7k Ohm.

Vorsicht, denn dieser Widerstand hängt an 5V und erzeugt so wie er 
dimensioniert ist die richtige Spannung (in Kombination mit der Ladt am 
anderen Ende des Kabels).

Ja, normal wären 1,5k Ohm, aber dann bitte an 3,3V!

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Am einfachsten geht das Flashen über ein ST-Link V2. Die Dinger kosten 
um die 2 EUR bei Aliexpress.

Bild: 
https://www.mikrocontroller.net/wikifiles/0/04/STM32_MiniDevBoard_Flashen_Anleitung_2.PNG

von Gunnar F. (gufi36)


Lesenswert?

Frank M. schrieb:
> Am einfachsten geht das Flashen über ein ST-Link V2. Die Dinger kosten
> um die 2 EUR bei Aliexpress.

Damit hatte ich aber oft Probleme. ST fragt so im gefühlten 
Wochenrythmus nach Firmware Updates. Die Clones sind mir daran ein 
paarmal gescheitert. Seitdem verwende ich nur noch Originale.

von Chris T. (kalor)


Lesenswert?

Gunnar F. schrieb:
> Die Clones sind mir daran ein
> paarmal gescheitert.

Ich hatte auch mal das Problem mit dem nicht funktionierenden Update in 
der Cube IDE. Am Cube Programmer lies er sich dann immer updaten und 
danach auch in der Cube IDE.

Chris Tian

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Gunnar F. schrieb:
> Damit hatte ich aber oft Probleme. ST fragt so im gefühlten
> Wochenrythmus nach Firmware Updates.

Ich verwende zum Compilieren meiner STM32-Programme EmBitz. Die IDE hat 
das Flashen direkt integriert. Debuggen geht damit auch. Da habe ich 
noch nie Probleme mit den ST-Link-Clones gehabt.

Ansonsten benutze ich auch den Original-ST-Link eines Nucleo-Boards. 
Diesen kann man einfach absägen. Anschließend lässt er sich dann an 
beliebige STM32-Boards anschließen und natürlich damit auch wieder mit 
dem Nucleo-Überbleibsel verwenden.

von Gunnar F. (gufi36)


Lesenswert?

Chris T. schrieb:
> Ich hatte auch mal das Problem mit dem nicht funktionierenden Update in
> der Cube IDE. Am Cube Programmer lies er sich dann immer updaten und
> danach auch in der Cube IDE.

Interessant! Ich dachte mir, der geklonte f103 habe einfach zu wenig 
flash für modernere Firmwares.

von Hans L. (holzwurm56)


Lesenswert?

Ich hatte noch einen StLink, damit war es ganz einfach die Datei in die
Bluepill zu laden. Ich hatte gedacht das ich in der Arduino-Ide den 
seriellen Monitor benutzen könnte, ging aber sowieso nicht weil der 
Programmersteller
den Usart3 für die Kommunikation genommen hat. Ich hatte noch ein 
Erlebnis der "3. Art". Der Rechner hat den BluePill nicht wahrgenommen, 
ich habe gedacht er wäre kaputt und habe alle die ich hatte ausprobiert. 
Dann habe ich gemerkt das bei diesem USB-Kabel nur + und - belegt waren, 
das Kabel war
2adrig. Hatte ich vorher noch nie gesehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.