Hi, ich pack das mal in einen eigene Thread rein. Da ich mein Disco Board mal wieder belebt habe und auch EmBlocks wieder eingeichtet ist frage ich mal die, die es schon hinter sich haben: Welches RTOS soll es denn sein? FreeRTOS oder ChibiOS/RT ? Welche Grafiklib: StemWin oder ugFX? Die Einarbeitung ist ja nicht ganz ohne, das API-Handbuch zu ChBiOS hat allein schon 600 Seiten. Brauche ich dann zb immer noch die StdPeriph Libs? Oder kann ich andere einbinden wie meine von Tilen? Egal was es auch ist, es muss sich in Emblocks realsieren lassen. Gruss, Christian
Hallo Christian, Als Author des uGFX Projekts möchte ich dir natürlich gerne zu uGFX raten ;) Gegenüber emWin ist der Quellcode der uGFX Bibliothek offen. Des Weiteren ist uGFX sehr Modular aufgebaut. Jedes Feature welches du nicht benutzt ist standardmässig deaktiviert und landet somit auch nicht in der kompilierten Datei. Wenn du mit ChibiOS arbeitest brauchst du die StdPeriph Library (jetzt in STM32 CubeHAL umbenannt) nicht. ChibiOS bringt seinen eigenen HAL mit. Wenn du jedoch lieber einen anderen HAL verwenden möchtest ist das kein Problem: Seit der Version 3.x ist der ChibiOS Kernel und der ChibiOS HAL vollständig von einander entkoppelt (ChibiOS/RT und ChibiOS/HAL). Ich habe selbst einige Projekte in Em::Blocks sowohl mit FreeRTOS als auch mit ChibiOS realisiert. Probleme hatte ich mit keinem davon. Inzwischen gibt es in Em::Blocks auch ein Plug-in um ChibiOS/RT Projekte besser debuggen zu können (du siehst die liste an Threads, freie Speicherresourcen etc.). Wenn du mit Em::Blocks arbeitest kannst du dich entweder dazu entscheiden ein externes Makefile zu benutzen oder die Dateien innerhalb des Projektmanagers von Em::Blocks hinzu zu fügen. uGFX kommt von haus aus mit einem integrierten Makefile System. Wenn du dies nicht benuzten willst gibt es die "Single File"-Option: Du musst nur die gfx_mk.c Datei welche du im Hauptverzeichnis der uGFX Bibliothek findest hinzufügen und alle restichen benötigten Dateien werden automatisch inkludiert. Egal für was du dich entscheiden wirst, uGFX kannst du auf alle Fälle benutzen. Sowohl ChibiOS als auch FreeRTOS sind von Haus aus unterstützt. Welchen HAL du verwendest ist uGFX auch egal. Es gibt die sog. "Board Files" in welchen du ein paar wenige Funktionen implementieren musst welche die Kommunikation mit dem Display (oder auch Touchscreen) definieren. Beispielsweise gibt es da eine funktion welche ein Byte zum Display Controller sendet und du musst dann nur noch gucken dass das Byte auch wirklich ankommt. Wenn du weitere Fragen zu uGFX hast helfen wir dir gerne im uGFX Forum weiter. ~ Tectu
Hallo Joel, danke erstmal für die lange Mail, die ich mir erstmal abgelegt habe, damit sie hier nicht untergeht. Dass ich mit makefiles auf Kriegsfuss stehe, weil ich sie nicht verstehe und nicht slebst erstellen bzw editieren kann macht es vielleicht nicht leicher aber bisher ging es auch ohne, bzw mit "geklauten" Makefiles. Wie das mit den eigenen .mk abläuft verstehe ich noch nicht ganz. EmBlocks nimmt ja normalerweise die Dateien aus dem Projekt, berechnet deren Abhängigkeiten und errzeugt daraus ein eigenes Make, mit dem man nichts zu tun hat. Wie es dann gehen soll, dass noch "Untermakes" ausgeführt werden weiss ich leider nicht. Der Anfang ist immer der schwerste, vor allem wenn man es grad mal packt in Emblocks den Wizard zu bedienen und daraus ein Template zu erzeugen. naja, nicht ganz, ich habe da schon eigene Link Files erzeugt und auch die Debug möglichkeiten erweitert, bzw. den Startup Code modifiziert. 20 Jahre mit Mikros können ja nicht umsonst gewesen sein. Ich denke mal, dass er einfachste Start der ist, ein fertiges Template für Emblocks zu bekommen mit einer Demo drin, die einwandfrei durchkompiliert, wo alle Defines und sonstigen Einstellungen schon gemacht sind. So fange ich meist an und beginne dann meine Projekte auf sowas aufzubauen. Vielleicht hadt Du ja ein "ordentliches" Template für das F429 Disco Board, welches Du bereitstellen kannst? Gruss, Christian
Hallo Christian, Emm::Blocks bietet eine Option die sich "Use External/Existing Makefile" nennt. In dem Fall wird nichts anderes gemacht als dass Em::Blocks nur noch make mit definierbaren Parametern aufruft (es wird also dein bestehendes Makefile benutzt). Wenn du Probleme mit Makefiles hast bietet dir uGFX auch da Hand an: Wir stellen ein Makefile template für ChibiOS zur Verfügung. In dem Makefile musst du nichts anderes machen als den Pfad zum uGFX Verzeichnis und den Pfad zum ChibiOS Verzeichnis anzugeben. Das Makefile wird dann automatisch im Hintergrund das uGFX Makefile- und das ChibiOS Makefile-System zusammenführen. Das klappt ganz gut und ist auch schon von einigen hundert Benutztern im Praxiseinsatz getestet worden. Aber wie bei allem mit uGFX: Es ist vollständig optional und dem User überlassen ob er ein solches Feature benutzten will oder nicht. Für Benutzer die solche Abstrahierungen nicht mögen zeigen wir in der uGFX Dokumentation wie man ein bestehendes ChibiOS Makefile erweitern muss um uGFX zu verwenden. Wenn du jedoch Makefiles wirklich garnicht magst empfehle ich dir es einfach nicht zu verwenden. Wie bereits erwähnt musst du innerhalb von Em::Blocks nur eine einzige Datei der uGFX Bibliothek einbinden und alles andere wird für dich erledigt (mittels klassischen #includes, keine versteckte Magie!). Ich habe bereits Em::Blocks mit dem STM32F429i-Discovery board verwendet, jedoch ist das lange her und sowohl Em::Blocks als auch uGFX haben sich stark weiter entwickelt. Wenn du ein paar Tage warten kannst kann ich dir ein Hello-World Projekt zusammenstellen. Mein Persönlicher Rat: Wenn du nicht mit Makefiles arbeiten willst würde ich eher den CubeHAL zusammen mit FreeRTOS verwenden. ChibiOS besteht aus gefühlten 10 Millionen Dateien welche noch in unterschiedlichen Versionen daher kommen und es ist eine sehr sehr sehr langatmige Arbeit, jede Datei einzeln im Em::Blocks Dateibaum einzufügen. Ich weiss leider wovon ich spreche... Da der Wizard von Em::Blocks bereits die CubeHAL Bibliothek mit einbindet und alle benötigten Dateien hinzufügt geht das recht schmerzlos. FreeRTOS selbst ist sehr klein und besteht aus nur einer handvoll Dateien welche sich mehr oder weniger alle im selben Verzeichnis finden. Noch eine Überlegung: Bist du dir sicher, dass du ein RTOS für dein Vorhaben benutzten musst? Oftmals wird zu einem RTOS gegriffen obwohl dies eigentlich nicht nötig währe. uGFX kann ohne probleme bare-metal ohne OS darunter benutzt werden. ~ Tectu
Joel B. schrieb: > uGFX kann ohne probleme bare-metal ohne OS darunter benutzt werden. Ja klar! Ich brauche kein OS drunter. Sonst würde ja direkt einen Raspi nehmen, der schon alles dabei hat. Nur ein fertiges Template wäre toll (Fenster "Hello World", OK Button drunter und fertig, so als Anfang. Da kann man sich dann durchhangeln und sehen was wo und wie gemacht ist. Habe auch Zeit, werde mich erstmal einlesen in uFGX. Nen Ansatz gab es ja schon mal: http://www.emblocks.org/forum/viewtopic.php?f=26&t=524
Hallo Christian, Ich werde in den nächsten Tagen ein bare-metal HelloWorld Projekt für das STM32F429i-Discovery in Em::Blocks zusammenstellen. Diese Woche wird jedoch etwas stressig also sei mir bitte nicht böse wenn es vor nächstem Samstag Abend nichts wird. Deine E-Mail Adresse habe ich ja jetzt ;) Das Projekt von dem Forum-Thread den du gelink hast würde ich dir anraten zu ignorieren. ~ Tectu
Hallo nochmal, gerade eben diesen Thread in meinen Lesezeichen gefunden. Mich hat es damals sehr interessiert, geht es hier noch irgendwie weiter? Grüße Dennis
Der Joel hat sich nie wieder gemeldet und inzwischen habe ich meine eigenen Widgets geschrieben.....
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.