Forum: Compiler & IDEs Umstieg auf Atmel ARM ?


von Steve (Gast)


Lesenswert?

Hallo zusammen,

ich habe mich mittlerweile recht gut in die Atmel AVRs eingearbeitet und 
einige kleine bis mittlere Projekte damit realisiert. Nun möchte ich 
mich mit den ARM Prozessoren, speziell mit dem AT91SAM7X256, näher 
beschäftigen. Dazu habe ich mir das Evolutionboard aus dem Shop hier 
(welches noch nicht lieferbar ist) ausgesucht, und auch schon mal ein 
bischen nach Quellcodebeispielen gesucht, kann aber dabei nicht so recht 
"den Anfang" in der für mich unübersichtlichen Fülle (Stichwort 
Hallo-Welt) finden. Gibt es vielleicht dazu so eine Art Tutorial, 
ähnlich dem ASM AVR Tutorial, mit dessen Hilfe man die ersten Schritte 
hinbekommt ?

Gruß
S

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Man kann auch bei ARM-Controllern mit Assembler anfangen. Sicher lernt 
man dabei viel aber es ist recht mühsam. LED-an/aus mit Warteschleife 
hat man schnell auch in Assembler gebastelt aber alles weitere ist in 
Assembler doch beschwerlich. C ist die Sprache der Wahl und am Besten 
erstmal mit vorgefertigten "Programmskeletten" arbeiten. Später kann man 
sich immer noch in die Feinheiten wie der Intialisierung der Stacks, des 
Linkens, Startup-Codes und Interrupt-Handling einarbeiten. Die 
Archtitektur ist schon deutlich komplexer als bei 8-bit AVR. Ein "Hello 
World" der Mikrocontollerprogrammierung in Form eine LED-Blinkers in C 
findet sich für viele ARM Controller in den Beispielsammlungen 
kommerzieller Entwicklungsumgebungen (z.B. IAR EWARM, Keil MDKARM, 
Rowley Crossworks for ARM). Von Atmel gibt es inzwischen 
Application-Notes zur Einführung mit Eclipse und GNU-Toolchain (gcc, 
genutzt wird das Yagarto-Packet) für verschiedene SAM7. Vgl. 
atmel.com->products->AT91->application-notes.  Auch Jim Lynch's Tutorial 
für SAM7 ist brauchbar (ebenfalls von atmel.com). Da SAM7X mehr oder 
weniger "erweiterte" SAM7S sind, helfen vielleicht auch meine Beispiele 
etwas weiter: 
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/index_at91.html

von Steve (Gast)


Lesenswert?

Hallo Martin!

Danke für die Tips!
Ich wollte auf den ARMs natürlich nicht mit Assembler angefangen, ich 
meinte eher der "Stil" des AVR ASM Tutorials. Assembler habe ich nicht 
mal mit den AVRs benutzt. Ich habe zunächst das PDF, welches in dem 
ZIP-File unter den Atmel-Application Notes  von Atmel zu finden ist 
durchgelesen. Darin geht es hauptsächlich um das einrichten von Eclipse 
mit GCC. Das hat leider nicht hingehauen; Klickt man auf Project->Build 
Project passiert: Nichts :-(
Also habe ich mal nach altbewährter Manier wie beim avr-gcc über 
Programmers Notepad II das makefile aufgerufen, und siehe da, alles 
dufte: Ich konnte ein Beispielprojekt von Dir (at91sam7_uart_simple_) 
compilieren, .hex wurde erzeugt. Erschreckend finde ich als ARM Anfänger 
den ganzen "Overhead", um den Prozessor zu initialisieren etc.. Nun gut, 
ein ARM ist halt mal komplexer als ein AVR.
Ebenfalls die Sache mit FreeRTOS habe ich noch nicht so ganz überblickt. 
Ich habe schon viel mit RTOS auf einem Beck IPC SC12 gebastelt. Der 
große Vorteil bei diesem ist dass bereits ein Filesystem und 
Netzwerkfunktionen (open_socket etc.) darin implementiert sind. Wenn ich 
das richtig verstanden habe ist das wohl bei FreeRTOS für den ARM nicht 
so. Was bringt mir dann das FreeRTOS, abgesehen von der Möglichkeit 
mehrer Tasks laufen zu lassen ?

Nun gut, nun möchte ich mal etwas in die Praxis gehen. Ich möchte mir 
aus dem Shop hier das 7x256 Board und den USB JTAG Programmer holen 
(Andreas, wann werden die beiden Sachen lieferbar sein ?). Welches Tool 
muss ich verwenden um die Applikation in das Board zu kriegen ?

Fragen über Fragen, aber aller Anfang (und Umstieg) ist schwer...

Gruß
Stefan

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.