mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TouchGFX integration in Visual GDB


Autor: Stefan F. (friedi1987)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Hallo zusammen,

Ich arbeite schon seit längerem mit STM32 Controllern und ab und zu ist 
auch mal eine GUI Anwendung dabei. Daher erfreute es mich sehr das ST 
den TouchGFX Grafik Stack aufgekauft hat und mitlerweile sogar auch in 
CubeMX integriert hat.

*** Ja, TouchGFX ist nun so wie es aussieht frei für die Nutzung mit STM 
Controllern (Nur am Rande weil ich hier im Forum noch nichts über die 
tolle Nachricht gelesen hab ;) ) ***


Doch dann kam auch so gleich die Ernüchterung. Wie damals bei STemWin 
ist ein Projekt Export für VisualGDB leider nicht möglich sobald man den 
Grafik Stack einschaltet.

Klar kann man noch auf SW4STM oder Atollic TrueStudio umsteigen da es 
für diese IDEs einen Projekt Export gibt, allerdings hat ein kurzer 
Versuch mit TrueStudio gezeigt, dass selbst das nicht ohne Probleme 
klappt. (Errors und Warnings zu Hauf)
Ich hatte mir damals extra VisualGDB gekauft, nach langer Leidenszeit 
mit CooCox und ähnlichem, um endlich von dem Eclipse kram wegzukommen 
und weil ich einfach sehr gut mit Visual Studio zurechtkomme.
Doch leider wird diese IDE nur sehr rudimentär von CubeMX unterstützt.

Daher die Frage: Nutzt jemand von euch TouchGFX mit VisualGDB 
erfolgreich, und wenn ja, mit oder ohne CubeMX generierten Initcode ?

Zum testen hab ich ein STM32F746 Eval hier, was aus dem TouchGFX 
Designer auch direkt läuft, allerdings eben nicht wenn ich das Projekt 
in Visual GDB portiere.

Also wenn jemand ein Tipp hat wär ich sehr dankbar :)

Viele Grüße
Stefan

Autor: C. W. (chefkoch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich geht das mit CubeMX zwischenzeitlich recht gut. Welche 
Version von VisualGDB benutzt Du?

Autor: Stefan F. (friedi1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C. W. schrieb:
> Eigentlich geht das mit CubeMX zwischenzeitlich recht gut. Welche
> Version von VisualGDB benutzt Du?

Ja da hatte ich mich etwas unklar ausgedrückt. Die Hardware Sachen 
klappen soweit ganz gut.
Es geht eher darum wenn man die Middlewares nutzen möchte, wie den 
Grafik Stack.(Da diese wohl eine "advanced project structure" erforden, 
und man keine advanced projects für visualgdb oder makefile exportieren 
kann.)

Ich nutze die Version 5.4 prev. 10, also die aktuelle von der Homepage.

Autor: Dr. Sommer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan F. schrieb:
> allerdings eben nicht wenn ich das Projekt
> in Visual GDB portiere.

Was genau läuft denn da nicht? Die Quellcodedateien und Bibliotheken 
sollten sich doch auch in VisualGDB einbinden lassen, im Zweifelsfall 
manuell.

Autor: Stefan F. (friedi1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dr. Sommer schrieb:
> Was genau läuft denn da nicht?

Naja es gibt ja die Möglichkeit in VisualGDB zb. Keil Projekte zu 
importieren.
https://visualgdb.com/tutorials/arm/import/keil/
Also generiere ich mit CubeMX den Code für MDK ARM und importiere das 
ganze Projekt in Visual Studio.
Danach kommen haufenweisse Fehlermeldungen bzgl. unbekannter asm Befehle 
und ähnlichem. Einiges davon bekommt man weg wenn man die Anleitung 
befolgt aber vieles auch nicht.
Das sind meines Erachtens hauptsächlich unterschiede bei Instructions 
zwischen GCC und MDK ARM.

Ich wollte mir eben ersparen die Linkerscripte und alles händisch 
anzupassen und hatte gehofft das so umgehen zu können.
Aber vermutlich führt kein Weg dran vorbei im Moment die HW Inits mit 
Cube zu generieren und TouchGFX händisch zu inkludieren. (Hatte ich auch 
schon mal versucht aber irgendwann aufgegeben da die Projektstruktur und 
Menge an Files doch recht komplex ist.)

Ich werde also nochmal einen Versuch starten und wenn ich die besagten 
Fehlermeldungen am Bildschirm habe hier mal posten.

Danke schonmal für die Antworten

Autor: Dr. Sommer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan F. schrieb:
> Also generiere ich mit CubeMX den Code für MDK ARM und importiere das
> ganze Projekt in Visual Studio

Generiere doch lieber ein Projekt für eine GCC basierte IDE. Es sollte 
doch möglich sein, die Quelltext-Dateien in ein neues VisualGDB Projekt 
zu übernehmen..

Autor: Stefan F. (friedi1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dr. Sommer schrieb:
> Generiere doch lieber ein Projekt für eine GCC basierte IDE.

Ja. Keil hatte ich ja nur genutzt da es dafür eine Anleitung von Visual 
GDB gab die ganz einleuchtend klang und ich mir davon versprochen hab, 
dass das ganze makefile und linker Zeugs damit erschlagen wär :)

Mir ist schon klar das man das auch alles händisch reinwurschteln kann, 
allerdings hatte ich halt gehofft das vielleicht jemand dafür schon eine 
elegantere Lösung gefunden hat.

Wie gesagt das sind ein Haufen files aus 3 unterschiedlichen Quellen 
(Cube, VisualGDB und TouchGFX) und die alle unter einen Hut zu bringen 
inklusive FreeRTOS (mit dem ich bisher noch keinerlei Erfahrungen hab 
ausser ner Blinky Task) ist eben doch recht umständlich.

Keil user laden das generierte Projekt und alles tut, und können sich 
dann um die eigentliche high level Programmierung kümmern. (Ich weiß ist 
meckern auf hohem Niveau, allerdings hab ich auch schon oft genug low 
level Sachen gemacht und wollte jetzt eigtl. was, dass schnelle Erfolge 
bringt shame lazy_me */shame* )

Aber wie gesagt, Ich werde jetzt nochmal versuchen das alles händisch 
unter einen Hut zu bringen und dann bei den konkreten Fehlermeldungen 
hier nochmal um Rat ersuchen :)

Autor: Björn G. (tueftler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Thema würde mich auch brennend interessieren.
Eigentlich ist die Übergabe zwischen Cube und Vgdb ja super gemacht und 
funktioniert dank GPDSC recht flott.
Leider wird gerade diese Exportmöglichkeit beim Einbinden des Graphic 
Frameworks deaktiv geschaltet.

Weiß jemand hier genaueres warum Cube das derzeit so handhabt?

Autor: Johannes S. (jojos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
touchGFX baut sich irgendwie als 'master' ein, das passt nicht zu der 
Struktur die Cube sonst anlegt. Wenn man da viel dran ändert wird das 
nicht mehr mit dem Designer zusammenpassen.
Ich hatte auch mal damit gespielt, da gab es den Designer noch nicht. 
Das in ein Eclipse Projekt zu bringen war aufwändig und das möchte ich 
auch nicht nochmal von Hand machen.
Aber super das touchGFX jetzt bei STM offen ist, für private Projekte 
waren mir die 3k€ auch etwas zuviel. Und dafür bekam man nicht alle 
Quellen, nur fertige Treiber Libs für Standardhardware.
Habe gestern mal den Designer installiert, die Beispiele lassen sich 
wirklich mit einem Klick erstellen und auf ein Board laden, das ist sehr 
schön.

: Bearbeitet durch User
Autor: Dr. Sommer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso ist touchGFX eigentlich STM32-spezifisch? Eine GUI-Library sollte 
doch ziemlich Plattform-unabhängig sein, mindestens mal zwischen allen 
ARM-Prozessoren. Das riecht schon sehr nach forciertem Vendor-Lock-In...

Autor: Johannes S. (jojos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist nicht STM32 spezifisch, es gab auch Treiber für zB LPC4088. Das 
braucht wegen der Animaierten Sachen schnelle Grafik und da hat STM die 
Nase vorn wie ich das sehe, die Grafkikbeschleuniger der STM werden da 
genutzt.
Ob es mit der Aquise durch ST den Support für andere noch gibt weiss ich 
nicht.

Autor: Dr. Sommer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes S. schrieb:
> ist nicht STM32 spezifisch, es gab auch Treiber für zB LPC4088.

Ach, auf der Website heißt es:
"TouchGFX is a user-friendly graphical C++ tool integrated in the STM32 
ecosystem."

Aber ich finde es spannend dass hier "einfach so" eine C++-Bibliothek 
für Mikrocontroller angeboten und genutzt wird, und hier nicht sofort 
die Mistgabeln und Fackeln gezückt werden...

Autor: Johannes S. (jojos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die verwenden aber schon C++ für Fortgeschrittene und ein MVC Modell. 
Das Ergebnis ist dafür Smartphone like.
Die Website ist auch neu, da ist nichts mehr von den anderen Plattformen 
zu sehen.

Autor: Dr. Sommer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes S. schrieb:
> Die verwenden aber schon C++ für Fortgeschrittene und ein MVC
> Modell.

Interessant, kann man da ein paar Beispiele von sehen?

Autor: Björn G. (tueftler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Website von TouchGFX hat sich seit ca. einem halben Jahr ständig 
verändert.
Nun, seit einer Woche etwa gab es den großen Umschwung inkl. Download 
des Designers.
Auch die Integration in Cube ist nicht sehr weit her...

Es ist aber auf jeden Fall so, dass ST seit Juli das TouchGFX sein Eigen 
nennt:
https://www.st.com/content/st_com/en/about/media-center/press-item.html/c2854.html

Was offen bleibt ist die mögliche Codegenerierung für VisualGDB...

: Bearbeitet durch User
Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach die hamm das gekauft?
Da steht jetz die Frage im Raum was langfristig mit STemWin passieren 
wird.
Da ich vorhab das mal für Projekte zu nutzen wär das schon interessant.

Autor: C. W. (chefkoch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mw E. schrieb:
> Da steht jetz die Frage im Raum was langfristig mit STemWin passieren
> wird.

Das sagt mir meine Glaskugel zwar nicht aber dazu ein paar Gedanken:

(ST)emWin kann ohne große Klimmzüge ein Display mit SPI z.B. an einen 
STM32F103C8 - kann man wohl bei TouchGFX auch hinbekommen aber nur mit 
im RAM gespiegeltem Displayinhalt
emWin gibt es auch weiterhin für andere Controller fertig lizensiert
gegen den Einwurf von Euros gibt es emWin auch zu kaufen um es mit jedem 
Controller benutzen zu können


btw - Hat jemand Erfahrungen bezüglich der Unterschiede beim Bedarf an 
Speicher?

Autor: Johannes S. (jojos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dr. Sommer schrieb:
> Interessant, kann man da ein paar Beispiele von sehen?

hier ist ein Stück Doku:
https://touchgfx.zendesk.com/hc/en-us/articles/205717801-The-Screen-Concept-and-Model-View-Presenter

Es ist sehr einfach den Designer zu installieren (unter Windows 
jedenfalls) und ein Beispielprojekt aus einer Vorlage zu erstellen. Dann 
hat man den Quellcode wie ein Screen angelegt wird. Ich hatte mir das 
vor über einem Jahr angesehen und muss mich da auch erst wieder 
reinarbeiten. Mit dem Konzept kann man auch eine Simulation erzeugen die 
das gleiche Look & Feel hat wie auf dem µC.

Der komplette Quellcode ist aber wie früher bei den Demos auch nicht 
drin, ein Teil ist in einer lib die MCU abhängig dazugelinkt wird. Nur 
wurde in der Demo zeitweise ein Wasserzeichen eingeblendet und das ist 
jetzt wohl nicht mehr drin.

Autor: Johannes S. (jojos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C. W. schrieb:
> btw - Hat jemand Erfahrungen bezüglich der Unterschiede beim Bedarf an
> Speicher?

touchGFX braucht viel Flash, die Fonts sind hochaufgelöst und Bitmaps 
werden in voller Farbenpracht mit Alpha Kanal gebraucht.

Autor: Christopher J. (christopher_j23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes S. schrieb:
> touchGFX braucht viel Flash, die Fonts sind hochaufgelöst und Bitmaps
> werden in voller Farbenpracht mit Alpha Kanal gebraucht.

Könnte man diesen Kladderadatsch nicht elegant in einen SPI-Flash 
auslagern?

Autor: Johannes S. (jojos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, das wird in den umfangreicheren Demos auch gemacht, da sind die 
Resourcen einige MB gross.

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.