ARM Controller "richtig" programmieren

Gast #3892490
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!!
(Firma: EleLa - www.elela.de) #3892523
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.
Gast #3892532
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.
#3892557
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
Gast #3892601
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 :-(
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.