Forum: Mikrocontroller und Digitale Elektronik C Programmierung STM32


von Simon K. (Gast)


Lesenswert?

Hallo,

immer wieder lese ich, es macht teilweise nicht mehr unbedingt Sinn, auf 
AVRs setzen. Habe aber bislang ausschließlich seit ca 2Jahren mit AVRs 
im Hobbybereich gearbeitet. Nun wollte ich mal die andere Seite sehen, 
aber naja, irgendwie weiß ich überhaupt nicht, wo ich anfangen soll. 
Bislang kenne ich nur avr-gcc.

Damit kam ich weitesgehend ganz gut klar, dank an das Tutorial. Aber bei 
dem ARMs sehe ich nun den Wald vor lauter Bäumen nicht mehr.

Ich habe mir für den Start dieses Teil besorgt.
http://www.ebay.de/itm/STM32F0-DISCOVERY-USB-STM32F051R8T6-STM32-ARM-Cortex-M0-Development-Board-/161288388361?pt=Mess_Pr%C3%BCftechnik&hash=item258d897f09

Nun ging es daran, die Software auszusuchen. Bin nun bei der CooCoxIDE 
(1.7.7) gelandet. Mit der V2 kam ich nicht klar, da auch die Tutorials 
weitesgehend auf die 1er ausgelegt waren und gerade für die Erstellung 
eines neuen Projektes sich doch sehr stark geändert hat.

Geschmacklich bin ich noch nicht so überzeugt, wird aber vielleicht noch 
kommen. Fand das Atmel Studio aber doch deutlich besser. (Bevorzuge 
Visual Studio vor Eclipse).

Die ganzen Initilaisierungen der Ports sind in meinen Augen grundlegend 
verschieden.

Gibt es irgendwo ein gutes Tutorial, was man ab arbeiten kann, bei dem 
man mal Grundlegend die neue Technik bzgl. Taster einlesen oder Led 
setzen lernt?

von Dario B. (Gast)


Lesenswert?


von Thorsten H. (lordvader91)


Lesenswert?

Schau mal, ob das was für dich ist:
http://www.diller-technologies.de/stm32.html

von Staun (Gast)


Lesenswert?

Simon K. schrieb:
> irgendwie weiß ich überhaupt nicht, wo ich anfangen soll.

Wie hast du das mit dem AVR gemacht? Nächtliche Eingebung? ;-)


Simon K. schrieb:
> Gibt es irgendwo ein gutes Tutorial, was man ab arbeiten kann

Äh, öh, hier auf den Seiten schon gelesen?

http://www.mikrocontroller.net/articles/ARM#Weblinks
http://www.mikrocontroller.net/articles/ARM#Artikel_aus_der_Kategorie_ARM
http://www.mikrocontroller.net/articles/STM32
http://www.mikrocontroller.net/articles/STM32_-_Einstieg_mit_Em::Blocks
und, und, und
http://diller-technologies.de/stm32.html

von Stephan K. (nightowl)


Lesenswert?

Schau dir mal EM::Blocks als IDE an

http://www.emblocks.org/web/

fand ich übersichtlicher als die Eclipsen

von PCfreak (Gast)


Lesenswert?

Hi,

also im Unterschied zum AVR solltest Du dringlichst die vorgegebenen 
Initialisierungsroutinen benutzen um die Clocks etc. einzustellen.

Im Gegensatz zum AVR wird das NICHT per Fuses geregelt, sondern durch 
die Software zur Laufzeit.

Nach dem Reset erhält die MPU erstmal den Takt vom internen 
RC-Oszillator.

Alle weitere Peripherie muss explizit aktiviert werden.

Ansonsten kannst Du die Hardware entweder über die CMSIS 
Peripherie-Library programmieren (mit Strukturen und Funktionen) oder 
unter Zuhilfenahme der Definitionen im CMSIS direkt auf die 
Hardwareregister zugreifen, was dann identisch zum AVR ist.

Es gibt keine spezielle Trennung der Behandlung von Daten und Code (zum 
Glück!). D.h. Du kannst in einem C-Programm einfach konstante Daten im 
Flash ablegen und per normalem C-Code darauf zugreifen.

Viel Spass!

von Markus M. (adrock)


Lesenswert?

Mit der CooIDE 2beta komme ich auch nicht klar.

Du kannst Dir auch mal em::Blocks anschauen, das ist etwas kompakter und 
auch etwas fixer (meiner Meinung nach).

Basiert ebenfalls auf der GCC Toolchain.

Auf dem Discovery Board hast Du zum einen den ST-Link/V2, also die 
Debugging und Programmier-Schnittstelle, und auch eine zweite MPU für 
Deine Applikationen. Im Auslieferungszustand sind beide verbunden, Du 
kannst aber die Verbindung auftrennen und dann den ST-Link mit Deinen 
eigenen Boards verbinden.

Du kannst den ST-Link direkt mit den ST-Link Tool ansprechen (und auf 
die aktuelle Version updaten).

CoIDE oder em::Blocks bringen dazu eigene Tools mit die den ST-Link/V2 
ansprechen können, bzw. integrieren diese mit dem GDB.

von Thomas H. (Firma: CIA) (apostel13)


Lesenswert?

Simon K. schrieb:
> immer wieder lese ich, es macht teilweise nicht mehr unbedingt Sinn, auf
> AVRs setzen.

Verstehe...

Dafür:

>...... die neue Technik bzgl. Taster einlesen oder Led
>setzen lernt?

sind sie sicher zu unterdimensioniert.

By the way... von Atmel gibts nicht nur Tiny's und Mega's, sondern auch 
Xmega's und 32Bit Prozessoren sowie ARM Architekturen. Die sind genau so 
schön verwirrend was die Peripherie anbetrifft und für Erwachsene Jungs. 
Und dass allerbeste ist, man kann das AVR Studio weiter benutzen.

von Markus M. (adrock)


Lesenswert?

Ja, das stimmt natürlich. Das ist letztendlich eine Frage des eigenen 
Gustos, welchem Hersteller man den Vorzug gibt.

Daher kann es sinnvoll sein, sich zunächst die verfügbaren Controller 
der Hersteller (NXP, ST, Atmel, ...) und auch die Doku anzusehen.

Der XMega ist nett, hat aber leider viele Limitationen aufgrund der 
8/16-Bit Herkunft. Das würde ich mir nicht mehr antun wollen. Ist aber 
OT :)

von Staun (Gast)


Lesenswert?

Thomas Holmes schrieb:
> von Atmel gibts

... kein kleines günstiges Evalboard mit Debugger gleich drauf, wie bei 
den anderen.

Thomas Holmes schrieb:
> man kann das AVR Studio weiter benutzen

Das bezweifel ich, du benötigst mind. das Atmel Studio. ;-)
Hast du überhaupt schon einmal einen ARM programmiert?


STM32 oder LPC sind ein guter Anfang. Tutorials wurden verlinkt, auf 
geht 's!

von Simon K. (Gast)


Lesenswert?

Werde mal die Tage den AT91SAM3X8E (Due) und ATSAMD21G18 (Zero) 
rumliegen, die ich aber lediglich für Testzwecke ein paar mal mit der 
Arduino Software getestet habe. Boards währen beide zu groß und der Due 
einfach Oversized für meine Projekte. Oben wurde etwas geschrieben bzgl. 
Led und Taster, dass die STM schon zu groß sind. So war das nicht 
gemeint. Mir geht es darum, langsam einzuarbeiten.

Atmel scheint inzwischen ja auch ein paar günstigere MCUs rausgebracht 
zu haben ~2€. CodeBlocks ist auch nicht das Wahre womit ich mich 
anfreunden kann derzeit. Bin halt doch sehr auf das Atmel Studio bislang 
fixiert gewesen, auch wenn es nur Windows support hat.

von Bernd K. (prof7bit)


Lesenswert?

Simon K. schrieb:
> immer wieder lese ich, es macht teilweise nicht mehr unbedingt Sinn, auf
> AVRs setzen.

Solange man das was man mit den AVRs macht oder zu machen gedenkt 
problemlos mit selbigen umsetzen kann gibt es nichts was solcherlei Tun 
aus heiterem Himmel plötzlich die Sinnhaftigkeit rauben könnte.

von Moby (Gast)


Lesenswert?

Markus M. schrieb:
> Der XMega ist nett, hat aber leider viele Limitationen aufgrund der
> 8/16-Bit Herkunft. Das würde ich mir nicht mehr antun wollen. Ist aber
> OT :)

Der STM32 ist nett, hat aber leider sehr viele komplexe 
Konfigurationsmöglichkeiten aufgrund der 32-Bit Herkunft. Das würde ich 
mir für die allermeisten Steuerungsprojekte nicht antun wollen. Ist aber 
OT :)

von holger (Gast)


Lesenswert?

>Solange man das was man mit den AVRs macht oder zu machen gedenkt
>problemlos mit selbigen umsetzen kann gibt es nichts was solcherlei Tun
>aus heiterem Himmel plötzlich die Sinnhaftigkeit rauben könnte.

Wahr schon klar das dieses sinnlose Geschwafel hier wieder auftaucht.

von Moby (Gast)


Lesenswert?

holger schrieb:
> sinnlose Geschwafel

Tja Holger, besser dieses "sinnlose Geschwafel" im Vorfeld als ggf. viel 
sinnlos verpulverte Zeit, Geld und Nerven für die ARM-Umsetzung von 
Projekten, die auch ein einfacher AVR nebenbei erledigt. ;-)

von holger (Gast)


Lesenswert?

Und der Moby mischt sich auch schon wieder da ein
wo er nichts zu suchen, geschweige denn was
sinnvolles zum Thema zu sagen hat.

von Simon K. (Gast)


Lesenswert?

nana...

Es geht hier nicht um den Glaubenkrieg AVR vs PIC vs ARM vs .....

Habe mit den meisten AVR Familien bereits gearbeitet, AttinyX5, X4, 
AttinyX41, Attiny2313, mega1284p, mega2560, mega328, ....

Die sind in ihrem Bereich für mich Spitze. Doch möchte ich auch mal die 
andere Seite vom Teich (ARM) sehen und zumindest die Grundlegenden 
Basics verstehen um auf Dauer die für mich bessere Hobbylösung 
herauszufinden.

von Falk B. (falk)


Lesenswert?

@ Simon K. (Gast)

>andere Seite vom Teich (ARM) sehen und zumindest die Grundlegenden
>Basics verstehen um auf Dauer die für mich bessere Hobbylösung
>herauszufinden.

Das ist die, die dir Spaß macht. Egal ob man mit Kanonen auf Spatzen 
schießt oder nicht.

von Trolljäger (Gast)


Lesenswert?

holger schrieb:
> Und der Moby mischt sich auch schon wieder da ein
> wo er nichts zu suchen, geschweige denn was
> sinnvolles zum Thema zu sagen hat.

Das hat der Mobby nie. Weder hier noch hat man ihn je in einem AVR 
Thread mit Hilfreichem lesen können. Er ist einfach ein frustrierter 
Dummschwätzer. Frustriert, weil die Gemeinde weiter zieht und er ...

Jedes Forum hat seinen Troll. Wir haben unseren Mobby. Wer ihn ernst 
nimmt ist selber schuld. ;-)))

von Trolljäger (Gast)


Lesenswert?

Moby schrieb:
> hat aber leider sehr viele komplexe
> Konfigurationsmöglichkeiten aufgrund der 32-Bit Herkunft

??? Muss man nicht verstehen, oder?

Vor lauter Angst schalte ich jetzt meinen 64 Bit PC sofort aus. Ist 
einfach viel zu komplex. ;-)))

von Moby (Gast)


Lesenswert?

Falk Brunner schrieb:
> Das ist die, die dir Spaß macht.

Der schaut dann genau so aus:

Simon K. schrieb:
> Aber bei
> den ARMs sehe ich nun den Wald vor lauter Bäumen nicht mehr.

;-)

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.