PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Informationen für Einstieg GCC, AT91SAM7S256



ACU
27.02.2007, 15:22
Hallo!
Ich habe hier von OLIMEX ein Board.
Das Board verwendet einen AT91SAM7S256 ARM von Atmel.
Das Board findet man bei shop.mikrocontroller.net unter "ARM".

Ich habe schon Erfahrung mit WinAVR gemacht und bin in C Programmierung eigentlich ganz fit.
Yagarto habe ich schon eingerichtet und auch so konfiguriert, dass ich ein Programm compilieren kann. Die Hex File kann ich mit SAM-BA auch auf den ARM überspielen und sie wird dort ausgeführt.
Allerdings ist mir das Beispielprogramm ziemlich unübersichtlich und ich verstehe irgendwie (noch) nicht, wie man einzelne Ports setzen kann.
Bzw. wie man sie erstmal so umschaltet, dass sie als Ausgang benutzt werden können.
Kennt jemand ein Tutorial?
Alles, was ich bisher so in richtig Einstiegshilfe gefunden habe, war leider für die Philips ARMs, dass hilft mir nicht weiter.


MfG Marcus

D'oh
28.02.2007, 17:04
Hallo

Ich habe jetzt in den letzten 6 Monaten während meinem Praxissemester den AT91SAM7S64 programmiert. Ist ja der gleiche wie deiner nur mit weniger Speicher.
So richtige Tutorials gibts leider keine wo als Einstiegshilfe dienen könnten. Zumindest hab ich auch keine gefunden. Am Anfang solltest du mal bei http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ vorbeischauen. Helfen kann auch http://at91.com.

Zu den Ausgängen setzen:

1. Clock vom PIO einschalten (ist wahrscheinlich im Projekt schon)
AT91C_PMC_PCER = 1<<AT91C_ID_PIOA;

3. Die Pins wo du verwenden willst einschalten
AT91C_PIOA_PER = (1<<Pin1) | (1<<Pin2) | ...;

2. Pins als Output setzen
AT91C_PIOA_OER = (1<<Pin1) | ....;

Den Ausgang High und Low schalten geht über die beiden Register
AT91C_PIOA_SODR = (1<<Pin); // setzen
AT91C_PIOA_CODR = (1<<Pin); // löschen

So ein Pin-Toggeln wie bei den AVRS gibt es nicht. Hier wird fürs setzen und löschen jeweils ein Register verwendet. Abfragen kannst du die Eingänge über das Pin Data Status Register "AT91C_PIOA_PDSR".

Natürlich kannst du auf die Register auch über structs zugreifen. Ich weiß jetzt nicht welche Header Datei du verwendest.

Gruß D'oh

Vitis
28.02.2007, 21:43
hi ,ich hab hier sa SAM7X256 und ebenfalls den SAM7S256
rumfliegen und komm mit denen auch nicht so recht klar.
Was mich im besonderen bei den Atmels anstinkt, dass die
Demos als Eierlegendewollmilchsauen angelegt sind und für
diverse Boards und Bausteine ausgelegt sind, das man da fast
nicht durchblickt wenn doch nur ne LED geschaltet werden soll.
Bei den Philips hab ich schon einige deutlich einleuchtendere
Demos gesehen.

Wisst Ihr zufällig n SAM7X ähnlichen Philips ARM?

ACU
28.02.2007, 23:24
Danke erstmal für die Antworten.
Ich werde mich mal einarbeiten.
Wenn ich dabei erfolgreich bin (was ich hoffe), werde ich mal ein Tutorial in Angriff nehmen, da hier anscheinend ein Mangel vorliegt ;).

Hätte ich echt nicht für Möglich gehalten, dass man so wenig deutschsprachige Informationen im Netz zu den Atmel ARMs findet, wo mikrocontroller.net die OLIMEX Boards doch verkauft...


MfG ACU