mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik GD32E230 und andere STM32 Clones von Giga Devices


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.
Autor: Anon Y. (avion23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat jemand schon Erfahrungen mit z.B. GD32E230 gesammelt?

Ich würde den gerne in einem neuen Design einsetzen weil er einen 2 MSPS 
ADC hat und eine neue Energie-effiziente Architektur. Und 90 Cent als 
Einzelstück ;)

Die Dokumentation gibt es unter http://gd32mcu.21ic.com/documents
Dort vermisse ich ein praktisches Tool wie das STM32CubeMx. Ich habe 
keine Lust das Ding zu initialisieren wie ein Tier aus dem Wald. Ist der 
GD32E230 auch mit einem äquivalenten Typ von ST zu initialisieren? Bei 
denen habe ich nichts mit Cortex-M23 Architektur gefunden.


Unter https://smdprutser.nl/blog/stm32f103-vs-gd32f103/ gibt es 
Hintergrundinfos zu der Entstehungsgeschichte des STM32F103 Clones und 
warum das Ding 0 Waitstates hat.

Unter 
https://zeptobars.com/en/read/GD32F103CBT6-mcm-serial-flash-Giga-Devices 
sieht man hübsche Die Shots

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das ein kommerzielles Design? Traust Du einem Chinesen eine 
Lieferfähigkeit von mehr als 3 Jahren zu?

fchk

Autor: Random .. (thorstendb) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anon Y. schrieb:
> Dort vermisse ich ein praktisches Tool wie das STM32CubeMx.

Darum kostet der auch nur 90 Cent / Stück :-)

Ich würde die Finger davon lassen, vor allem für ein komerzielles 
Projekt.

Autor: Anon Y. (avion23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank K. schrieb:
> Ist das ein kommerzielles Design? Traust Du einem Chinesen eine
> Lieferfähigkeit von mehr als 3 Jahren zu?

Das ist ein kommerzielles Design, aber auch ein Versuchsballon und 
Kleinserie. Also eine extrem gute Situation für mich :)

Die Lieferfähigkeit ist nicht kritisch. Das Layout kann jederzeit 
geändert werden.

Autor: Anon Y. (avion23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Random .. schrieb:
> Anon Y. schrieb:
>> Dort vermisse ich ein praktisches Tool wie das STM32CubeMx.
>
> Darum kostet der auch nur 90 Cent / Stück :-)
>
> Ich würde die Finger davon lassen, vor allem für ein komerzielles
> Projekt.

Ja das ergibt Sinn, auch wenn ich das nicht hören wollte.

Preis bei 100 Stück ist übrigens eher 50 Cent: 
https://lcsc.com/search?q=gd32e230

Autor: temp (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Anon Y. schrieb:
> Dort vermisse ich ein praktisches Tool wie das STM32CubeMx. Ich habe
> keine Lust das Ding zu initialisieren wie ein Tier aus dem Wald.

Ach so, du machst das immer wie der Depp vom Dorf der am Ende nicht 
versteht was er da gerade wie macht?

Autor: m.n. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anon Y. schrieb:
> Preis bei 100 Stück ist übrigens eher 50 Cent:

Das ist bei einer Kleinserie doch wurscht.
Auf der einen Seite redest Du vom E230, verlinkst aber Testberichte zum 
F103 kompatiblen Typ. Nicht Äpfel mit Birnen vergleichen!


> Ich würde den gerne in einem neuen Design einsetzen weil er einen 2 MSPS
> ADC hat

Wenn das Dein ausschlaggebenes Argument ist: ein STM32G071 bietet 2,5 
MSPS.
Die Entwicklungsumgebung ist die gewohnte von STM.

> Ich habe
> keine Lust das Ding zu initialisieren wie ein Tier aus dem Wald.

Das kann somit entfallen ;-)

Autor: Anon Y. (avion23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
m.n. schrieb:
> Das ist bei einer Kleinserie doch wurscht.
> Auf der einen Seite redest Du vom E230, verlinkst aber Testberichte zum
> F103 kompatiblen Typ. Nicht Äpfel mit Birnen vergleichen!

Das ist eher ein Versuch, ob es möglich ist.
Erfahrungsberichte würden mir helfen.
Und weniger Kosten sind immer schön - wenn die Entwicklungszeit gleich 
bleibt.

Der Link auf den GD32F103 Clone war damit Mitleser einschätzen können, 
was das ist und worüber gesprochen wird.

Ich weiß z.B. dass die STM32 stattliche Errata haben und die ersten 
Revisionen nur schwer benutzbar waren. Wieviel mehr Kopfschmerzen handel 
ich mir mit Giga Devices ein?

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei einer Kleinserie werden nach meiner Schätzung 80% der Projektkosten 
Entwicklungskosten sein, und nur 20% Stückkosten. Es ist daher völlig 
kontraproduktiv, auf geringe Produktionskosten zu optimieren. Was Du 
brauchst, ist ein guter Herstellersupport, gute Lieferfähigkeit und gute 
Dokumentation.

Ich verwende in vielen Projekten PICs - alles querbeet von 6-Pinnern bis 
hin zu dicken PIC32MZ. Microchip hat seine Eigenarten, aber eines muss 
man ihnen lassen: Ich kann heute noch problemlos 25 Jahre alte 
PIC16-Typen kaufen. Sie haben nie irgendwas abgekündigt. Manchen Kunden 
ist es wichtig, dass sie Designs 20 Jahre lang unverändert fertigen 
lassen können, weil auch kleinste Änderungen eine komplette 
Neuqualifizierung nach sich ziehen würden. Ja, da zahlt man für einen 
aktiken 8-Bitter mehr als für einen aktuellen 32 Bitter, aber der Kunde 
hat das für sich durchgerechnet und will das so. Nur aus diesem Grund 
gibts überhaupt noch ATMEGA8, 8L und 8A als separate Produkte, plus 
ATMEGA88, 88A und 88PA, vom 88PB ganz zu schweigen.

Mit Chinesen habe ich so meine speziellen Erfahrungen. Schon bei so 
banalen Sachen wie TL431. Ich hatte da Boards, die mit TL431 in SOT23 
von TI, NXP und Diodes problemlos funktionierten, mit irgendwelchen 
Chinateilen aber nicht mehr. In meiner Verzweiflung habe ich dann TL431 
in SOT363 eindesignt, weil da die Einkäuferin, die auf dem Gemüsemarkt 
in Shenzhen die Teile besorgt hat, da westliche Ware kaufen musste. Die 
haben bei den üblichen Kondensatoren 10nF und 100nF in 0402 recyclete 
Teile gekauft. Nicht wegen Umweltschutz, sondern weil die 6000'er Rolle 
dann ein paar Cent billiger war. Und Chef hat sich gewundert, warum die 
CR1610 Uhrenbatterien bei den Prototypen mit Teilen von Digikey Jahre 
hielten, bei den Serienboards aber innerhalb von 2 Monaten leer waren.

Falsch gelabelte oder leere Bauteile (also quasi nur Gehäuse ohne was 
drin) hatte ich auch schon gehabt.

Meine Lehren daraus: Wenn ich kann, mache ich um Chinesen den 
größtmöglichen Bogen.

fchk

Autor: Bernd K. (prof7bit)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anon Y. schrieb:

> Ich habe
> keine Lust das Ding zu initialisieren wie ein Tier aus dem Wald.

Zieh Dir das .svd und die Beispielcodes.

Da ist Startup code für Keil drin den kannst Du nach gcc portieren oder 
nimm nen Startup für STM32 und änder die Sachen die geändert werden 
müssen. Linkerscript ebenso.

SystemInit() wird mitgeliefert, also diesen harten Brocken musst Du 
eigentlich nicht anfassen, das kann man direkt verwenden und dann gibts 
noch die Examples die man auch irgendwo auf deren Seite runterladen 
kann.

Das ist nichts für Anfänger (es sei denn sie sind sehr zäh) aber danach 
ist man mit einigen Sachen per Du von denen man vorher nicht mal wußte 
das sie überhaupt existieren. Für einen fortgeschrittenen Bare-Metaler 
der schon eine Handvoll Cortexe am Gürtel hängen hat ist das allerdings 
keine große Herausforderung, von so jemandem erwarte ich ein lauffähiges 
Blinky in deutlich weniger als 4 Stunden und da hat der noch Zeit 
gemütlich ne Kanne Kaffe zu trinken.

Problematisch ist momentan immer noch für einige GD32-Typen die kein 
exaktes STM32-Gegenstück haben der Umgang mit dem J-Link, da muss man 
eventuell noch tricksen, aber wenn man es hinbekommt geht es gut.

Einige von deren .svd-Dateien sind nicht wohlgeformt, das hindert den 
Registerbrowser von GNU-MCU-Eclipse daran irgendwas anzuzeigen. Beim 
GD32F350 zum Beispiel waren 2 überflüssige Leerzeichen ganz am Anfang, 
die mussten weg, dann gings.

: Bearbeitet durch User
Autor: Anon Y. (avion23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank K. schrieb:
> Ich hatte da Boards, die mit TL431 in SOT23
> von TI, NXP und Diodes problemlos funktionierten, mit irgendwelchen
> Chinateilen aber nicht mehr.

Danke für deinen Erfahrungsbericht. Das habe ich nicht bedacht. 
Teilweise funktionieren wäre für mich viel schlimmer als gar nicht 
funktionieren. Bei ST bekomme ich dafür Support, bei Giga Devices 
nichts.

Bernd K. schrieb:
> Problematisch ist momentan immer noch für einige GD32-Typen die kein
> exaktes STM32-Gegenstück haben der Umgang mit dem J-Link, da muss man
> eventuell noch tricksen, aber wenn man es hinbekommt geht es gut.
>
> Einige von deren .svd-Dateien sind nicht wohlgeformt, das hindert den
> Registerbrowser von GNU-MCU-Eclipse daran irgendwas anzuzeigen. Beim
> GD32F350 zum Beispiel waren 2 überflüssige Leerzeichen ganz am Anfang,
> die mussten weg, dann gings.

Genau so etwas habe ich befürchtet. Das bekomme ich zwar hin, aber es 
kostet am Ende immens Zeit wenn man sich an einer Stelle fest gefressen 
hat. Ich bin da schon bei einem Chinesischen ADC von Nuvoton auf die 
Nase gefallen, weil das Ding sich nicht so verhält wie im Datenblatt 
beschrieben.

Da werde ich wohl tatsächlich die Entwicklungszeit vs. Produktkosten 
scharf durch rechnen müssen.

Danke!

Autor: Random .. (thorstendb) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn dir die Headerdateien nicht gefallen und du dein Projekt komplett 
ohne DriverLib aufziehen willst, baue dir selbst ein CMSIS konformes 
Headerfile mit SVDConv:

SVDConv.exe Device.svd --generate=header

: Bearbeitet durch User
Autor: Bernd K. (prof7bit)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Random .. schrieb:
> Wenn dir die Headerdateien nicht gefallen und du dein Projekt komplett
> ohne DriverLib aufziehen willst, baue dir selbst ein CMSIS konformes
> Headerfile mit SVDConv:
>
> SVDConv.exe Device.svd --generate=header

Dann muss er die SystemInit() neu schreiben denn die passt nur zu deren 
komischen mitgelieferten Headern.

Und auch deren Beispielcode wird nicht mehr gehen. Ich habs mal nen Tag 
lang probiert, bin dann aber entnervt wieder zurück. Schließlich ist die 
ganze Peripherie im chaotischen STM32-Stil gehalten und deshalb extrem 
schmerzhaft auf Registerebene zu programmieren. Dazu mommt noch daß 
deren svd ein altes Format ist das noch nicht mehrere Instanzen für 
identische Peripherie kennt. Da wird dann das gleiche Bit x mal 
definiert, jededmal unter einem anderen Namen. Das ist alles ein 
riesengroßer inkonsequenter halbgarer Krampf.

Freiwillig würde ich nur die zu STM32 100% binärkompatiblen von GD32 
nehmen und dann 100% mit STM32 Headern und Libs arbeiten.

: Bearbeitet durch User
Autor: Anon Y. (avion23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd K. schrieb:
> Freiwillig würde ich nur die zu STM32 100% binärkompatiblen von GD32
> nehmen und dann 100% mit STM32 Headern und Libs arbeiten.

Das ist auch mein Fazit. Den Cortex-M23 werde ich nur nehmen, wenn ich 
viel Zeit habe.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.