Forum: Mikrocontroller und Digitale Elektronik USB to TTL mit CH340


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Rudi D. (rulixa)


Lesenswert?

funktioniert in de Arduino IDE nicht.
treiber steht aber im Gerätemanager mit Port COM6.
MIt STLINK/V2 ebenfalls kein Erfolg.

Mit dem ST Cube programmer und STlink funktioniert die Programmierung 
gut, USB to TTL kann keine Verbindung aufbauen.

Versuche den bootloader  ......pc13 via STLINK zu laden funktioniert, 
wird aber dann in der Arduino IDE nicht erkannt.

IM hardwaredirectory von Arduino ist alles eingetragen was gewünscht 
wird.

Wer kennt sich besser als ich aus?

von Sebastian R. (sebastian_r569)


Lesenswert?

Ehm. Dein Text ist leider doch recht konfus. Eventuell solltest du uns 
mal abholen.

Um was für eine Hardware geht es? Wie hast du alles verbunden? 
Funktioniert der CH340 ansich (Rx mit Tx verbinden und dann mit einem 
Terminal mal ein paar Zeichen senden)?

Fotos könnten auch helfen.

von uxdx (Gast)


Lesenswert?

TTL-seriell hat nicht nur andere Pegel, sondern auch andere Logik bzw. 
Polarität als RS232-seriell.
1
TTL   logisch 0 = 0 V       logisch 1 = +5 V (oder +3.3 V etc)
2
3
RS232 logisch 0 = +12 V     logisch 1 = -12 V (evtl. auch niedrigere Spannungen)

von Hmmm (Gast)


Lesenswert?

uxdx schrieb:
> TTL-seriell hat nicht nur andere Pegel, sondern auch andere Logik bzw.
> Polarität als RS232-seriell.

Hier ist nirgendwo RS232 im Spiel. Und selbst wenn, Bausteine wie der 
MAX232 kümmern sich um die Invertierung.

von Wolfgang (Gast)


Lesenswert?

Rudi D. schrieb:
> funktioniert in de Arduino IDE nicht.

heißt was genau?

von Gerald B. (gerald_b)


Lesenswert?

Nur gut, das das meine chinesischen Nano Clone und meine Arduino IDE 
nicht wissen. Bei mir funktioniert's :-)))

von Klaus S. (kseege)


Lesenswert?

Rudi D. schrieb:
> IM hardwaredirectory von Arduino ist alles eingetragen was gewünscht
> wird.

Da die echten Experten noch nichts von sich gegeben haben und die 
angegebene Fehlerbeschreibung nur als unterirdisch zu bezeichnen ist, 
versuche ich mich mal mit einem Vorschlag. Vermutlich programmierst Du 
einen STM32 und da der ST-Cube-Programmer (hoffentlich doch über den 
CH340) nach Deiner Beschreibung funktioniert, ist wohl die Hardware ok 
und richtig verbunden. Bleibt als Fehler eigentlich nur noch übrig, daß 
der oben zitierte Satz gelogen ist.

Da Du wenig Lust gehabt hast, Deine Beschreibung zu präzisieren, hab ich 
es auch nicht.

Gruß
Klaus (der irgendsovielte)

von Manfred (Gast)


Lesenswert?

Rudi D. schrieb:
> funktioniert in de Arduino IDE nicht

Die Frage bitte noch einmal in Deutsch! Vielleicht kann ja der Großvater 
dabei helfen, der musste noch Grundlagen des Schreibens lernen.

Alle meine Arduinos sind Chinesen mit CH340 auf dem Board oder CH340 als 
externer Wandler, damit hatte ich noch nie Ärger.

von Klaus S. (kseege)


Lesenswert?

Hallo Rudi,

nach einer kurzen Nacht und einem anstrengenden Tag war ich gestern 
etwas sehr kurz angebunden.

Besser ausgeschlafen hier nun die Vollversion:

Mit der Arduino-IDE programmiere ich inzwischen 5 verschiedene 
CPU-Familien und wahrscheinlich kann man inzwischen auch noch 5 weitere 
damit bearbeiten, die ich aber nicht selbst verwende und daher nicht 
kenne. Jede hat andere Quirks und Befindlichkeiten. Daher wäre die 
Angabe der CPU sowie der verwendeten JSON-Datei zur Konfiguration extrem 
hilfreich.

Als Schuß ins Blaue (mehr läßt Deine Beschreibung nicht zu) hier meine 
Erfahrung mit der BluePill: Mit einer JSON-Datei zur Konfiguration 
wird das Board in der Arduino-IDE korrekt erkannt, mit einer anderen 
nicht.

Daher halte ich einen Fehler in der IDE-Konfiguration für viel 
wahrscheinlicher als einen Fehler des CH340.

Gruß
Klaus (der soundsovielte)

von Phato (Gast)


Lesenswert?

Bist Du Geiger?
Bist Du Rudi ratlos?
Bist Du noch da?

Versuche es nochmal.

von Rudi D. (rulixa)


Lesenswert?

Klaus und Gerald danke erstmals.
Es geht wie vermutet um STM32 BluePill.

Alle Ingredienzien sind in der Arduini-IDE eingetragen. Treiber in WIN10 
alle da und funktionieren lt. WIN-Meldung.

USB_to_TTL mit CH340 funktioniert in der A-IDE und im ST-Cube-Progr. 
nicht.
STLink in A-IDE nicht im Cube schon.

Mit Hilfe des Cube kann ich BluePill programmieren mit exportierter .bin 
aus der A-IDE. Bootloader auch. Aber keine Funktion als Device in 
Arduino IDE.

Gerald, bitte um deine Einstellungen bis ins Detail. Habe im Net 
gelesen, dass CH340 problematisch sei. Habe ein FTDI bestellt. Werde 
sehen.

von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

Sebastian R. schrieb:
>
> Fotos könnten auch helfen.
Bitte sehr.

Etwas ist schon merkwürdig: ich komme im Flash Loader Demonstrator nicht 
über den 1st screen hinaus. Also da hapert es schon mit der Verbindung 
zum CH340, denke ich.
Im Cube, wenn ich UART wähle, heisst es weiter:
response received from device NACK

Im Arduino Boardverwalter ist der Link zu
http://dan.drown.org/stm32duino/package_STM32duino_index.json
eingetragen

: Bearbeitet durch User
von Sebastian R. (sebastian_r569)


Lesenswert?

Ich frage mich gerade, ob die Arduino-IDE überhaupt den STM32-Bootloader 
per STLink flashen kann... Vorstellen kann ich es mir aber schon.


Beim CH340:
Funktioniert ein "Loop-Test", also RX mit TX verbinden und dann mit 
einem Terminal deiner Wahl etwas senden?

Ansonsten: Du hast ja mit diesen Dupont-Kabeln einen eigenen Adapter 
gelötet. Die Kabel sind meist aus verkuperftem Alu und lassen sich sehr 
scheiße löten und manchmal klebt es einfach nur, ergibt aber keine 
elektrische Verbindung. Sind die Verbindungen bei deinem Adapter 
wirklich da?

von Rudi D. (rulixa)


Lesenswert?

Sebastian R. schrieb:
> Ich frage mich gerade, ob die Arduino-IDE überhaupt den STM32-Bootloader
> per STLink flashen kann... Vorstellen kann ich es mir aber schon.
 Hab ich mit Cube und STlink gemacht, aber die dann "normale Verbindung 
mit Bootloader im BluePill" in der A-IDE wird nicht erkannt. Werde noch 
einen Vergleich im Speicher mit der Ladedatei machen. Bei "blink.bin" 
ist es ident.
>
> Beim CH340:
> Funktioniert ein "Loop-Test", also RX mit TX verbinden und dann mit
> einem Terminal deiner Wahl etwas senden?

Verstehe Bahnhof: Am CH340 RX un TX verbinden?

>
> Ansonsten: Du hast ja mit diesen Dupont-Kabeln einen eigenen Adapter
> gelötet. Die Kabel sind meist aus verkuperftem Alu und lassen sich sehr
> scheiße löten und manchmal klebt es einfach nur, ergibt aber keine
> elektrische Verbindung. Sind die Verbindungen bei deinem Adapter
> wirklich da?

Jede Leitung nachgemessen. Darum, siehe Bild, noch Schrumpfschläuche 
über den Lötstellen.

von Sebastian R. (sebastian_r569)


Lesenswert?

Rudi D. schrieb:
> Verstehe Bahnhof: Am CH340 RX un TX verbinden?

Ja.
Rx und Tx miteinander verbinden. Wenn du dann in einem Terminal ein 
Zeichen sendest, solltest du es genau so wieder empfangen.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Bei den STM32F103 Klonen wurde mehrfach berichtet, dass sich einige nur 
per ST-Link und andere nur seriell befüllen lassen. Und wenn es seriell 
geht, dann manchmal nur mit 115200 Baud. Dabei muss die Parität auf 
"even" eingestellt sein.

Bei der seriellen Schnittstelle kommt der hart verdrahtete interne 
Bootloader zum Einsatz (über Boot0 Jumper aktivieren).

Der Arduino Bootloader dient dazu, den Chip künftig über USB zu 
befüllen. Er kann nur seriell oder über SWD installiert werden.

Bevor du dir da einen Wolf suchst, besorge dir ein originales 
Nucleo-F103 Board und teste erstmal damit. Dein Programm kannst du 
unverändert darauf laden, auch wenn auf dem Board ein Modell mit mehr 
Speicher sitzt.

: Bearbeitet durch User
von Klaus S. (kseege)


Lesenswert?

Rudi D. schrieb:
> Jede Leitung nachgemessen. Darum, siehe Bild, noch Schrumpfschläuche
> über den Lötstellen.

Aber leider steckt die Buchsenleiste mit TxD/RxD eine Position zu weit 
nach innen, wie man auf dem Foto unschwer erkennt. RxD muss an A9, TxD 
an A10. Also einfach die Buchsenleiste eine Position verschieben und die 
Software hat weniger Probleme mit der Hardware.

Gruß Klaus (der sounsovielte)

von Klaus S. (kseege)


Lesenswert?

Sebastian R. schrieb:
> Ich frage mich gerade, ob die Arduino-IDE überhaupt den STM32-Bootloader
> per STLink flashen kann... Vorstellen kann ich es mir aber schon.

Hä? Der Bootloader steht im ROM, da ist nix mehr zu flashen.

von Sebastian R. (sebastian_r569)


Lesenswert?

Klaus S. schrieb:
> Hä? Der Bootloader steht im ROM, da ist nix mehr zu flashen.

Nutzt STM32Duino den internen Bootloader oder haben die einen eigenen 
seriellen Bootloader?

Und wenn's der interne ist, sind die Boot-Pins richtig eingestellt?

von Klaus S. (kseege)


Lesenswert?

@stefanus

Da hat sich meine Bemerkung mit Deiner überschnitten. Natürlich hast Du 
recht, man kann immer im Flash noch einen zusätzlichen eigenen 
Bootloader nach Wahl unterbringen.

von Rudi D. (rulixa)


Lesenswert?

Klaus S. schrieb:
> Rudi D. schrieb:
>> Jede Leitung nachgemessen. Darum, siehe Bild, noch Schrumpfschläuche
>> über den Lötstellen.
>
> Aber leider steckt die Buchsenleiste mit TxD/RxD eine Position zu weit
> nach innen, wie man auf dem Foto unschwer erkennt. RxD muss an A9, TxD
> an A10. Also einfach die Buchsenleiste eine Position verschieben und die
> Software hat weniger Probleme mit der Hardware.
>
> Gruß Klaus (der sounsovielte)

Ja stimmt, ist so aber nur auf dem Foto. Leider wars das nicht.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Noch etwas: Der STM32Duino Bootloader ist sehr sehr alt. Er war für den 
STM32Duino Core von Roger Clarks vorgesehen.

https://github.com/rogerclarkmelbourne/Arduino_STM32
https://github.com/rogerclarkmelbourne/STM32duino-bootloader

Zwischenzeitlich wurde das STM32Duino Projekt von ST übernommen und auf 
Basis von Cube HAL umgebaut. Nach meinem Kenntnisstand unterstützt die 
Software von ST den STM32Duino Bootloader nicht.

Um das nochmal klar zu stellen: Die Arduino IDE basiert schon lange auf 
Software von ST, nicht auf Roger Clarks.

Wenn du mit der Software von ST über USB flashen willst, dann musst du 
dazu den internen hart-codierten Bootloader verwenden, der durch Boot0 
Jumper aktiviert wird. In der F1 Serie unterstützen nur die Bootloader 
der STM32F105 und STM32F107 Modelle den USB Port. Dein Board nicht.

: Bearbeitet durch User
von Rudi D. (rulixa)


Lesenswert?

Stefan ⛄ F. schrieb:
> Bei den STM32F103 Klonen wurde mehrfach berichtet, dass sich einige nur
> per ST-Link und andere nur seriell befüllen lassen. Und wenn es seriell
> geht, dann manchmal nur mit 115200 Baud. Dabei muss die Parität auf
> "even" eingestellt sein.

Wahrscheinlich sind meine nur seriell zu flashen und das gerade geht 
nicht.
Es sind BluePills vor 2020 und es ist auch ST Zeichen zu lesen.
>
> Bei der seriellen Schnittstelle kommt der hart verdrahtete interne
> Bootloader zum Einsatz (über Boot0 Jumper aktivieren).

Ja danke, bekannt.
>
> Der Arduino Bootloader dient dazu, den Chip künftig über USB zu
> befüllen. Er kann nur seriell oder über SWD installiert werden.

Im ST-Cube ist mit STLINK/V2 SWD zu lesen.
>
> Bevor du dir da einen Wolf suchst, besorge dir ein originales
> Nucleo-F103 Board und teste erstmal damit. Dein Programm kannst du
> unverändert darauf laden, auch wenn auf dem Board ein Modell mit mehr
> Speicher sitzt.
In der Zwischenzeit einen anderen FTDI bestellt.

von Klaus S. (kseege)


Lesenswert?

Sebastian R. schrieb:
> Nutzt STM32Duino den internen Bootloader oder haben die einen eigenen
> seriellen Bootloader?

Ich bin kein STM32-Experte wie Stefan, habe nur ein bißchen mit 
Anleitung von den Webseiten von heise und stefanus mit der BluePill 
gespielt und dabei entdeckt, daß es mindestens 2 verschieden 
JSON-Dateien für die Konfiguration der Arduino-IDE gibt. Eine 
funktionierte mit dem von mir genutzten UART-Boot, die Andere nicht. 
Vielleicht kann die dafür den ST-Link, aber nicht den UART-Boot?
Kann das jemand ausprobieren, der beide Systeme hat? Rudi wäre doch 
ideal dafür, er hat beide Systeme. Wie wärs, Rudi? Das würde auch zu dem 
von Stefan erwähnten Phänomen passen, daß sich manche nur per UART-Boot, 
Andere nur per ST-Link befüllen lassen, aber eben nicht abhängig von 
Hardware, sondern von der Arduino-Konfiguration. Mich täte das Ergebnis 
jedenfalls interessieren.

Gruß Klaus (der soundsovielte)

von Stefan ⛄ F. (stefanus)


Lesenswert?

Rudi D. schrieb:
> es ist auch ST Zeichen zu lesen.

Die Fälschungen haben auch alle ein ST Logo. Sonst wären es keine 
Fälschungen.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Rudi D. schrieb:
>> Der Arduino Bootloader dient dazu, den Chip künftig über USB zu
>> befüllen. Er kann nur seriell oder über SWD installiert werden.

> Im ST-Cube ist mit STLINK/V2 SWD zu lesen.

Deine Beiträge verwirren mich ziemlich.

Wenn du mit dem STLINK irgend etwas gelesen hast, dann war daran ganz 
sicher kein Bootloader beteiligt.

von Rudi D. (rulixa)


Lesenswert?

Stefan ⛄ F. schrieb:
> Rudi D. schrieb:
>>> Der Arduino Bootloader dient dazu, den Chip künftig über USB zu
>>> befüllen. Er kann nur seriell oder über SWD installiert werden.
>
>> Im ST-Cube ist mit STLINK/V2 SWD zu lesen.
>
> Deine Beiträge verwirren mich ziemlich.
>
> Wenn du mit dem STLINK irgend etwas gelesen hast, dann war daran ganz
> sicher kein Bootloader beteiligt.

Tut mir Leid. Im Cube-GUI, bei Verbindung mit STLINK steht im 
Verbindungsfenster von Cube SWD

Short speech is sometimes too short.

von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

Rudi D. schrieb:
> Stefan ⛄ F. schrieb:

>> Deine Beiträge verwirren mich ziemlich.

> Tut mir Leid. Im Cube-GUI, bei Verbindung mit STLINK steht im
> Verbindungsfenster von Cube SWD
>
> Short speech is sometimes too short.

Will das Projekt siehe Bild auf 32 Bit portieren der Atmel 328 ist für 
Wobbel zu langsam.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Wie gesagt benutzt der ST-Link Adapter die SWD Schnittstelle.

Der interne Booloader (dein Modell hat wie gesagt keinen) ist für die 
USB Schnittstelle. Er wird in der IDE "STM32CubeProgrammer (DFU)" 
genannt.

Und der Bootloader von Roger Clarks heisst in der IDE "Maple DFU 
Bootloader". Ob das nun die Version "original" oder "2.0" ist, weiß ich 
nicht. Als ich das damals probierte gab es diese Auswahlmöglichkeit 
nicht.

Der Bootloader von Roger Clarks ist reguläre Software, um sie 
auszuführen musst du den Boot0 Jumper auf 0 setzen. Der Bootloader ist 
nach dem Einstecken des USB Kabels nur für eine Sekunde aktiv. Danach 
startet er das eigentliche Anwendungsprogramm, welches Initial ein 
simpler Led-Blinker ist.

: Bearbeitet durch User
von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

Stefan ⛄ F. schrieb:
> Wie gesagt benutzt der ST-Link Adapter die SWD Schnittstelle.
>
> Und der Bootloader von Roger Clarks heisst in der IDE "Maple DFU
> Bootloader". Ob das nun die Version "original" oder "2.0" ist, weiß ich
> nicht.>
> Der Bootloader von Roger Clarks ist reguläre Software, um sie
> auszuführen musst du den Boot0 Jumper auf 0 setzen. Der Bootloader ist
> nach dem Einstecken des USB Kabels nur für eine Sekunde aktiv. Danach
> startet er das eigentliche Anwendungsprogramm, welches Initial ein
> simpler Led-Blinker ist.

Danke für die Info. Bekomme morgen den FTDI siehe Bild

Mach für heute Schluss.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Wenn du dich wieder meldest, dann reiche mal die Info nach, was du 
machen willst und welche Software du mit welchen Einstellungen verwendet 
hast.

Vor allem solltest du klarstellen, ob du Software von Roger Clarks oder 
von ST verwendest.

von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

Stefan ⛄ F. schrieb:
> Wenn du dich wieder meldest, dann reiche mal die Info nach, was du
> machen willst und welche Software du mit welchen Einstellungen verwendet
> hast.
Ich will dieses Programm s.o. von Atmel auf BluePill portieren, weil 
wobbeln zu langsam ist. Nur 2,5 Hz bei nur 64 Steps je Wobbeldurchlauf. 
Mit AD9850 und tiny 4413 70 Hz mit 255 Steps, in Assembler, erreicht. 
Ein altes Projekt aus 2015. Ging auch nur bis 30 MHz. Dieses neue 
Projekt geht über den UKW-Bereich hinaus. Sogar primitivste 
FM-Modulation ist möglich.


> Vor allem solltest du klarstellen, ob du Software von Roger Clarks oder
> von ST verwendest.

Ich verstehe die Frage nicht. Ich will nur BluePill in die Arduino-IDE 
integrieren wofür es im Internet zuhauf Anleitungen gibt. u.a. den 
Bootloader in den BluePill zu kriegen, damit man den USB-Anschluß von 
BluePill in der Arduino-IDE verwenden kann.
Meine Versuche das zu erreichen sind neg. Deshalb dieser Thread.
Den ST Cube programmer verwende ich nur, da ich damit an sich den 
BluePill jetzt auch programmieren kann, wie schon beschrieben. Aber es 
ist ein unbequemer Umweg.
Wie gesagt: Nicht einmal mit dem CH340 komme ich im Flash loader 
demonstrator zurecht, obwohl Win10 den Treiber geladen hat und er im 
Gerätemanager aufscheint. Meldung: "No response from the target, the 
Boot Loader can not be started"

Das ist der Stand der Dinge.

von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

Sebastian R. schrieb:

> Beim CH340:
> Funktioniert ein "Loop-Test", also RX mit TX verbinden und dann mit
> einem Terminal deiner Wahl etwas senden?
>
ja, siehe Bild.
Bin jetzt natürlich noch ratloser.


P.S. Mit Burkhard Kainka habe ich etwa 2005 mit µC's im Ruhestand 
begonnen.
Von da ist das einfachste Terminalprogramm.
Vorher, im Beruf, wurde u.a. Software für VCR's von meinen Mitarbeitern 
geschrieben. Viel mit OTP's damals. Oft wurden HW-Krücken dazugeleimt.

: Bearbeitet durch User
von Stefan ⛄ F. (stefanus)


Lesenswert?

Rudi D. schrieb:
> Ich verstehe die Frage nicht. Ich will nur BluePill in die Arduino-IDE
> integrieren

OK, dann verabschiede dich mal am besten von dem Begriff "Bootloader" 
und allem was damit zu tun hat.
> wofür es im Internet zuhauf Anleitungen gibt. u.a. den
> Bootloader in den BluePill zu kriegen, damit man den USB-Anschluß
> von BluePill in der Arduino-IDE verwenden kann.

Das ist der schwierigste Weg, weil sowohl die Bootloader, als auch die 
Arduino Cores, als auch die sonstigen Tools dazu in der Zwischenzeit 
mehrfach auf inkompatible Weise verändert wurden. Nur ein Bruchteil der 
Anleitungen wird mit aktueller Software funktionieren.

Deswegen benutze den ST-Link. Der wird von jeder IDE unterstützt. Das 
ist der einfachste und zuverlässigste Weg.

Dazu noch einen Hinweis: Das laufende Programm auf deinem µC deaktiviert 
die SWD Schnittstelle wahrscheinlich (weil das die Standard-Vorgabe der 
Bibliothek ist). Normalerweise kann ein Programmieradapter dies mit 
Hilfe der Reset Leitung umgehen, aber dein billiges China-Dings hat 
keinen Reset Ausgang (jedenfalls nicht für STM32). Es gibt 2 
Workarounds:

a) Den Reset-Knopf gedrückt halten, Programmiervorgang starten, Reset 
loslassen. Das Timing ist tricky, dazu gibt es Videos bei Youtube.

b) Den Boot0 Jumper auf 1 setzen und Reset drücken. Dann startet dein 
Programm nicht, und die SWD Schnittstelle bleibt aktiv. Nach dem 
Flashen den Jumper wieder auf 0 zurück setzen und Reset drücken.

: Bearbeitet durch User
von Klaus S. (kseege)


Lesenswert?

Rudi D. schrieb:
> Ich will nur BluePill in die Arduino-IDE
> integrieren

Und das geht z.B. mit einem USBtoSerial Adapter, so wie Du ihn 
angeschlossen hast, direkt aus der Arduino-IDE, wenn Du die JSON-Datei 
von Dan Drown verwendest, weil dann der ST-Flasher von Roger Clark 
mitinstalliert wird. Der beherrscht den Boot über Serial.
Mit der JSON-Datei von github gehts jedenfalls nicht ohne weitere 
Verrenkungen. Gestern nochmal selbst geprüft. Die Arduino-Software 
verlangt nach dem ST-Cube.
Kann man vielleicht nachrüsten, war mir aber zu umständlich. Ich bin 
bekennender Minimalist und mag einfache Lösungen.

Gruß Klaus (der soundsovielte)

von Klaus S. (kseege)


Lesenswert?

Stefan ⛄ F. schrieb:
> b) Den Boot0 Jumper auf 1 setzen und Reset drücken. Dann startet dein
> Programm nicht, und die SWD Schnittstelle bleibt aktiv. Nach dem
> Flashen den Jumper wieder auf 0 zurück setzen und Reset drücken.

Das ist aus meiner Sicht kein Workaround, sondern der von ST vorgesehene 
Weg für den Start des ROM-Boots. Setze ich den Jumper Boot0 auf 1, so 
startet die CPU nach PowerOn oder Reset den Bootloader im ROM.

Lade ich dann aus der Arduino-IDE ein Programm über den UART, so wird es 
direkt nach dem Flashen angesprungen, ohne daß ich einen Jumper setzen 
und Reset auslösen müßte.
Reset brauche ich, wenn ich nach Tests eine neue Version aufspielen 
möchte und den Jumper Boot0 muß ich erst zurücksetzen, wenn mein 
Programm ausgetestet und nix neues geladen werden soll. (Minimalisten 
hassen eben unnötige Arbeit :-)

Gruß Klaus (der soundsovielte)

P.S. Bitte um Nachsicht für meine Erbsenzählerei, aber ich habe den 
Eindruck, daß der Bootprozeß für viele sehr im Nebel liegt. Daher meine 
ich, daß auf diesem Gebiet besonders auf Klarheit und Eindeutigkeit Wert 
gelegt werden muß. Habe aber keine Ahnung, ob mir das gelingt.

von Rudi D. (rulixa)


Lesenswert?

Stefan ⛄ F. schrieb:
> Rudi D. schrieb:

> Deswegen benutze den ST-Link. Der wird von jeder IDE unterstützt. Das
> ist der einfachste und zuverlässigste Weg.
>

> b) Den Boot0 Jumper auf 1 setzen und Reset drücken. Dann startet dein
> Programm nicht, und die SWD Schnittstelle bleibt aktiv. Nach dem
> Flashen den Jumper wieder auf 0 zurück setzen und Reset drücken.

Wenn ich das richtig verstehe:
Anwendung von STLINK in der Arduino IDE
Boot0 auf 1
Programm uploaden
Boot0 auf 0

Was ich bemerkt habe: wähle ich STLINK kann zwar hochladen aber es gibt 
Fehlermeldung. Werde sehen ob das mit dem Jumper0 auf 1 behoben ist.
Aber in der IDE ist bei Programmer nichts eingetragen, was bedeutet das 
denn wieder?

von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

Klaus S. schrieb:
> Stefan ⛄ F. schrieb:

> Das ist aus meiner Sicht kein Workaround, sondern der von ST vorgesehene
> Weg für den Start des ROM-Boots. Setze ich den Jumper Boot0 auf 1, so
> startet die CPU nach PowerOn oder Reset den Bootloader im ROM.

o.k. Es muss ja einen Starter geben gut wenn er im ROM ist
>
> Lade ich dann aus der Arduino-IDE ein Programm über den UART, so wird es
> direkt nach dem Flashen angesprungen, ohne daß ich einen Jumper setzen
> und Reset auslösen müßte.
> Reset brauche ich, wenn ich nach Tests eine neue Version aufspielen
> möchte und den Jumper Boot0 muß ich erst zurücksetzen, wenn mein
> Programm ausgetestet und nix neues geladen werden soll. (Minimalisten
> hassen eben unnötige Arbeit :-)

Auch hier ist kein Programmer im "Toolfenster" der Arduino IDE zu sehen.
Upload method steht Serial, weil eben Vorgabe und bei Port COM7
Der UART mit CH340 funktioniert zwar, siehe Bild vom Terminal. Aber 
nicht im ST Loader Demonstrator. Warum keine Ahnung.

Ist das egal?  BTW welcher Programmer ist bei Dir eingetragen?
Im Anhang die Fehlermeldung der Arduino IDE beim hochladen via Serial, 
COM7

: Bearbeitet durch User
von Klaus S. (kseege)


Lesenswert?

Rudi D. schrieb:
> Auch hier ist kein Programmer im "Toolfenster" der Arduino IDE zu sehen.
> Upload method steht Serial, weil eben Vorgabe und bei Port COM7
> Der UART mit CH340 funktioniert zwar, siehe Bild vom Terminal. Aber
> nicht im ST Loader Demonstrator. Warum keine Ahnung.
>
> Ist das egal?  BTW welcher Programmer ist bei Dir eingetragen?

Den ST Loader Demonstrator kenne ich leider nicht.

Als Programmer ist gar keiner eingetragen, es gibt dort keinen Eintrag 
bei mir.
Upload auf "Serial" und richtiger ComPort sollten reichen.
Bei "Board" ist bei mir "Generic STM32F103C series" eingetragen.

Du kannst aber im unteren Fensterteil (rote Schrift auf schwarzem Grund) 
sehen, wo es hakt. Erst kommen 2 weiße Zeilen mit dem Compilerergebnis, 
dann die rote Meldung "stm32flash Arduino_STM32_0.0 ......" und zum 
Schluß
"Startingexecution at address 0x08000000... done".
Was kommt da bei Dir?

von Klaus S. (kseege)


Lesenswert?

Erst nachdenken, dann schreiben. Die Antwort stand ja schon da.
Dann ist es wohl der Prozessortyp.

von Thomas Z. (usbman)


Lesenswert?

mm mal ne ganz blöde Frage ist bei deiner Bluepill zufällig eine WCH CPU 
aufgelötet? Wenn ja geht das so nicht.

von Klaus S. (kseege)


Lesenswert?

Thomas Z. schrieb:
> mm mal ne ganz blöde Frage ist bei deiner Bluepill zufällig eine WCH CPU
> aufgelötet? Wenn ja geht das so nicht.

Die Frage verwundert mich etwas. Meinst Du mich? ich hab zwar von shotec 
10 CH552 gekauft und lese Deinen Thread dazu, auf meiner Bluepill sitzt 
aber ein STM32F103C8T6.
Wie man erkennt, ob es ein Fake ist, kann ich nicht sagen. Dazu weiß 
Stefan sicher mehr.

von Thomas Z. (usbman)


Lesenswert?

Klaus S. schrieb:
> Die Frage verwundert mich etwas.

nun WCH hat auch einen ARM Chip CH32F103. Eine Zeitlang waren Blupills 
im Umlauf die Anstelle der STM halt WCH Chips bestückt hatten. Diese 
sind zwar weitgehend kompatibel zu den STMs aber eben nicht ganz.
Azdelivery hat diese WCH Varianten eine Zeitlang über Amazon verkauft.

Das hat nix mit CH552 zu tun komplett andere Baustelle.

von Klaus S. (kseege)


Lesenswert?

Thomas Z. schrieb:
> nun WCH hat auch einen ARM Chip CH32F103.

Ja, jetzt versteh ich, das hab ich nicht gewußt. Dann sollten wir 
nochmal auf Rudis Antwort auf diese Frage warten.

Daß der CH552 ne andere Baustelle ist, war mir schon klar. Das hab ich 
mehr als Scherz gemeint, weil ich gerade heute meinen ersten CH552 
eingestöpselt habe und nachher die UART-Verbindung testen will. Da hat 
mich der zufällige zeitliche Zusammenhang verblüfft. 8051 programmiere 
ich seit der Steinzeit, teilweise immer noch mit dem alten ISIS-II 
Compiler f.PLM51 und PC-Emulation, der mal auf 8-Zoll-Floppies lief :-)

Für die STM32 gibts aber auch Fakes, die wie die Echten beschriftet 
sind. Da soll es bei der DMA-Programmierung Schwierigkeiten geben, 
UART-Boot soll aber wohl laufen. Mehr weiß ich nicht darüber.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Klaus S. schrieb:
> Das ist aus meiner Sicht kein Workaround, sondern der von ST vorgesehene
> Weg für den Start des ROM-Boots.

Nur das der Bootloader für die SWD Schnittstelle gar nicht gebraucht 
wird! Diese Schnittstelle ist Bestandteil des ARM Kerns.

Trotzdem finde ich gut, dass du den Programmiervorgang über die serielle 
Schnittstelle  mit dem fest integrierten Bootloader auch mal detailliert 
beschrieben hast.

: Bearbeitet durch User
von Stefan ⛄ F. (stefanus)


Lesenswert?

Rudi D. schrieb:
> Was ich bemerkt habe: wähle ich STLINK kann zwar hochladen aber es gibt
> Fehlermeldung. Werde sehen ob das mit dem Jumper0 auf 1 behoben ist.
> Aber in der IDE ist bei Programmer nichts eingetragen, was bedeutet das
> denn wieder?

Drücke dich klar aus! Ich kann dir deine geheime Fehlermeldung nicht 
erklären. Was du eingestellt haben könntest, mag ich nicht raten.

Zu deiner Meldung aus dem nächsten Beitrag:
> Failed to init device. stm32flash

Laut diversen Diskussionen die Google findet heißt das wohl, dass 
zwischen stm32flash und Mikrocontroller keine Kommunikation zustande 
kommt. Wahrscheinlich, weil der falsche oder gar kein Bootloader läuft.

Das Programm stm32flash ist für den fest installierten Bootloader, der 
über den Boot0 Jumper aktiviert wird.

> Den ST Loader Demonstrator kenne ich leider nicht.

ist ein Programm von ST, ebenfalls zur Nutzung des fest installierten 
Bootloaders.

: Bearbeitet durch User
von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

> Was kommt da bei Dir?

Siehe im letzen Beitrag als Anhang

Failed to init device.
stm32flash 0.4

http://stm32flash.googlecode.com/

Using Parser : Raw BINARY
Interface serial_w32: 115200 8E1

Serial geht bei mir eben nicht.

Mussnoch nachschauen wie der Code bei STLINK aussieht.

**************
Sorry hab wohl vergessen die Fehlerfile zu posten.

: Bearbeitet durch User
von Rudi D. (rulixa)


Lesenswert?

Thomas Z. schrieb:
> mm mal ne ganz blöde Frage ist bei deiner Bluepill zufällig eine WCH CPU
> aufgelötet? Wenn ja geht das so nicht.

Nein
STM32F103C8T6
GH251 93
CHN 537
ST Logo

von Klaus S. (kseege)


Lesenswert?

Rudi D. schrieb:
> Aber in der IDE ist bei Programmer nichts eingetragen, was bedeutet das
> denn wieder?

Das bedeutet, daß die Programmierer der originalen Arduino-Version zwei 
verschiede Einträge für "Programmer" und "Upload" wegen der Vielfalt an 
Möglichkeiten zu brauchen meinten, die Änderungsprogrammierer für STM32 
aber mit einer gemeinsamen Einstellung bei "Upload" auskamen und für den 
Menüpunkt "Programmer" keine Lust mehr hatten, sich auch noch um dessen 
Abschaltung zu kümmern. :-)

von Rudi D. (rulixa)


Lesenswert?

Stefan ⛄ F. schrieb:
> Rudi D. schrieb:
>> Was ich bemerkt habe: wähle ich STLINK kann zwar hochladen aber es gibt
>> Fehlermeldung. Werde sehen ob das mit dem Jumper0 auf 1 behoben ist.
>> Aber in der IDE ist bei Programmer nichts eingetragen, was bedeutet das
>> denn wieder?

> Drücke dich klar aus! Ich kann dir deine geheime Fehlermeldung nicht
> erklären. Was du eingestellt haben könntest, mag ich nicht raten.

Unter Tools in der Arduino IDE ist folgendes eingetragen:
Generic STM32F103C Series
STM32F103C8(20k RAM. 64k Flash)
STLink
72MHz (Normal)
Smallest
port ausgegraut
Programmer grau: No programmers available for this board
>

>
Bei Programmierung in der Arduino-IDE mit STLINK gibt es keine 
Fehlermeldung, es wird aber auch kein Programm geladen, egal wie der 
Jumper Boot0 steht.

Mehr kann ich leider nichts sagen.

Ich werde jetzt das letzte, mit Cube geladene Programm, in der Cube den 
gesamten Speicher löschen und dann nochmals mit Arduino IDE via STlink 
versuchen zu flashen. Werde berichten

von Stefan ⛄ F. (stefanus)


Lesenswert?

Rudi D. schrieb:
> Programmer grau: No programmers available for this board

Das ist kein Fehler, das ist bei STM32duino normal.

: Bearbeitet durch User
von Stefan ⛄ F. (stefanus)


Lesenswert?

Welchen STM32duino Core hast du in deine Arduino IDE installiert?

von Rudi D. (rulixa)


Lesenswert?

Stefan ⛄ F. schrieb:
> Welchen STM32duino Core hast du in deine Arduino IDE installiert?

Wosehe ich das ?
Ich habe in preferences nur den Link
http://dan.drown.org/stm32duino/package_STM32duino_index.json
 eingetragen.

von Klaus S. (kseege)


Lesenswert?

Rudi D. schrieb:
> Nein
> STM32F103C8T6

An der Stelle würde ich jetzt den Oszi rausholen, mit einem 
Terminalprogramm permanent U schicken (weil das bei 8n1 so ein schönes 
Muster gibt, daß man die Baudrate ablesen kann) und an der Pinleiste 
schauen, ob die Us überhaupt ankommen.

Und wenn man mit dem ST-Link flashen kann, ein Arduinoprogramm 
schreiben, das entweder auch Us ausgibt oder ein Echo des Inputs. Sollte 
mit ein paar Zeilen machbar sein.

von Rudi D. (rulixa)


Lesenswert?

Klaus S. schrieb:
> Rudi D. schrieb:
>> Nein
>> STM32F103C8T6
>
> An der Stelle würde ich jetzt den Oszi rausholen, mit einem
> Terminalprogramm permanent U schicken (weil das bei 8n1 so ein schönes
> Muster gibt, daß man die Baudrate ablesen kann) und an der Pinleiste
> schauen, ob die Us überhaupt ankommen.
>
> Und wenn man mit dem ST-Link flashen kann, ein Arduinoprogramm
> schreiben, das entweder auch Us ausgibt oder ein Echo des Inputs. Sollte
> mit ein paar Zeilen machbar sein.

Mach ich, aber da muss ich in den Keller wechseln.
Da bild wo das Terminal zu sehen ist zeigt, dass der CH340 an sich 
funktioniert.

von Klaus S. (kseege)


Lesenswert?

Rudi D. schrieb:
> Wosehe ich das ?
> Ich habe in preferences nur den Link
> http://dan.drown.org/stm32duino/package_STM32duino_index.json
>  eingetragen.

Oh, das ist wohl zuwenig. Du mußt dann auch noch in den Boardverwalter 
gehen und dort die STM32F1-Familie suchen, um die in der JSON-Datei 
angegebenen Installationspakete auf Deinen Rechner zu laden, das geht 
nicht automatisch. Automatisch werden nur die neu dazugekommenen 
Möglichkeiten angezeigt.
Das ist halt für AVR alles schon drin, für alle anderen Boards muß man 
es nachladen. Sonst greift die Boardeinstellung noch auf die Daten von 
github zu, und die funktionieren ja nicht.

Ich habe genug Rechner zur Auswahl und habe gestern zwei Installationen 
nacheinander gemacht und den nicht funktionierenden ratzekahl 
weggelöscht.
Das war die sichere Variante. Wie gut die sich gemeinsam vertragen, weiß 
ich nicht. Solche Experimente verkneife ich mir normalerweise, einmal 
neu Aufsetzen geht schneller als tagelange Fehlersuche.

von Rudi D. (rulixa)


Lesenswert?

Klaus S. schrieb:
> Rudi D. schrieb:

> Oh, das ist wohl zuwenig. Du mußt dann auch noch in den Boardverwalter
> gehen und dort die STM32F1-Familie suchen, um die in der JSON-Datei
> angegebenen Installationspakete auf Deinen Rechner zu laden, das geht
> nicht automatisch. Automatisch werden nur die neu dazugekommenen
> Möglichkeiten angezeigt.
> Das ist halt für AVR alles schon drin, für alle anderen Boards muß man
> es nachladen. Sonst greift die Boardeinstellung noch auf die Daten von
> github zu, und die funktionieren ja nicht.
>
Sind das dann die Files die in 
/Arduino/hardware/Arduino_SSTM32-master/STM32F1/usw... stehen?

Übrigens wird im ST Core Programmer die CPU ID mit 0x410 angegeben
Board und Bootloader steht nur "-"
Wenn ich ein anderes Programm laden will muss ich den Speicher komplett 
vorher löschen, obwohl kein Hakerl bei "Skip flash erase before 
programming " offenbar default ist.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Rudi D. schrieb:
> Stefan ⛄ F. schrieb:
>> Welchen STM32duino Core hast du in deine Arduino IDE installiert?
>
> Wosehe ich das ?
> Ich habe in preferences nur den Link
> http://dan.drown.org/stm32duino/package_STM32duino_index.json
>  eingetragen.

Genau dort. Das ist der alte Core von Roger Clarks, nicht der von ST. 
Gut zu wissen.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Rudi D. schrieb:
> Übrigens wird im ST Core Programmer die CPU ID mit 0x410

Kenn ich nicht. Bist du sicher dass das Programm so heisst?

von Klaus S. (kseege)


Lesenswert?

Ich habe jetzt die Doppelinstallation durchgeführt und noch die 
JSON-Datei von Github geladen und im Boardverwalter die von STM 
gelieferten Dateien dazuinstalliert.
Ich habe jetzt im Boardverwalter 2 Installationen f.STM32 stehen, einmal 
"STM32F1xx/GD32F1xx boards" by stm32duino Version 2021.5.31
und einmal "STM32 MCU based boards" by STMicroelectronics Version 2.2.0.

Wenn ich dann in Werkzeuge/Board gehe, zeigt das Programm mir vier 
Menüunkte:
Boardverwalter
Arduino AVR Boards
STM32 boards groups (.....
STM32F1 Boards (Arduino_STM32)

Die von der letzten Zeile sind die Richtigen. Wenn ich dann im Untermenü 
den "Generic STM32F103C series" wähle, lädt Arduino das Programm auch 
korrekt in der Doppelinstallation. Es kann natürlich sein, daß Du (Rudi) 
einen Fake-STM32 hast, dann sollte der drauffolgende Eintrag 
funktionieren, der explizit die Fake-Variante mit einschließt.

Gruß Klaus

P.S. vertrackte Probleme sind für mich besser als Krimi schauen :-)

von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

Stefan ⛄ F. schrieb:
> Rudi D. schrieb:
> Bist du sicher dass das Programm so heisst?

STM32CubeProgrammer v2.9.0 von STMicroelectronics.

Damit kann ich meine Version der Bluepills mit dem STLINK programmieren.
Allerdings muss vorher der Speicher gelöscht werden. Überschreiben geht 
nicht es bleibt das letzte Programm aktiv. Jumper Boot0 auf 1 hat keine 
Wirkung.

IMHO, wenn der STLINK dongle im Cube funktioniert, sollte er auch 
zumindest prinzipiell in der Arduino IDE zur Funktion gebrachte werden 
können. Das ist mir bis jetzt nicht gelungen.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Rudi D. schrieb:
> Allerdings muss vorher der Speicher gelöscht werden.

Ich weiß nicht, ob das normal ist. Ich habe den Cube Programmer nur 
wenige male benutzt, kann mich allerdings nicht daran erinnern, dass ich 
den Chips ausdrücklich vorher löschen musste. Ein bisschen verdächtig 
kommt es mir schon vor.

> IMHO, wenn der STLINK dongle im Cube funktioniert, sollte er auch
> zumindest prinzipiell in der Arduino IDE zur Funktion gebrachte
> werden können.

Das sehe ich ebenso.

Ich hatte mal Instabilitäten dabei, als ich mein Bluepill Board über den 
ST-Link mit Strom versorgte. Mal ging es, mal nicht. Wenn ich das 
Bluepill Board über ein Netzteil (am 5V Eingang oder der USB Buchse) 
versorge, klappte es zuverlässig.

: Bearbeitet durch User
von Klaus S. (kseege)


Lesenswert?

Rudi D. schrieb:
> IMHO, wenn der STLINK dongle im Cube funktioniert, sollte er auch
> zumindest prinzipiell in der Arduino IDE zur Funktion gebrachte werden
> können. Das ist mir bis jetzt nicht gelungen.

Ich habe in der Zwischenzeit auch mit dem STMCubeProgrammer meine 
Bluepill seriell programmieren können. Es war aber ziemlich aufwändig. 
Unter Linux brach die STMCube-Installation sowohl bei Debian11 als auch 
bei Lubuntu18.4 wegen Dateifehlers ab. Mit Win10 lief die Installation 
zwar durch, wurde aber von Arduino nicht erkannt, weil ich zunächst 
nicht im Standarddirectory installiert hatte, sondern wie bei mir üblich 
auf einer separaten Partition. Aus der Fehlermeldung war dann 
ersichtlich, daß es nur im Standarddirectory funktionieren würde und 
nach erneuter Installation hat es dann geklappt.

Also für Win10:
Arduino installieren
STMCubeprogrammer am vorgeschlagenen Ort installieren

In Datei/Voreinstellungen/Boardverwalter-URLs:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

In Werkzeuge/Boardverwalter die "STM32F1xx/GD32F1xx series" installieren

Board: Generic STM32F1 series

Upload method: STM32CubeProgrammer (Serial)

Ich drücke die Daumen, daß es auch bei Dir klappt.

Gruß Klaus (der soundsovielte)

von Rudi D. (rulixa)


Lesenswert?

Klaus S. schrieb:

>
> Gruß Klaus (der soundsovielte)

Danke, werde es versuchen.
Vorher noch ein kleiner Erfolg:
Bisher war es nicht möglich in der Arduino IDE mit STLINK ein Programm 
in den BluePill zu laden.

Wenn ich allerdings vorher im Cube den flashspeicher lösche, dann kann 
ich in der Arduino IDE das Programm laden.

Meldung:
2022-02-24T16:02:01 INFO src/stlink-usb.c: -- exit_dfu_mode
2022-02-24T16:02:01 INFO src/stlink-common.c: Loading device 
parameters....
2022-02-24T16:02:01 INFO src/stlink-common.c: Device connected is: F1 
Medium-density device, id 0x20036410
2022-02-24T16:02:01 INFO src/stlink-common.c: SRAM size: 0x5000 bytes 
(20 KiB), Flash: 0x10000 bytes (64 KiB) in pages of 1024 bytes
2022-02-24T16:02:01 INFO src/stlink-common.c: Attempting to write 12780 
(0x31ec) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08002800 erased2022-02-24T16:02:02 INFO 
src/stlink-common.c: Finished erasing 13 pages of 1024 (0x400) bytes
2022-02-24T16:02:02 INFO src/stlink-common.c: Starting Flash write for 
VL/F0/F3 core id
2022-02-24T16:02:02 INFO src/stlink-common.c: Successfully loaded flash 
loader in sram
Flash page at addr: 0x08003000 erased
 10/12 pages written2022-02-24T16:02:02 INFO src/stlink-common.c: 
Starting verification of write complete
 12/12 pages written2022-02-24T16:02:02 INFO src/stlink-common.c: Flash 
written and verified! jolly good!

Interessant ist dass, s.o., 13 pages gelöscht wurden. Also warum ist ein 
leerer Flash nötig?

: Bearbeitet durch User
von Stefan ⛄ F. (stefanus)


Lesenswert?

Rudi D. schrieb:
> Wenn ich allerdings vorher im Cube den flashspeicher lösche, dann kann
> ich in der Arduino IDE das Programm laden.

Bei mir ist das weder im Cube Programmer, noch in der Arduino IDE nötig.

Für mich riecht das sehr nach einem Fake mit GD32F103 Chip. Dieser 
verhält sich bekanntermaßen anders, was die Erase-Kommandos angeht. 
Google mal danach.

Der Roger Clark ist auch auf ein relevantes Problem gestoßen und musste 
seine Software extra für den GD32F103 anpassen. Vielleicht kommst du mit 
der alten Software von ihm besser klar. Siehe 
http://stefanfrings.de/stm32/stm32f1.html#arduino

Hast du keinen originalen STM32 zum Vergleich? Wenn nicht, besorge dir 
ein Nucleo Board. Alleine für solche Aktionen lohnt es sich. Außerdem 
bekommst du damit einen ST-Link Adapter mit Reset-Leitung und TraceSWO 
und USB-UART quasi kostenlos dazu geschenkt.

: Bearbeitet durch User
von Rudi D. (rulixa)


Lesenswert?

Stefan ⛄ F. schrieb:
> Rudi D. schrieb:
>> Wenn ich allerdings vorher im Cube den flashspeicher lösche, dann kann
>> ich in der Arduino IDE das Programm laden.
>
> Bei mir ist das weder im Cube Programmer, noch in der Arduino IDE nötig.
>
> Für mich riecht das sehr nach einem Fake mit GD32F103 Chip. Dieser
> verhält sich bekanntermaßen anders, was die Erase-Kommandos angeht.

Ich muss was korrigieren:In meinem Thread von 16:22 ist alles o.k., aber 
ich habe erstmals die Arduino IDE im Rechner mit Ubuntu 18.04 verwendet.
Da in der Kompilierungsausgabe aber der flash erfolgreich gelöscht 
gemeldet wurde, so war das die Info, um zu überprüfen, ob in der 
Linuxvariante der Arduino IDE das Löschen keine Vorbedingung sei:
Man kann ohne vorheriges Löschen eine neue .ino hochladen.

Beide Jumper auf 0, danach ev. ein reset nötig um das upload Programm zu 
starten.

Muss noch auf WIN10 noch checken, ob die Installation vllt neu zu machen 
ist.
Gleich so wie im Thread von 15:44 angegeben.

Die Lage hat sich jedenfalls mit Arduino IDE unter Ubuntu 18.04 sehr 
entspannt.
Ob "serial upload" auch in Ubuntu funktioiert muss ich noch checken.

: Bearbeitet durch User
von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

Klaus S. schrieb:
> Rudi D. schrieb:
>> IMHO, wenn der STLINK dongle im Cube funktioniert, sollte er auch
>> zumindest prinzipiell in der Arduino IDE zur Funktion gebrachte werden
>> können. Das ist mir bis jetzt nicht gelungen.

> Also für Win10:
> Arduino installieren
> STMCubeprogrammer am vorgeschlagenen Ort installieren
>
> In Datei/Voreinstellungen/Boardverwalter-URLs:
> 
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

mit diesm Link wird

> In Werkzeuge/Boardverwalter die "STM32F1xx/GD32F1xx series" installieren

diese Datei nicht gefunden

> Board: Generic STM32F1 series
>
> Upload method: STM32CubeProgrammer (Serial)

bestätigt, o.k.

Jedenfalls funktioniert diese Methode mit STlink
Seriell geht nicht, es gibt nur NACK als Antwort, obwohl der CH340 
erkannt wird.

Nebenbei als Bilder etliche Fehlermeldungen und zuletzt die 
Erfolgsmeldung.
Hoffe, dass es dauerhaft funktioniert. STLINK muss auf SWD eingestellt 
sein.
Für mich habe ich jetzt Lösungen um nicht dauernd zwischen Arduino IDE 
und Cube hin und her zu switchen

Danke Klaus.
Mein Dank gilt natürlich auch Stefan. Ohne eure Hilfe wäre ich nie und 
nimmer alleine zurecht gekommen.
Rudi

P.S.: Habe schon einmal das gepostete Programm für STM32 kompiliert und 
da es mein erstes Programm in c ist werde ich wohl noch einige Fragen 
für die wenigen Fehlermeldungen haben. Eben Differenzen 328 zu bluePill

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.