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!!
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
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.
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
Fabian F. schrieb: > womit man den ST-Krempel programmiert Nur eine einzige H-Datei, da ist alles drin definiert.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.