Forum: Mikrocontroller und Digitale Elektronik GD32F3x0 - Vergleichbarer STM32 gesucht


von Bernd K. (prof7bit)


Lesenswert?

Hallo,

Viele der älteren GD32 waren ja mehr oder weniger Klone oder geringfügig 
modifizierte Varianten ähnlich heißender STM32 Typen.

Jetzt hab ich hier einen GD32F350C6 (M4, eine Bank mit 1k Sektoren bei 
0x8000000, Flash controller wie GD32F170 welcher allerdings ein M3 ist)

Leider unterstützt JLink diesen (noch immer) nicht direkt. Der scheint 
relativ neu zu sein. Ich finde auch keinen vergleichbaren STM32.

Wenn ich den JLink anlüge und sage es sei ein GD32F170C4 kann ich 
flashen und debuggen. Allerdings beschwert er sich dann es sei kein M3 
wie angegeben. Jetzt bin ich auf der Suche nach einer noch besser 
passenderen Alternative. Er sollte den identischen Flash-Controller 
haben, die Sektorgröße soll 1k sein und es soll ein M4 sein. Kennt 
jemand aus dem Bauch raus einen Kandidaten dafür von STM?

Edit:
der STM32F301C6 ist zum Beispiel ganz ähnlich, hat aber eine Sektorgröße 
von 2k. Auf den ersten Blick scheint es als könne ich flashen und 
debuggen aber dann stellt sich raus daß bei einem Erase nur jeder zweite 
Sektor gelöscht wird weil der JLink denkt er löscht immer gleich 2k. 
Also auch unbrauchbar. Dabei stelle ich auch fest daß der 
JLink-commander beim Löschen angeblich verifiziert aber das ist gelogen, 
es fällt ihm nicht auf daß immer nur die ersten 1k eines 2k-Blocks leer 
sind.

: Bearbeitet durch User
von Tilo (Gast)


Lesenswert?

Die exakten Typenbezeichnungen sind doch nur drin, um Arbeit zu sparen.

Schon mal versucht einen generic M4 Core auszuwählen und den Rest von 
Hand einzustellen?

von Bernd K. (prof7bit)


Lesenswert?

Tilo schrieb:
> Schon mal versucht einen generic M4 Core auszuwählen und den Rest von
> Hand einzustellen?

So einfach kann man das nicht von Hand einstellen, ich müsste ein Plugin 
für JLink schreiben welches das Flash-Programmieren/Löschen/etc. gemäß 
Datenblatt implementiert, sozusagen einen Treiber für den verbauten FMC 
der die Schnittstelle des J-Link für den konkreten Chip implementiert.

Das Faß will ich nicht aufmachen, ich versuch dann doch lieber einen 
existierenden zu finden der in allen entscheidenden Parametern gleich 
ist.

von Tilo (Gast)


Lesenswert?

Ein Plugin braucht es da nicht.
Da reicht ein Skript.
Spezielle Sachen sind schnell erledigt, in dem man direkt auf die 
Register schreibt.

von Bernd K. (prof7bit)


Lesenswert?

Tilo schrieb:
> Ein Plugin braucht es da nicht.
> Da reicht ein Skript.
> Spezielle Sachen sind schnell erledigt, in dem man direkt auf die
> Register schreibt.

Ja, das hab ich auch schon gemacht um zum Beispiel die Lockbits zu 
setzen oder einen gelockten wieder zu löschen. Aber ich will auch ganz 
normal aus der IDE heraus uploaden und debuggen können, ich wüsste nicht 
wo ich da ein script plazieren könnte.

von Tilo (Gast)


Lesenswert?

Was für eine IDE?

Das läuft dann oft über openocd?

Schau dir die Konfiguration mal an. Da wird auch nur ein Skript 
erstellt.

Das geht alles Problemlos.
Wichtiger ist da eher, dass im Linker Skript die Adressen passen und das 
der Startup Code passt.

Das ist aber alles unabhängig vom Debugger.

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Du koenntest die Algorithmen auch in Blackmagic Debug Probe 
https://github.com/blacksphere/blackmagic ergaenzen. Mit 
https://github.com/UweBonnes/blackmagic/tree/stlinkv2 geht das ganze 
auch mit der Original ST firmware.

von Bernd K. (prof7bit)


Lesenswert?

Tilo schrieb:
> Was für eine IDE?
>
> Das läuft dann oft über openocd?

Eclipse. Ich lass es mit dem JLink Debugserver laufen und verwende den 
JLink Commander um scriptgesteuerte Sachen zu machen (flashen, locken, 
etc). Ich hab mir da schon eine kleine Infrastruktur aufgebaut basierend 
auf JLink Tools für alle anderen MCUs mit denen ich zu tun habe, das 
möchte ich gerne möglichst unverändert auch dafür verwenden ohne 
allzugroße Extrawürste zu braten und aufwendige Workarounds 
zusammenzustricken für die Zeit bis er in ein paar Monaten 
wahrscheinlich sowieso offiziell supportet wird.

Funktionell ist ja momentan auch alles OK wenn ich ihm einfach einen 
GD32F170 (oder einen STM32 M3 mit dem selben FMC) vorgaukle, ich kann 
flashen, debuggen, erasen, locken, unlocken, etc. Ich wollte nur als 
Sahnehäubchen noch die blöde Warnung bezüglich M4/M3 losbekommen.

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.