C Programmierung STM32

Gast #3943765
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?
Gast #3943787
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
Gast #3943804
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!
#3943833
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.
(Firma: CIA) #3943835
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.
#3943841
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 :)
Gast #3943852
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!
Gast #3943892
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.
Gast #3943961
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 :)
Gast #3943962
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.
Gast #3944008
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.
#3944014
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.
Gast #3944057
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. ;-)))

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren