Hallo liebe STM32 Experten, Nach vielen Jahren Erfahrung mit MSP430/IAR EW430 möchte ich gerne mein Wissen erweitern und den Einstig in die Welt des STM32 vollziehen. Leider scheint der Weg dorthin ein wenig steinig zu sein. Ich bin im Besitz diverser Nucleo Boards u.a NUCLEO-L452RE und NUCLEO-L4R5ZI. Mit letzterem würde ich gerne loslegen. Ich habe mir die aktuelle Version des STM32CubeMX (v5.2.0) und die aktuellen Versionen des TrueStudios (v9.3.0) und der System Workbench for STM32 (v2.9) heruntergeladen und installiert. Leider habe ich bei beiden so meine Probleme. a) STM32CubeMX und System Workbench for STM32. Leider scheint das Projekt nachdem es vom CubeMX erzeugt wurde immer leer zu sein. b) STM32CubeMX und TrueStudio. Hier kann ich alle Files sehen und auch compilieren aber leider startet der Debugger nicht. Hier nun meine Frage: Kennt jemand ein gutes Tutorial, dass mir den Einstieg erleichtert? Gruss Gerd
Gerd K. schrieb: > Leider scheint das > Projekt nachdem es vom CubeMX erzeugt wurde immer leer zu sein. Ist es denn leer? Schau mit dem Dateimanager deines Betriebssystems nach. Um hier Probleme zu vermeiden, würde ich auf Leerzeichen in Verzeichnisnamen und Dateinamen verzichten. > aber leider startet der Debugger nicht. Er wird sicher irgendeine Fehlermeldung im "Output" View ausgeben.
Hallo, Sorry, dass mein Post so lang geraten ist. Hier nochmals der Kern meiner Anfrage: Gerd K. schrieb: > Kennt jemand ein gutes Tutorial, dass mir den Einstieg erleichtert? Gruss Gerd
Hallo Stefanus Stefanus F. schrieb: > Gerd K. schrieb: >> Leider scheint das >> Projekt nachdem es vom CubeMX erzeugt wurde immer leer zu sein. > > Ist es denn leer? Schau mit dem Dateimanager deines Betriebssystems > nach. Habe ich schon kontrolliert. Nein, das Projekt ist nicht leer. Es wird in der IDE lediglich nicht angezeigt. > Um hier Probleme zu vermeiden, würde ich auf Leerzeichen in > Verzeichnisnamen und Dateinamen verzichten. Jup, habe ich. >> aber leider startet der Debugger nicht. > > Er wird sicher irgendeine Fehlermeldung im "Output" View ausgeben. Ja, er kann die CPU/Debugger nicht finden. (Error in initializing ST-LINK device. Reason: No device found on target.) Gruss Gerd
Gerd K. schrieb: >>> Leider scheint das >>> Projekt nachdem es vom CubeMX erzeugt wurde immer leer zu sein. >> Ist es denn leer? Schau mit dem Dateimanager deines Betriebssystems >> nach. > Habe ich schon kontrolliert. Nein, das Projekt ist nicht leer. Es wird > in der IDE lediglich nicht angezeigt. Beide IDE basieren auf Eclipse. Bei Eclipse gehören immer alle Dateien zum Projekt, die innerhalb des Projektverzeichnisses liegen. Wenn mal eine "neue" Datei nicht angezeigt wird, drücke ich F5, danach wird sie sichtbar. Es gibt dazu zwei unterschiedliche Ansichten "Files" und "Project Explorer". Im "Project Explorer" werden die Dateien anders gruppiert angezeigt. In den Projekteinstellungen legst du (bzw Cube MX) fest, welche Verzeichnisse sourcen und includes enthalten). Vielleicht stimmt dort etwas nicht. Was den ST-Link angeht, installiere mal das ST-Link Utility von ST. Dabei wird der nötige Windows Treiber mit installiert. Mit einem Tutorial kann ich nicht dienen.
Hast du den gleichen workspace für CubeMX und SW4STM32 benutzt? Das Projekt dann importiert? Win oder Linux? In einem Beitrag hatte ich mal meinen Ablauf dargestellt.
Gerd K. schrieb: > Gerd K. schrieb: > >> Kennt jemand ein gutes Tutorial, dass mir den Einstieg erleichtert? Nein. So etwas, das dir die Eigeninitiative abnimmt, ist mir noch nicht untergekommen. Wohl aber schlechte Tutorials, aus denen man nichts wirklich gutes hätte lernen können. Was genau willst du denn wissen? - wie man Cube bedient? - oder wie man selber mit dem Chip klarkommt? - oder wie man selber mit dem Compiler klarkommt? - oder wie man den Code vom PC in den Chip bekommt? Also: wozu willst du ein Tutorial: Um deinen eigentlichen Chip zu verstehen - oder um mit der von dir genannten Software klarzukommen? Mein Rat wäre ein ganz anderer: Lerne deinen Chip auf deinem Board zuerst einmal selbst und aus erster Hand kennen, also per Datenblatt und Referenzmanual. Und dann gehe deinen Weg erstmal ohne die genannten Helferlein von ST, dabei lernst du am schnellsten und am gründlichsten, weil du dich auf deinen eigentlichen Chip konzentrieren kannst und dich nicht noch mit all den Befindlichkeiten der diversen "Studios" dazwischen befassen mußt. Und für den Anfang hätte ich dir auch erstmal zu einem kleineren und einfacheren Chip und Board geraten. Sowas wie die berüchtigten BluePill Dinger etwa. Die sind noch etwas überschaubarer. W.S.
Hallo W.S. W.S. schrieb: > Mein Rat wäre ein ganz anderer: > Lerne deinen Chip auf deinem Board zuerst einmal selbst und aus erster > Hand kennen, also per Datenblatt und Referenzmanual. Und dann gehe > deinen Weg erstmal ohne die genannten Helferlein von ST, dabei lernst du > am schnellsten und am gründlichsten, weil du dich auf deinen > eigentlichen Chip konzentrieren kannst und dich nicht noch mit all den > Befindlichkeiten der diversen "Studios" dazwischen befassen mußt. Das wäre perfekt für mich. Mit welcher Tool-Chain kann man das? Gruss Gerd
Gerd K. schrieb: > aktuellen Versionen des TrueStudios (v9.3.0) und der System Workbench > for STM32 (v2.9) heruntergeladen und installiert. Ich würde derzeit ausschliesslich TrueStudio verwenden, weil Atollic inzwischen von ST übernommen wurde und diese Entwicklungsumgebung daher supportmässig wohl am besten versorgt wird. Ausserdem sind sie dran, verschiedene Tools miteinander zu verschmelzen.
Gerd K. schrieb: > Nach vielen Jahren Erfahrung mit MSP430/IAR EW430 möchte ich gerne mein > Wissen erweitern und den Einstig in die Welt des STM32 vollziehen. An dem Schritt bin ich auch gerade (allerdings komme ich von CCS, nicht von IAR). Mein erster Punkt zum Umgewöhnen: während beim CCS "Installieren - anstöpseln - läuft" angesagt war, will das STM32-Setup mehr Betüddelung. Grobe Faustregel: wenn der GDB das erste Mal Kontakt zum Board aufgenommen hat, ist die halbe Miete geschafft. Dann muss noch der Make-Prozess funktionieren, und das Entwickeln kann beginnen. Nach diversem Ärgern über CubeMX, zueinander inkompatible Bibliotheken von ST usw. habe ich die Reißleine gezogen und bin auf ChibiOS umgestiegen. Die Doku zum Einstieg ist zwar eher untermittelprächtig, dafür wird der STM32 gut unterstützt, und der sich ergebende Code ist kompakt und gut zu lesen. Das mitgelieferte ChibiStudio habe ich als hilfreich empfunden (Hint: unbedingt das mitgelieferte Make verwenden, der im Netz zu findende Tipp mit MSYS2 ist NICHT hilfreich), man kann aber auch selbst basteln. Insgesamt habe ich die Entwicklungsumgebung beim MSP430 viel mehr als Rundum-Sorglos-Paket empfunden als die beim STM32 (auch im Vergleich zu Atollic TrueStudio). Dafür ist das Preis-/Leistungs-Verhältnis der STM32 wesentlich besser. Wenn du halbwegs stressfrei mehr Performance haben willst und die Stückkosten keine große Rolle spielen, sind die MSP432 für dich vielleicht auch einen Blick wert.
Hallo Leute, Ich bin zunehmend der Ansicht, dass mein Ansatz in meinem Bemühen mich mit dem STM32 zu beschäftigen grundsätzlich falsch oder zu old school ist. Ich weis, dass sich der MSP430 hier im Forum nicht alzu grosser Beliebtheit erfreut aber für Neueinsteiger wird es einem in der MSP430 Welt deutlich leichter gemacht. - Development board bestellen - Datenblatt und Handbuch bei TI herunterladen - Software Beispiele bei TI herunterladen - IDE herunterladen (z.B. IAR EW430 Kickstart, CCS usw.) Und man kann sofort loslegen. Geht das nicht auch bei STM32? Ich konnte nicht mal einfache Software Beispiele finden. Bitte helft mir! Gruss Gerd
Hi Max Max G. schrieb: > An dem Schritt bin ich auch gerade (allerdings komme ich von CCS, nicht > von IAR). Mein erster Punkt zum Umgewöhnen: während beim CCS > "Installieren - anstöpseln - läuft" angesagt war, will das STM32-Setup > mehr Betüddelung. Das Gefühl habe ich auch. > Grobe Faustregel: wenn der GDB das erste Mal Kontakt > zum Board aufgenommen hat, ist die halbe Miete geschafft. Dann muss noch > der Make-Prozess funktionieren, und das Entwickeln kann beginnen. Dafür brauche ich aber erstmal einen Startpunkt z.B. eine Sammlung von einfachen Programmbeispielel a la MSP430 > Nach diversem Ärgern über CubeMX, zueinander inkompatible Bibliotheken > von ST usw. habe ich die Reißleine gezogen und bin auf ChibiOS > umgestiegen. Die Doku zum Einstieg ist zwar eher untermittelprächtig, > dafür wird der STM32 gut unterstützt, und der sich ergebende Code ist > kompakt und gut zu lesen. Schau ich mir mal an. > Insgesamt habe ich die Entwicklungsumgebung beim MSP430 viel mehr als > Rundum-Sorglos-Paket empfunden als die beim STM32 (auch im Vergleich zu > Atollic TrueStudio). Wohl war! > Dafür ist das Preis-/Leistungs-Verhältnis der STM32 > wesentlich besser. Wenn du halbwegs stressfrei mehr Performance haben > willst und die Stückkosten keine große Rolle spielen, sind die MSP432 > für dich vielleicht auch einen Blick wert. MSP432 kenne ich schon. Ist mit CCS und den tollen TI Beispielen leicht in der Griff zu bekommen. Aber, ich wollte halt genug Power um auch mal z.B. ein Kamerabild zu verarbeiten ohne gleich auf spezielle FIFO boards oder Boards mit eigenem spezialisierten Prozessor zurückgreifen zu müssen. Hey, der STM32 ist auch nur eine MCU. Das muss doch einfacher gehen, oder? Gruss Gerd
Gerd K. schrieb: > - Development board bestellen > - Datenblatt und Handbuch bei TI herunterladen > - Software Beispiele bei TI herunterladen > - IDE herunterladen (z.B. IAR EW430 Kickstart, CCS usw.) > > Und man kann sofort loslegen. > > Geht das nicht auch bei STM32? Geht doch ebenso! - Development Board bestellen (Irgendein Nucleo oder Disco oder wenns billig sein soll von Aliexpress BluePill und ST-Link V2 Clone) - Atollic TrueStudio runterladen/installieren - CubeMX runterladen/installieren ...und schon kannst Du loslegen. Natürlich ist ein STM32 ungemein komplexer als ein MSP430, aber mann kann ja mal klein anfangen und nur mal eine LED blinken lassen. Wenn Du ein Board von ST hast, kannst Du das in CubeMX auswählen und alle Pins und Clocks sind schon richtig vorkonfiguriert. Das heisst, eine LED blinken zu lassen benötigt höchstes noch ein paar wenige Zeilen Code.
Hallo Jonny B. Johnny B. schrieb: > Geht doch ebenso! > > - Development Board bestellen (Irgendein Nucleo oder Disco oder wenns > billig sein soll von Aliexpress BluePill und ST-Link V2 Clone) > - Atollic TrueStudio runterladen/installieren > - CubeMX runterladen/installieren > > ...und schon kannst Du loslegen. > Natürlich ist ein STM32 ungemein komplexer als ein MSP430, aber mann > kann ja mal klein anfangen und nur mal eine LED blinken lassen. > Wenn Du ein Board von ST hast, kannst Du das in CubeMX auswählen und > alle Pins und Clocks sind schon richtig vorkonfiguriert. Das heisst, > eine LED blinken zu lassen benötigt höchstes noch ein paar wenige Zeilen > Code. Wie du vermutlich in meinem ersten Post gelesen hast, habe ich genau das gemacht und bin leider nicht weiter gekommen. Mir fehlen für den STM32 einfach die Grundlagen und diese wollte ich mir aneignen. Eben z.B. durch die Nutzung eines Tutorials oder einfacher Beispiele (die leider nicht zu finden waren). Gruss Gerd
Klick doch einfach mal auf das blaue STM32 hier in den Beiträgen. Ganz ohne Lesen wird es nicht gehen. Es gibt einen IAR-Demo für STM32, ist aber codegrößenbeschränkt. Fürs einfache Kennenlernen reicht der aber.
Hallo Gast google schrieb: > Klick doch einfach mal auf das blaue STM32 hier in den Beiträgen. Ganz > ohne Lesen wird es nicht gehen. Es gibt einen IAR-Demo für STM32, ist > aber codegrößenbeschränkt. Fürs einfache Kennenlernen reicht der aber. Wie oben zu lesen, ist mir natürlich die IAR Kickstart Version bekannt. Aber diese bringt mich nicht wirklich weiter weil sie eben codegrößenbeschränkt ist und gerade STM32 Code kann sehr schnell, wg. der oben schon erwähnten Komplexität der MCU, recht gross werden. Ausserdem mangelt es hauptsächlich an Beispielen Gruss Gerd
Gerd K. schrieb: > Hallo Gast > > google schrieb: >> Klick doch einfach mal auf das blaue STM32 hier in den Beiträgen. Ganz >> ohne Lesen wird es nicht gehen. Es gibt einen IAR-Demo für STM32, ist >> aber codegrößenbeschränkt. Fürs einfache Kennenlernen reicht der aber. > > Wie oben zu lesen, ist mir natürlich die IAR Kickstart Version bekannt. > > Aber diese bringt mich nicht wirklich weiter weil sie eben > codegrößenbeschränkt ist und gerade STM32 Code kann sehr schnell, wg. > der oben schon erwähnten Komplexität der MCU, recht gross werden. > > Ausserdem mangelt es hauptsächlich an Beispielen > > Gruss > Gerd Die Beispiele sind Teil der Bibliothek die man via CubeMX herunterladen kann. Man kann ST vieles vorwerfen, aber dass die Anzahl der Beispiele zu gering ist stimmt mit absoluter Sicherheit nicht. Allein die aktuelle L4-Lib hat Beispiele für 17(!!!) verschiedene Development Boards.
Gerd K. schrieb: > Ja, er kann die CPU/Debugger nicht finden. (Error in initializing > ST-LINK device. > Reason: No device found on target.) Das könnte auch am Nucleo-Board liegen; da gibt es einige Jumper, die richtig gesetzt sein müssen: Am "ST-Link-Teil" müssen beide Jumper m.w. gesetzt sein, und der Jumper für die Versorgungsspannung muss auf USB gestellt sein (falls du es darüber betreibst, wovon ich ausgehe). Und dann gibt es noch einen Jumper, um den Strom am Mikrocontroller zu messen (IDD), der muss auch gesteckt sein. Gruß Daniel
AtollicTRUEStudio liefert doch Beispiele. Menu File - New - Download new example project ....
Gerd K. schrieb: > Das wäre perfekt für mich. > > Mit welcher Tool-Chain kann man das? Gerd K. schrieb: > - Development board bestellen > - Datenblatt und Handbuch bei TI herunterladen > - Software Beispiele bei TI herunterladen > - IDE herunterladen (z.B. IAR EW430 Kickstart, CCS usw.) > > Und man kann sofort loslegen. > > Geht das nicht auch bei STM32? Uff.. also zwischen deinen beiden Posts klafft eine Riesenlücke. Klingt mir nach "ich will alles und zwar sofort, aber es muß mir fertig gebraten in den Mund fliegen". Ich schildere dir mal, wie das bei mir aussieht: Als IDE nehme ich den TotalCommander. Ist natürlich keine IDE, aber ein hervorragendes Navigationstool auf dem PC. Für ein neues Projekt mache ich mir ein Verzeichnis, wo alles hineinkommt. Zum Editieren der Quellcodes nehme ich nen normalen Editor, derzeit den schweizer Notetab. Als Toolchain benutze ich den Keil. Den hab ich sowieso in der Firma und daheim tut es auch die freie Version bis 32K, die man erstmal voll kriegen muß. Vor Jahren hab ich für die Lernbetty auch den GCC benutzt (yagarto ..). Geht auch, ist ein Stück hakeliger bei der link.xcl, macht etwa 20% längern Code als der Keil. Wer will, kann auch den IAR benutzen, ist bis 32K auch frei. Zum Aufrufen der Toolchain benutze ich ne simple Batchdatei. Ein Klick im TC und nach ein paar Sekunden je nach Codegröße ist alles fertig. Zum Brennen der Firmware in den Chip benutze ich bei LPC und STM32 den jeweiligen Bootlader, bei LPC FlashMagic und bei STM32 mein eigenes Brennprogramm, gibt's hier bei Projekt&Code herunterzuladen. Als Programmieradapter fungiert ein simpler FTDI-Usb nach serial Konverter oder dasselbe mit so einem CH340nochwas aus China für zwofuffzich. Zum Ausprobieren hab ich ein kleines Netzteil dabei (so etwa 15V/1A). Gerade für die simpleren STM32 Controller hab ich mir mal eine Handvoll Minimal-Leiterplatten machen lassen, wo ein STM32F103C8T6 drauf ist, dazu miniUSB und Programmieranschluß (JST-Verbinder mit 1mm Pitch). Über den kann man (per UART) auch ganz bequem mit dem PC über den Programmieradapter kommunizieren. Ne quasi Standard-Firmware hab ich auch dafür, so daß das Environment auf dem Controller bereits fertig ist. Einfach in config.c die gewünschte Pin-Konfiguration eintragen (ist ein #define.. Konstrukt) und das Konfigurieren ist fast fertig - die Teile für die konkrete Aufgabe müssen natürlich noch dazugeschrieben werden. Aber sowas wie ne Kommandozeile über USB, Systemuhr, Konvertierungen, Geräte-IO usw. sind schon da. Und dieser Firmware-Rumpf kostet grad mal 11.5 K an Code. Da sind noch über 20 K für die konkrete Aufgabe frei. Hab das Ganze hier auch mal vor Jahren gepostet - auch mit Eagle-Files für die LP. In dem Fall heißt das also - gepostetes Projekt hier runterladen https://www.mikrocontroller.net/attachment/316790/STM32F103C8T6.ZIP - USB nach serial Adapter (ttl-Pegel) kaufen - Brennprogramm herunterladen https://www.mikrocontroller.net/attachment/383626/Stm32Prog_R1.0.6.zip - LP und Bauteile bestellen - zusammenlöten - Keil, IAR oder GCC installieren - nen Editor aussuchen - loslegen. Ich denk mal, die im Projekt enthaltenen Quellen sind ausreichend veständlich, so daß sie deinen Lesebedarf für den Anfang abdecken. Dazu solltest du dir aber auf jeden Fall 2 PDF's besorgen: das Datenblatt zum STM32F103C8T6 und das Referenzmanual dazu. Und warum gerade dieser Chip? Wel er noch einigermaßen übersichtlich ist und billig ist und für kleinere Basteleien völlig ausreicht. Und wenn du keine Hardware löten willst, geht auch so ein "BluePill"-Brettl. Dort müßtest du dann aber die paar Strippen RxD, TxD, /BOOT, /Reset und GND selber anlöten. Ein Binärfile ist mit dabei, kannst du als erstes in den Chip flashen und anschließend das Board am USB ausprobieren. Es ist "ab Werk" nur ein Kommando eingebaut: d anf end = Zeige den Speicher von anf bis end an. W.S.
Gerd K. schrieb: > Man kann sofort loslegen. > Geht das nicht auch bei STM32? Eigentlich schon. Bei mir standen "nur" zwei Bugs im CubeMX dem Glück im Weg. Deswegen habe ich es dann ohne CubeMX versucht und dabei gemerkt, ich ohne dieses Tool prima klar komme. Ich habe dazu Anleitungen geschrieben, allerdings beziehen diese sich auf andere STM32 Serien. Falls du trotzdem reinschauen willst: http://stefanfrings.de/stm32/index.html So richtig spannendes wirst du da aber kaum finden, denn soweit ich einschätzen kann hast du keinen groben Fehler gemacht. Die verwendeten Programme funktionierten einfach out-of-the-Box. Auch CubeMx (in einer späteren Version).
Gerd K. schrieb: > Nein, das Projekt ist nicht leer. Es wird > in der IDE lediglich nicht angezeigt. Dann musst du es in den Workspace importieren. Ich glaube, dein Hauptproblem ist, dass du mit der Bedienung von Eclipse noch nicht vertraut bist. Das würde dann sowohl die System Workbench als auch das Atollic Studio gleichermaßen betreffen. Ich hatte Glück, weil ich diese IDE schon seit vielen Jahren beruflich für Java Entwicklung nutze. Dazu gibt es sicher Videos bei Youtube.
Gerd K. schrieb: > No device found on target. Klingt nach fehlender Stromversorgung oder falschen Verbindungen. Vergleich deinen Aufbau mal mit meine Anleitung: http://stefanfrings.de/stm32/stm32l0.html#swj
Gerd K. schrieb: > Ich konnte nicht mal einfache Software Beispiele finden. Die findest du im Cube L4 Firmware Paket: https://www.st.com/en/embedded-software/stm32cubel4.html
Ich versuche mal, grob zusammenzuschreiben, wie ich das ChibiOS samt Studio ans Laufen bekommen habe. Ziel war, an einem STM32L152-Nucleo64 einen VL53L0X mit Hilfe dessen API ans Laufen zu bekommen. Hat so mittelprächtig geklappt (woran es liegt, weiß ich noch nicht so genau). Anmerkung: Nahezu jeder Schritt lässt sich auch mit anderen Ansätzen und anderen Tools lösen. Die Migration ist ein bisschen wie von WIndows auf Linux: es wird flexibler, aber komplizierter. 1. ChibiStudio runterladen. Das will unbedingt in C:\ChibiStudio installiert werden, man kann es aber genauso gut an einer anderen Stelle speichern. Man muss dann nur über die .bat starten anstatt über die .lnk (oder letztere anpassen). 2. Devel-Board anstecken und erst mal schauen, ob OpenOCD mit dem Board reden mag. OpenOCD ist die Schnittstelle zwischen Board/USB und dem GDB. Start in tools\openocd\scripts mit ..\bin\openocd -f board/stm32fwasweissich.cfg (passende Config nehmen). OpenOCD sollte dann erzählen, dass es auf Port 3333 zuhört. 3. ChibiStudio anwerfen (start_gcc70.bat) und beim Start einen sinnvollen Workspace angeben. Das defaultmäßige C:\ChibiStudio ist nicht unbedingt sinnvoll. Irgendwas in deinem Userverzeichnis ist vermutlich sinnvoller. 4. Mit File->Import, dann "Import existing project into workspace", dann "Root directory" die zu deinem Board gehörige Demo laden (liegt in chibios182\demos\STM32). 5. Rechtsklick aufs Projekt, "Properties", dann unter "C++ Build" -> "Environment" die PATH-Variable setzen. Sie muss die Verzeichnisse c:\ChibiStudio\tools\GNU Tools ARM Embedded\7.0 2017q4\bin (für den gcc) und c:\ChibiStudio\tools\gnutools\bin (für make) enthalten. Pfade so anpassen, dass die zu deinem Installationsverzeichnis und deiner Version passen. 6. Project -> Build Project starten. Kann ggf. ein bisschen dauern, bis make die ganzen Abhängigkeiten aufgelöst hat. Wenn es Fehler hagelt, stimmen irgendwelche Pfade nicht. Wenn ganz komische Fehler kommen, hast du das falsche make.exe genommen... 7. Run -> Debug Configurations... aufrufen. Dort sollte unter "GDB Hardware Debugging" ein Eintrag auftauchen, der wie dein Projekt heißt. Diesen auswählen. Im "Debugger"-Tab sollte nun stehen: "GDB Command" = arm-none-eabi-gdb "Use remote target" = Haken gesetzt "JTAG Device" = "Generic TCP/IP" "Host name..." = localhost "Port number" = 3333 8. Nun kommt der OpenOCD aus Schritt 2 auch tatsächlich zum Einsatz, am besten das zugehörige Fenster auf den zweiten Bildschirm schieben. Nun unten auf "Debug" drücken. Die Kette ChibiStudio (Eclipse) -> GDB -> OpenOCD -> USB -> STM32 sollte nun funktionieren. Was ich bislang nicht hinbekommen habe: das Programm neu zu starten. "Terminate and Relaunch" tut´s aber auch und geht aber zum Glück relativ fix. 9. Demo läuft (LED blinkt), nun lässt sich die Board-Konfiguration anpassen: Die Verknüpfung auf "board" im Demoprojekt löschen, dann über File -> Import -> File System die Dateien aus C:\ChibiStudio\chibios182\os\hal\boards\DEINBOARD in ein Verzeichnis "board" importieren. Jetzt kannst du mit Doppelklick auf das .mk-File die Boardkonfiguration anpassen. In der Menüleiste sollte nun ein Punkt "Configuration" auftauchen, damit lassen sich board.h und board.c generieren. Zusätzlich im Makefile die Zeile "include $(CHIBIOS)/os/hal/boards/DEINBOARD/board.mk" ersetzen mit "include ./board/board.mk". Nun kann die Spielerei losgehen.
:
Bearbeitet durch User
Gerd K. schrieb: > Mir fehlen für den STM32 einfach die Grundlagen und diese wollte ich mir > aneignen. Eben z.B. durch die Nutzung eines Tutorials oder einfacher > Beispiele (die leider nicht zu finden waren). Schau Dich mal auf der Website von ST um; die haben tonnenweise super Beschreibungen und sogar Videos. Hier mal nur die Präsentationen zum L4, welchen Du verwenden möchtest: https://www.st.com/content/st_com/en/support/learning/stm32-education/stm32l4-online-training.html Sehr zu empfehlen, besonders für den Einstieg, die "STM32 MOOCs" (Massive Open Online Courses) https://www.st.com/content/st_com/en/support/learning/stm32-education/stm32-moocs.html Das meiste ist auf YouTube verfügbar. Hier die Grundlagen: https://www.youtube.com/playlist?list=PLnMKNibPkDnGtuIl5v0CvC81Am7SKpj02
:
Bearbeitet durch User
Guter Einstieg zu Cube-MX und HAL: https://leanpub.com/mastering-stm32 Cortex-M Basics: https://www.amazon.de/Definitive-Guide-Cortex%C2%AE-M3-Cortex%C2%AE-M4-Processors/dp/0124080820 Auch viel Basic Stuff zum Cortex-M: https://www.youtube.com/user/StateMachineCOM/
Warum nicht gleich das Tutorial von STmicro ? In Youtube nach stm32cubemx basics 01.1 suchen und dann alle Folgevideos in der Reihenfolge schauen. Gruß, dasrotemopped.
Hi Leute, Da sag noch einmal jemand, dieses Forum sein unfreundlich. Ganz lieben Dank an alle. Ich werde die umfangreichen Informationen die ihr alle zur Verfügung gestellt habt durcharbeiten und dann natürlich Erfolg vermelden oder euch mit weiteren Fragen nerven ;-). An alle einen schönen 1. Mai Gruss Gerd
Max G. schrieb: > Ich versuche mal, grob zusammenzuschreiben, wie ich das ChibiOS samt > Studio ans Laufen bekommen habe. Ach herrje, das ist ja noch umständlicher, als ich es befürchtet habe. Wozu brauchst du da eigentlich TCP/IP und dergleichen? geht sowas auf dem eigenen PC nicht direkter? W.S.
W.S. schrieb: > geht sowas auf dem eigenen PC nicht direkter? Die Software ist halt dafür ausgelegt, dass man auch remote debuggen kann. Und wenn man das schon so programmiert hat, kann man die selbe Verbindung auch lokal nutzen.
Stefanus F. schrieb: > Die Software ist halt dafür ausgelegt, dass man auch remote debuggen > kann. nun denne, wer's braucht... Meine Art ist das aber nicht. Bei mir sedimentieren die Debug-Adapter in der Bastelkiste. W.S.
Hallo, 1. schon älter undnicht für das Cube Framework sondern die älteren Standard peripheral libraries: http://diller-technologies.de/stm32.html 2. https://www.elektor.de/programming-with-stm32-nucleo-boards#preview 3. Buch https://www.elektor.de/arm-microcontroller-projects 4. Sammlung von referenzen: http://mikrocontroller.bplaced.net/wordpress/?page_id=57 Schau dir mal die STM32 Sachen an. Gruß Marc
Hallo Gerd, die STM32F4 sind ziemlich starke Boliden und daher unter Hobbyelektronikern eher wenig verbreitet. Die STM32L4 sind noch spezieller. Es gibt kaum Boards mit diesen Chips zu kaufen. Daher findest du dafür auch wenig Einsteiger taugliche Anleitungen. Ich rate daher dazu, für die ersten Versuche einen wesentlich häufiger verwendetes Modell zu verwenden. Das Nucleo-F103RB oder ein Blue-Pill Board (ebenfalls mit STM32F103) ist sicher eine gute Wahl. Denn weil der STM32F103 recht alt ist, findest du reichlich Anleitungen. Damit kannst du den "Style" von STM erlernen, sowie den Umgang mit den Arbeitsmitteln (was scheinbar zur Zeit dein größtes Problem ist). Wenn du damit klar kommst, kannst du immer noch auf den STM32L4 wechseln. Die ersten Schritte mit einem Blue-Pill Board sind hier beschrieben: http://stefanfrings.de/mikrocontroller_buch2/index.html Falls du das Tutorial für Kinderkacke hältst, dann schaue Dir meine Anleitungen auf dieser Seite an: http://stefanfrings.de/stm32/index.html Ich nehem an, dass du sie bereits gesehen hast. Wie du siehst, habe ich mit den F4 und L4 Modellen noch keine Erfahrung gesammelt. Aber ein kurzer Blick ins Referenzhandbuch sagt mir, dass da wohl (im Vergleich zu den mir bekannten (F1/F3/L0) keine schrecklich komplizierten Unterschiede zu erwarten sind. Wir helfen Dir gerne bei konkreten Fragen.
Gerd K. schrieb: > Leider scheint das Projekt nachdem es vom CubeMX erzeugt wurde immer > leer zu sein Fehler beim Compilieren, sodass kein exekutierbarer Code erzeugt wird?
Gerd K. schrieb: > Hallo Leute, > > Ich bin zunehmend der Ansicht, dass mein Ansatz in meinem Bemühen mich > mit dem STM32 zu beschäftigen grundsätzlich falsch oder zu old school > ist. > > Ich weis, dass sich der MSP430 hier im Forum nicht alzu grosser > Beliebtheit erfreut aber für Neueinsteiger wird es einem in der MSP430 > Welt deutlich leichter gemacht. > > - Development board bestellen > - Datenblatt und Handbuch bei TI herunterladen > - Software Beispiele bei TI herunterladen > - IDE herunterladen (z.B. IAR EW430 Kickstart, CCS usw.) > > Und man kann sofort loslegen. > > Geht das nicht auch bei STM32? > > Ich konnte nicht mal einfache Software Beispiele finden. > > Bitte helft mir! > > Gruss > Gerd Ja, geht. Mit EFM32. Blackbird
Stefanus F. schrieb: > Das Nucleo-F103RB oder ein Blue-Pill Board (ebenfalls mit STM32F103) ist > sicher eine gute Wahl. Denn weil der STM32F103 recht alt ist, findest du > reichlich Anleitungen. Ich finde den F103 dank der Bluepill-Boards nach wie vor für Bastler sehr interessant, würde aber zum "warm werden" eher die F0- oder L0-Serie empfehlen. Der Grund dafür sind die "STM32 Snippets". Das sind ordentlich kommentierte Codebeispiele für jegliche Peripherie, einzig auf Basis von Registerzugriffen durch den CMSIS-Header. Das ganze würde dann wie folgt aussehen: > - Development board bestellen Zum Beispiel STM32F072 Discovery oder STM32L053 Discovery bestellen > - Datenblatt und Handbuch bei TI herunterladen Reference Manual und Datenblatt für den jeweiligen Chip bei ST herunterladen > - Software Beispiele bei TI herunterladen "STM32F0 Snippets" oder "STM32L0 Snippets" herunterladen: https://www.st.com/en/embedded-software/stm32snippetsl0.html > - IDE herunterladen (z.B. IAR EW430 Kickstart, CCS usw.) AC6/SW4STM32 herunterladen Dann arbeitest du dich mit dem entsprechenden Handbuch einmal quer durch die Snippets. Wichtig ist vor allem auch unterschiedliche Konzepte bei den Peripherie-Treibern zu verstehen ("blocking" vs "interrupt driven" vs "DMA driven"). Danach erst würde ich anfangen mich mit Cube/HAL auseinanderzusetzen (mit dem F0/L0). Dann kennst du aber auch die Peripherie und kannst besser nachvollziehen was da unter der Haube passiert. Dann erst würde ich auf den L4 umsatteln. Du kannst natürlich auch später TrueStudio statt SW4STM32 nehmen aber für TrueStudio sind bei den Snippets leider keine Projektdateien dabei. Als ergänzende Literatur würde ich den "Definitive Guide to ARM Cortex-M0 and Cortex-M0+" bzw. den "Definitive Guide to ARM Cortex-M3 and Cortex-M4" von Joseph Yiu empfehlen. Den benötigt man wenn man sich mit den Befindlichkeiten des Kerns auseinandersetzen will oder muss. Für die ersten Schritte ist der aber nicht unbedingt nötig. Später ist er aber sehr hilfreich, wenn es z.B. um den NVIC geht oder du etwa einen eigenen Bootloader schreiben willst.
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.