Forum: Mikrocontroller und Digitale Elektronik ARM Controller "richtig" programmieren


von Alex (Gast)


Lesenswert?

Ich besitze das STM32F429-Discovery Board um mich vom AVR (ATmega32,..) 
in Richtung ARM weiterzuentwickeln.

http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090

Bis jetzt habe ich mich nur an diese (tolle) Seite gehalten:

http://mikrocontroller.bplaced.net/wordpress/?page_id=2736

"Mustser-Projekt" geöffnet -> nötige Libraries hinzugefügt -> 
"programmiert"

Das ganze erinnert mich aber eher an Arduino, da ich kein einziges 
Register mal selbst direkt anspreche wie ich es vom AVR kenne (DDRA 
|=(1<<PA);).

Nun habe ich mal einige kleine Sachen so programmiert und es sind Fragen 
aufgetaugt wie:
"Was wenn ich nicht die 3V Referenzspannung für den ADC aus der Library 
verwenden will",.. usw.

Also nach Datenblatt gesucht und bin auf das gestoßen:
http://www.st.com/web/en/resource/technical/document/datasheet/DM00071990.pdf

Daraus erkenne ich aber leider überhaupt nicht wie ich was direkt 
Anspreche..
Beim AVR steht ja:
z.B ADC + die nötigen Register + Beispielcodes
In diesem Datenblatt nur Tabellen..

Anscheinden werden ARM immer mit Librarys programmiert die ich mir in 
meiner IDE auswählen kann oder?

Laut Internet unterstützt CooCox das Board noch nicht, da ich diesen 
Vorgang nicht ausprobieren kann.


Also wie geht man "richtig" vor ???
Sind solche Librarys vom obigen Link "normal" oder ist das doch zu 
"zusammenkopiert"..?

Mir ist klar dass man den Controller ganz hardwarenah und auch etwas 
komfortabler Programmiern kann.

Aber wie wird "professionell" in einer Firma oder auch von einem fähigen 
Bastler vorgegangen?


Vielen Dank!!

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ich nutze schon seit Jahren Eclipse und GCC mit make Tools. Die 
Installation ist nicht so einfach, aber ich bin damit zufrieden (damals 
gab es noch kein gutes Coocox).

Anschließend binde ich die Header-Datei stm32f4xx.h mit ein und ich habe 
dann alle Register verfügbar.

Wie das aus sieht, hier ein Beispiel mit dem STM32F4DISCOVERY Board:
STM32 CooCox Installation
Hier wird mit direktem Registerzugriff LED's zum Blinken gebracht.

: Bearbeitet durch User
von greg (Gast)


Lesenswert?

Alex schrieb:
> Anscheinden werden ARM immer mit Librarys programmiert die ich mir in
> meiner IDE auswählen kann oder?

Nein, nicht unbedingt. Nur ist es in der ARM-Welt so, dass die 
Hersteller häufig Libraries zur Verfügung stellen, um die Peripherie 
einfach nutzbar zu machen.

Du kannst aber auch direkt Register ansprechen, wie du es vom AVR 
kennst. Hol dir dafür das "Reference Manual" für die entsprechende 
Familie an MCUs. Atmels Art, alles in ein großes PDF zu knallen, ist 
eigentlich ungewöhnlich und unüblich. Das macht sonst keiner so.

von Fabian F. (fabian_f55)


Lesenswert?

Ich hab an einem Projekt mit einem ARM ATSAM4C32E_1 gebastelt. Ich hab 
den Prozessor im Atmel-Studio ausgewählt und ein Projekt angelegt. Der 
hat mir dann gleich rund 100 header-Dateien voll mit Definitionen für 
Register eingebunden.

Ich weiß nicht womit man den ST-Krempel programmiert, aber da gibt es 
vielleicht was vergleichbares. in den Headern findet man die Register 
meist schneller als im PDf

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Fabian F. schrieb:
> womit man den ST-Krempel programmiert

Nur eine einzige H-Datei, da ist alles drin definiert.

von Kaj (Gast)


Angehängte Dateien:

Lesenswert?

Alex schrieb:
> Also nach Datenblatt gesucht und bin auf das gestoßen:
> http://www.st.com/web/en/resource/technical/document/datasheet/DM00071990.pdf
Du musst nach dem "Reference Manual" suchen, da steht alles drin, 
register adressen usw.
Ich pack mal ein STM32 ref. manual mit ran
1
This reference manual targets application developers. It provides complete information on 
2
how to use the STM32F405xx/07xx, STM32F415xx/17xx, STM32F42xxx and 
3
STM32F43xxx microcontroller memory and peripherals.

Ich denke, da findest du, was du suchst,... außer beispiel code, den 
gibt es wie bei den AVR im Datenblatt leider nicht :-(

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.