So nun bin ich auch im Umstieg bedacht, von AVR auf STM32. Die Preise
sind ja lächerlich günstig das sich ein reinschnuppern auf jeden Fall
Mal lohnen sollte.
Ich arbeite mit Tina und Megas seit ca. 13 Jahren und bin mit diesen
auch immer noch sehr zufrieden, für die Aufgaben die sie zu erledigen
haben reichen sie bei mir alle Mal.
Ich hab mich da auch schon mal umgeschaut und den STM32F103 oder den
STM32F4 in die engere Wahl geschlossen. Zu welchen der beiden würdet ihr
mir den Raten? Ich programmiere in C über das Atmel Studio, unter
Windows, für die STM32 würde ich dann zu der von STM frei zur Verfügung
gestellten IDE greifen.
Da lese ich jedoch unterschiedliche Aussagen: gibt es dort eine
Code-size-limitation? Ist der Debugger in der freien Version verfügbar?
Wie schaut es mit dieser "komischen" Header Geschichte aus oder ist das
nur bei TI ein Thema?!
Vielen Danke für eure Hilfe :-)
DraconiX schrieb:> für die STM32 würde ich dann zu der von STM frei zur Verfügung> gestellten IDE greifen.
Die enthält keinen C-Compiler, nur einen Assembler. Es gibt allerdings
diverse C-Compiler von Fremdfirmen, die integriert werden können. Der
gcc gehört leider nicht dazu. (Cosmic, Raissonance, IAR, ...) Diese
haben jeweils unterschiedliche Einschränkungen.
Ansonsten gibt es zig andere IDEs, ich nehme jetzt EmBitz, vorher
Cocoox. Das ist aber persönliche Vorliebe, jeder hat da seinen Liebling.
DraconiX schrieb:> Wie schaut es mit dieser "komischen" Header Geschichte aus
Was meinst Du damit?
DraconiX schrieb:> Ich hab mich da auch schon mal umgeschaut und den STM32F103 oder den> STM32F4 in die engere Wahl geschlossen. Zu welchen der beiden würdet ihr> mir den Raten?
Ich nutze den STM32F030F4P6 (TSSOP20), schön überschaubar und trotzdem
schon mit vielen Googies ausgestattet. (RTC, (Encoder-)Timer, PWM-Timer,
i2c, spi, uart, ...) Läßt sich wunderbar auf eine Adapterplatine löten
und dann mit allem "mißhandeln". Programmiert wird über einen ST-Link
V2-Clone.
Vom STM32F103 liest man öfter, dass er etwas zickig sein soll. Keine
Ahnung, ob das stimmt.
STM32F4 ist schon ein ziemliches Geschoss.
STM-8-C-Anfänger schrieb:> DraconiX schrieb:>> für die STM32 würde ich dann zu der von STM frei zur Verfügung>> gestellten IDE greifen.>> Die enthält keinen C-Compiler, nur einen Assembler.> [...]> Es gibt allerdings> diverse C-Compiler von Fremdfirmen, die integriert werden können. Der> gcc gehört leider nicht dazu.
Soso.
Bei ST auf der Webseite steht aber was anderes:
1
Key Features
2
3
Comprehensive support for STM32 microcontrollers, STM32 Nucleo boards,
4
Discovery kits and Evaluation boards, as well as STM32 firmware
> Die enthält keinen C-Compiler
STM empfiehlt SW4STM32, das ist Eclipse mit gcc und den nötigen
Hilfsmitteln. CubeMX unterstützt dieses Programm. Dass der gcc gut ist,
wissen wir sicher alle.
Was die ersten Schritte angeht, bin ich Dir gerade ein paar Tage voraus,
so dass meine Notizen eventuell für dich hilfreich sind:
http://stefanfrings.de/stm32/index.html
Ich würde mit der F1 Seriel anfangen, denn deren Funktionumfang beginnt
ungefähr dort, wo die größten AVR's aufhören.
STM-8-C-Anfänger schrieb:> Vom STM32F103 liest man öfter, dass er etwas zickig sein soll. Keine> Ahnung, ob das stimmt.
Nein, stimmt nicht. Dieser µC ist recht gutmütig. Aber er ist auch einer
der älteren Typen, wo einige Dinge noch nicht so schön sind wie bei
neueren Typen.
Dazu zählt vor allem die Art der Pinzuordnung. Man hat in den
Setup-Registern für die Pins (GPIOx_CRL + _CRH) nur 4 Bit pro Pin, womit
man festlegen kann, ob das Pin sein soll: Analogeingang, Digitaleingang,
GPIO oder Alternativfunktionen sowie Ausgangsstärke (symbolisch) 2, 10,
50 MHz und ob OpenDrain oder TotemPole.
Für die Auswahl der Alternativ-Ausgangs-Funktionen oder besser gesagt
deren Verlegung auf bestimmte Pins und Pingruppen dienen die
AFIO-Register. Obendrein gilt, daß Alternativ-Eingänge wie gewöhnliche
GPIO-Eingänge eingestellt werden, da braucht es kein Fummeln in den AFIO
Registern. Eine Falle gibt es bei einigen Pins: deren
Default-Einstellung ist eben nicht GPIO, sondern Debug-I/O - aber das
ist einsehbar.
Also: die F103 sind durchaus gut verwendbar und machen keine Probleme,
sobald man die Pinzuordnung verstanden hat. Dazu kommt, daß die Chips
bei chinesischen Ebay-Händlern sehr beliebt sind und es dort auch
fertige Minimal-Boards gibt. Also passend zum bastlerischen Bedarf.
Meine Empfehlung wäre allerdings nicht der F103, sondern ein Chip aus
der F3xx Reihe, z.B. der STM32F302RBT6. Diese Chips machen es einem
angenehmer, die Pinfunktionen auszuwählen, weil dafür mehr Platz in den
GPIOx_AFRL und ._AFRH zur Verfügung steht. Man kann dort direkt die
Nummer der gewünschten Alternativ-Funktion hineinschreiben.
W.S.
DraconiX schrieb:> Ich hab mich da auch schon mal umgeschaut und den STM32F103 oder den> STM32F4 in die engere Wahl geschlossen. Zu welchen der beiden würdet ihr> mir den Raten?
Kommt darauf an, was du damit machen möchtest ... Ein STM32F1 wird zB
Probleme haben, MP3s per Software zu dekodieren. Dafür gibt es den
STM32F103 schon für 3EUR bei Reichelt.
Ein STM32F4 (zB F407, wie er auf dem Discovery drauf ist) ist teurer hat
aber auch wesentlich mehr Dampf.
Das STM32F4 Discovery kann man eigentlich uneingeschränkt weiter
empfehlen. Vom Auspacken bis zur ersten LED-Blinkschaltung braucht man
da nur ne Stunde in etwa. Debugger ist auch schon auf dem Board
(STLinkV2). Und die Kosten mit ~15EUR sind lächerlich gering.
Es gibt auch kostenlose Toolchains inkl Debugger (zB Eclipse mit
ARM-Eclipse-Plugin, dazu noch OpenOCD zum Debuggen über den STLinkV2 und
die Gnu-Arm-Toolchain zum Kompilieren).
Funktioniert alles Prima :)
Wenn es weniger Dampf benötigt, würden dann auch schon Boards mit dem
STM32F1 wie Maple Mini oder Blue Pill reichen.
Den STLinkV2 gibt es übrigens auch als China-Edition für 2EUR in der
Bucht und man benötigt 2 Pins + Reset für die komplette
Debugger-Funktionalität (und zum Flashen).
Könnt ihr nicht einfach mal einen Artikel zusammenstellen?
"Absolute Beginner STM32"
In dem ihr einfach nur schreibt: Wenn du nicht weisst, was dir liegt,
dann kaufe die Platine, installiere diese IDE und arbeite dieses
Tutorial durch.
> Könnt ihr nicht einfach mal einen Artikel zusammenstellen?> "Absolute Beginner STM32"
Kannst du auch mal lesen, was du kommentierst? Ich habe doch gerade erst
auf so einen Artikel verwiesen.
Abgesehen davon ist das Problem an diesen Anleitungen, dass sie sehr
schnell durch den technischen Fortschritt überholt werden und der Autor
ein paar Jahre später meist keine Lust mehr hat, den Artikel zu
aktualisieren.
Noch einer schrieb:> Könnt ihr nicht einfach mal einen Artikel zusammenstellen?> "Absolute Beginner STM32"
Also was der Stefan da macht kann man wirklich empfehlen.
> Was die ersten Schritte angeht, bin ich Dir gerade ein paar Tage voraus,> so dass meine Notizen eventuell für dich hilfreich sind:> http://stefanfrings.de/stm32/index.html
Hallo Stefan, ich habe ja grade parallel den Beitrag "ARM Cortex als
Anfänger" laufen, finde den Link aber super. Steht zwar noch nicht viel
drin, aber die Erklärungen zur CMSIS und Startupcode waren hilfreich
für mich.
Gruß Oleg
Durch Stefan bin ich ja erst auf den Trichter gekommen :-D Bei ihm sieht
es ja so ähnlich aus in seinem Wertegang wie bei mir, deswegen gerade
das Interesse daran geweckt. :-)
jounp schrieb:> Wenn Du kein Troll wärst, hättest Du einen der Millialrden Threads> zu diesem Thema durchgelesen.>> Du wirst nichts Neues erfahren!
Das lass ich einfach mal halb unkommentiert so stehen, denn der letzte
Beitrag von "Umstieg von AVR auf STM32" ist von 2012... Da ich dann doch
spezielle Fragen, speziell zu den zwei Chips und zur IDE habe ich mich
mal ertreistet einen neuen Thread zu eröffnen ;-)
Zum Thema IDE: man liest halt sehr viel unterschiedliches zu diesem
Thema, wie gesagt angefangen von Code-size-limitation auf 256kb bis hin
zu "keine Debug Funktion". Auf der Webseite von STM steht da halt etwas
anderes. (Ich weiß ja nun nicht ob STM die IDE selbst geschrieben hat
oder ob es ein Drittanbieter ist, ist mir auch egal, Atmel benutzt ja
auch keine selbst geschriebene IDE).
Ich glaube ich werde erstmal einen Blick auf den F103 werfen, mir aber
direkt ein F4 Discovery Board mit bestellen.
Da ich nicht viel "Dampf" für den Anfang brauche und auch erstmal keine
"MP3 dekodieren" will... Werde ich halt erstmal in den F103 blicken...
Ich mag es auch eher erstmal zu "frickeln" und zu probieren, da fühlt
sich der F103 gerade wegen der erhöhten Schwierigkeit besser an.