Hallo, um vielen den Neueinstieg zu erleichtern habe ich ein Template erstellt, welches eine vollständig eingerichtete EmBlocks Umgebung enthält um eigene Programme zu erstellen. Em::Blocks deswegen weil es schneller und stabiler als CooCox ist, deutlich mehr Funktionen hat und fast an UVision heranreicht und vor allem auch ohne Internet und auskommmt. Ein Demoprojekt lädt sich direkt mit, was Zufallszahlen auf dem Display ausgibt. Es ist zudem das Flashtool von ST installiert in der IDE welches aber vom User noch selbst installiert werden mussm und unter Tools/Edit ein Link darauf gelegt werden muss. Eingebundene Repos: - CMSIS F4 Stand 3.2015 - StdPeriphLibs Stand 3.2015 - Tilen Majerles Lib´s für STM32F4 Stand 3.2015 Die TM Libs deswegen weil sie trotz Erstellung mit uVIsion MDK von Keil ein Compiler und IDE unabhängiges Konzept haben (defines.h beachten fuer GCC!), auch ohne das Disco Board auf eigenen Designs anpassbar wären, modular aufgebaut sind. Sie basieren noch auf den StdPeriphLibs (letztes Update von ST war 3.2015), werden aber derzeit umgearbeitet, so dass sie später auch ohne diese auskommen. Regelmässiges Update empfehlenswert. Eine Portierung auf CubeMx ist nicht vorgesehen, um den Update Wahn in Grenzen zu halten. AnMerkung: Die Verwendung dieser Middleware macht den STM32 meiner Ansicht nach schon etwas zum "Arduino", da die Hardware komplett abstrahiert wird. Linker Script modifiziert, nutzt das SDRAM direkt mit als Datenspeicher wenn der Variable ein SDRAM vorangestellt wird (Achtung: Kein Initializer! Wer das haben will muss den Startup Code anfassen) Build Options: - Flash Release (Size Optimized) - Flash Debug - RAM Debug Linker bindet NewLib Nano Branch mit ein und die Math Libs standamaessig (ggf. ändern) Zusatz: Der Startup Code wird von CMSIS Libs fuer Atollic true Studio in Asm verwendet. Ich habe unter /src jedoch noch einen in C beigelegt. Wird dieser verwendet geschieht die Initialisierung des SDRAM automatisch beim Startup mit über die system_stm32f4xx.c -> void SystemInit_ExtMemCtl(void) (thanxs to clive1 für den richtigen Code). Der dazu nötige GCC Define ist bereits als global definiert. Die Project Options und alle #Defines sind global und lokal mit Bedacht gewaehlt! Wer dran rumfummelt sollte wissen was er tut! Damit schießt man sich schnell das ganze Template ab. Viel Spass! Download (25MB) https://www.dropbox.com/s/9gizmnv8d2t2y25/stm32f429_text_scroller.zip?dl=0 Gruss, Christian (der vom STm32F4 "fasziniert" ist und den Z80 drüber fast vergessen hat.
In der startup_stm32f429_439xx.s im cmsis Ordner ist noch ein Fehler: .syntax unified .cpu cortex-m4 .fpu fpv4-sp-d16 .thumb muss es heissen. oder man nimmt die src/startup_stm32f429x.c, völlig wumpe, sind beide gleich, eine Asm, die andere C.
Hi Christian. Dein Template Projeckt klingt gut, habe mir eben emBlocks instaliert zum ausprobieren und wollte nun auch Dein Projekt downloaden, aber der Link funktioniert nicht: >https://www.dropbox.com/s/9gizmnv8d2t2y25/stm32f429_text_scroller.zip?dl=0 >"Dropbox - Link nicht gefunden" >"Die von Ihnen gesuchte Datei wurde entweder verschoben oder gelöscht."
Hallo Christian, ich bin erst heute auf Deinen Beitrag aufmerksam geworden. Leider bekomme ich die gleiche Fehlermeldung von Dropbox wie Peter S. Danke! Thomas
Danke Christian, habe leider das gleiche Problem mit Dropbox... Gruss, Gerhard
Gerhard O. schrieb: > Danke Christian, > > habe leider das gleiche Problem mit Dropbox... > > Gruss, > Gerhard Sorry.... hatte die Datei gelöscht, kann ich aber gern wieder einstellen. ich kann zwar vom Firmenrechner die Datei von zu Hause vom NAS holen aber habe hier in Firma keine Hochlademöglichkeit bzw ist das verboten. Wartet daher bitte bis heute abend ca 20 Uhr, dann lade ich die wieder hoch.
Naja, ist ja toll wenn du dein Projekt hier zur Verfügung stellst, ist dann aber nicht die Idee von der Sache, dass Du die verlinkte Datei wieder löschst! Gegebenenfalls kannst Du einen neuen Link auf eine aktualisiertere Version posten.
Christian J. schrieb: > Gerhard O. schrieb: >> Danke Christian, >> >> habe leider das gleiche Problem mit Dropbox... >> >> Gruss, >> Gerhard > > Sorry.... hatte die Datei gelöscht, kann ich aber gern wieder > einstellen. ich kann zwar vom Firmenrechner die Datei von zu Hause vom > NAS holen aber habe hier in Firma keine Hochlademöglichkeit bzw ist das > verboten. > > Wartet daher bitte bis heute abend ca 20 Uhr, dann lade ich die wieder > hoch. Hallo Christian, vielen Dank für Deine Mühe. Ich will bald von CooCox auf EM:Blocks umsteigen und Deine Vorarbeit ist wirklich ein guter Start. Gruss, Gerhard
Gerhard O. schrieb: > von CooCox auf EM:Blocks umsteigen Die wohl wichtigste Erkenntis seit der Sandkasten-Förmchen-Version 2 Beta .... ;-) Bei Verwendung der TM Libs ist drauf zu achten, dass das ein Privatprojekt ist. Es ist nicht jede neue Version kompatibel mit einer älteren. Tilen bastelt da täglich dran und bevior man sich was Neues einspielt sollte man das alte sichern. "Kennenlernen" wird man den STM32 damit allerdings nicht, das ist wie beim PC nur noch das API Interface.....
Christian J. schrieb: > Gerhard O. schrieb: > >> von CooCox auf EM:Blocks umsteigen > > Die wohl wichtigste Erkenntis seit der Sandkasten-Förmchen-Version 2 > Beta .... ;-) Ich verwende immer noch störrischerweise die V1.74 IDE und den 4.6 2012q4 GCC. Damit geht für mich alles 100% bei meinen F10X Projekten. Diese Version vom GCC finde ich die Beste für mich. > > Bei Verwendung der TM Libs ist drauf zu achten, dass das ein > Privatprojekt ist. Es ist nicht jede neue Version kompatibel mit einer > älteren. Tilen bastelt da täglich dran und bevior man sich was Neues > einspielt sollte man das alte sichern. Danke für den Hinweis. > > "Kennenlernen" wird man den STM32 damit allerdings nicht, das ist wie > beim PC nur noch das API Interface..... Das stimmt. Allerdings habe ich viele meiner M3 APIs für den F103 zum Teil auch selber gemacht und verwende die Peripheral library nur als Beispiel und Referenz am Anfang wenn ich die Funktion noch nicht kenne. Der wichtigste Teil der Library ist für mich die "stm32f10x.h" Datei mit allen Definitionen der Register. Das meiste mache ich dann mit eigenen Routinen und direkter SFR Zugriff. Für mich sind die Erstellung von APIs oft der interessanteste Teil der Anwendung;-) Ich möchte allerdings heuer auf den F429 umsteigen. Mit dem F407 habe ich auch schon ein paar Sachen gemacht. Ich lernte ursprünglich mit der unbegrenzten Atollic Lite TruStudio Version. Die wurde spaeter auf 32KB begrenzt. Im Vergleich zu Atollic ist Cooxox leider doch sehr begrenzt. Allerdings, in aller Fairness, nicht schlecht wenn man nichts anderes hat. Aber man soll doch immer die Augen nach besseren Tools offen halten. Sonst würde mich noch Imagecraft ICC-V8 interessieren. Die arbeiten ziemlich intensiv daran. Gruss, Gerhard
>Ich möchte allerdings heuer auf den F429 umsteigen. Mit dem F407 habe ich >auch schon ein paar Sachen gemacht. Mit dem F429 scheint Coocox aber immer noch auf Abwegen zu sein, einer der Gründe, warum ich mit dieser IDE nicht mehr arbeiten möchte. Ferner stört es mich, dass Coocox zu viele Feautures und Menupunkte von Eclipse ausblendet und damit die ansich geniale IDE föllig verkrüppelt! (z.B. mehrer Projekte gleichzeitig nebeneinander offen haben...)
:
Bearbeitet durch User
Christian J. schrieb: > Hier der Link: > > https://www.dropbox.com/s/9gizmnv8d2t2y25/stm32f429_text_scroller.zip?dl=0 Hallo Christian, hat funktioniert. Nochmals herzlichen Dank für die Überlassung der Unterlagen. Gruß, Gerhard
Ok.Denk dran St-Link zu installieren und den Pfad richtig zu setzen, sonst kein Flashen möglich. Deinen Pfad kenne ich ja nicht. Der String muss dann ungefähr so ausschauen. C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility\ST-LINK_CLI.exe -P ${PROJECT_DIR}${TARGET_OUTPUT_DIR}${TARGET_OUTPUT_BASENAME}.hex
Hallo Christian, Auch von mir vielen Dank! Gruß Thomas
Super, ein Dankeschön auch von mir! :o)
Und? Konntet ihr was mit anfangen? Noch probleme oder so?
Christian J. schrieb: > Und? Konntet ihr was mit anfangen? Noch probleme oder so? Ja, nach der (erfolgreichen) Installation von Em::Blocks stellt sich mir eine Anfängerfrage: Ist Dein Werk ein 'Template' oder 'UserTemplate'? D.h. Installation (Win7) in C:\Program Files (x86)\EmBlocks\2.30\share\EmBlocks\templates oder C:\Users\<user>\AppData\Roaming\EmBlocks\2.00\UserTemplates (oder ?) Wo setze ich den Pfad zu ST-LINK? Danke schon mal vorab, und sorry für die dummen Fragen!
Thomas Sch. schrieb: > ach der (erfolgreichen) Installation von Em::Blocks stellt sich mir > eine Anfängerfrage: Ist Dein Werk ein 'Template' oder 'UserTemplate'? > D.h. Installation (Win7) in > C:\Program Files (x86)\EmBlocks\2.30\share\EmBlocks\templates > oder Nein, es ist kein normales "User Template". Die ganzen Einstellungen sind aber in der xml Datei abgespeichert, die im Projekt liegt. Es ist ein Projekt wo alle Libs Stand 3.2015 mit dabei sind, die man braucht und wo alle Einstellungen und Linkerscripte fertig gemacht sind. Mit Klick auf die ebp Datei müsste es sich öffnen und ein Mini Projekt sichtbar werden was sofort kompilierbar ist. Unter Verwendung von StdPeriph Libs und den Libs von Tilen Majerle wird der STM32 mehr oder weniger zum Arduino, allerdings auf Kosten dass man nur einen bestimmten Funktionssatz hat. Man kommt schnell auf Lösungen ohne in die Register rein zu müssen. Der Pfad zu St Link wird unter Tools gesetzt und auch dort angepasst, damit man 1-Click Flashen und Debuggen kann.
PS: Ich bin damals mit "Rowley Crossworks" gross geworden, was aller Kritik zum Trotze kein Klon von Eclipse ist und auch alle Libs des GCC von denen selbst geschrieben wurden. (Wie ich las gehen die auch gerichtlich gegen diese Behauptunngen vor). Rowley verwöhnt den User, alles läuft out of the box, zig Analyse Tools, sogar lint ist dabei, grafischer Memory Manager, UML Eingabe ... aber hat eben auch seinen Preis. Und nach der erfolglosen Frickelei mit CooCox, was ohne Internet nicht läuft, was ewig braucht und wo man nie weiss was im Netz liegt und was auf der Platte bin ich dann über CodeBloxx zu EmBlocks gekommen. Auch EmIDE von Segger läuft genauso, unterstützt aber mehr Prozessoren als EmBlocks. Und für "umsonst" ist EmBlocks echt klasse, natürlich kein uVision oder was von IAR aber dafür auch keine 5000 Mäuse teuer.
Christian J. schrieb: > .. > Die ganzen Einstellungen sind aber in der xml Datei abgespeichert, > die im Projekt liegt. > Es ist ein Projekt wo alle Libs Stand 3.2015 mit dabei sind, die man > braucht > und wo alle Einstellungen und Linkerscripte fertig gemacht sind. Mit > Klick auf die ebp Datei müsste es sich öffnen und ein Mini Projekt > sichtbar werden was sofort kompilierbar ist. .. > > Der Pfad zu St Link wird unter Tools gesetzt und auch dort angepasst, > damit man 1-Click Flashen und Debuggen kann. Danke! Allerdings musste ich erst mal umsetzen, dass Du mit der xml-Datei die ebp-Datei meinst (wenn ich richtig liege..) CooCox hat mich auch nicht wirklich überzeugt, dass fliegt wieder unter.
Hallo Christian, nur zur Sicherheit: einfach im Projektverzeichnis entpacken, und als Programm starten? Danke, Thomas
Thomas Sch. schrieb: > einfach im Projektverzeichnis entpacken, und als Programm starten? Ähm.... das ist ein Projekt, ja. Was soll man da starten? Man kann auf das .ebp File doppelklicken, dann geht die IDE auf. Starten kann man nur das ELF File nach dem Flashen.
Das war von mir falsch formuliert (zu schnell gesendet). Irritierend war das anfängliche "Template" in Verbindung mit den seitens Em::Blocks verwendeten Begriffen dafür. Nochmals Danke!
Wer hat noch weitere Erfahrungen, Hinweise, Tipps, .. zum Paket von Christian? (Beitrag "Re: Em::Blocks Template für STM32F429 Discovery (fix und fertig Stand 3.2015)") Danke vorab.
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.