Forum: Mikrocontroller und Digitale Elektronik Umstieg AVR 8Bit auf STM32


von DraconiX (Gast)


Lesenswert?

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 :-)

von jounp (Gast)


Lesenswert?

Wenn Du kein Troll wärst, hättest Du einen der Millialrden Threads
zu diesem Thema durchgelesen.

Du wirst nichts Neues erfahren!

von STM-8-C-Anfänger (Gast)


Lesenswert?

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?

von STM-8-C-Anfänger (Gast)


Lesenswert?

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.

von STM-8-C-Anfänger (Gast)


Lesenswert?


von Bernd K. (prof7bit)


Lesenswert?

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 
5
  (Standard Peripheral library or STM32Cube HAL)
6
GCC C/C++ compiler
7
GDB-based debugger
8
Eclipse IDE with team-work management
9
Compatible with Eclipse plug-ins
10
ST-LINK support
11
No code size limit
12
Multiple OS support: Windows® , Linux and OS X®

: Bearbeitet durch User
von STM-8-C-Anfänger (Gast)


Lesenswert?


von Stefan F. (Gast)


Lesenswert?

> 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.

von W.S. (Gast)


Lesenswert?

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.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

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).

: Bearbeitet durch User
von Noch einer (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

> 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.

von STM-8-C-Anfänger (Gast)


Lesenswert?

Noch einer schrieb:
> Könnt ihr nicht einfach mal einen Artikel zusammenstellen?
> "Absolute Beginner STM32"

Gibt es doch:
https://www.mikrocontroller.net/articles/STM32_f%C3%BCr_Einsteiger

von Stefan F. (Gast)


Lesenswert?

WIe wäre es mit dieser Anleitung? : 
http://embedded-lab.com/blog/stm32-tutorials/

von STM Apprentice (Gast)


Lesenswert?

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.

von oleg (Gast)


Lesenswert?

> 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

von DraconiX (Gast)


Lesenswert?

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.

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
Noch kein Account? Hier anmelden.