Forum: Compiler & IDEs AVR32 Studio - Registerzugriff


von Tom (Gast)


Lesenswert?

Hallo Leute,

Ich möchte mich gerne in Atmel uC´s ein wenig einarbeiten (bin 
kompletter Neuling auf Atmel uC´s) und hab mir deshalb mal das AVR32 
Studio runtergeladen - und hab auf Anhieb mal das "Hello World" 
geschafft. Ich muß dazusagen, das ich noch keine Hardware habe, ich will 
"nur" mal das Studio selbst beherrschen.

Wahrscheinlich zerreißt ihr mich in der Luft, aber ich habe eine ganz 
dumme Frage: Wie kann man die Register lesen/beschreiben? Ich wollte mal 
einen Portpin konfigurieren, weiß aber nicht, was ich inkludieren muß, 
um diese anzusprechen. Ich habe avr32/io.h includiert mit dem Glauben, 
das er dann z.b. das DDR Register kennt - dem ist aber nicht so. Habe 
bereits im Netz und hier im Forum gesucht, aber leider nichts gefunden.
Vielleicht könnt ihr mir da ein wenig auf die Sprünge helfen.

Vielen Dank!
Tom

von ... .. (docean) Benutzerseite


Lesenswert?

zu Anfang würde ich das AVRStudio ohne 32  dazu dann noch winavr 
nehmen..

Das ist für die 8Bit AVRs. Die sind für Anfänger gut handzuhaben.

Deine Version ist für den avr32, das dürfte ein paar nummern zu groß 
sein für dich

von Tom (Gast)


Lesenswert?

Na das ging aber schnell :o)

Ich habe mir bewußt das AVR32 Studio geladen, da ich mit einem UC3 
liebäugle... Ich programmiere beruflich uC´s von Freescale, nur leider 
gibts da die IDE´s nur um mörder Kohle. Mir ist embedded nichts neues - 
nur das AVR32 Studio :o)

Wenn du sagst, das die 32 bitter so der Wahnsinn sind, dann werde ich 
wirklich mal mit den "normalen" beginnen, um das ganze mal zu lernen.
Wie gesagt, ich will mich mal mit dem Studio an sich vertraut machen, um 
zu wissen, wie man eine lauffähige Software bekommt.

von Gast (Gast)


Lesenswert?

Häh? DU programmierst beruflich uC´s aber weißt nicht wie man auf 
Register schreibt?? Oder hab ich da jetzt was nicht verstanden? Wie 
machst du das denn bei den Freescales? Alle Register sind wie immer 
Memory mapped, also auf die entsprechende Adresse schreiben und gut ist:

#define REG1   *(volatile int*)(0x1234)

REG1 = 0x01234567;

von Gast (Gast)


Lesenswert?

Oh shit...ich hätte alles lesen sollen...SORRY!

Am besten du vergisst das Header File und machst dir die Definitionen 
selber, die Adressen stehen ja im Manual.

von Tom (Gast)


Lesenswert?

Doch doch, ich weiß schon, wie das geht ;o) Ich bin auch sicherlich ein 
wenig verwöhnt von der IDE von Freescale - da ist bereits alles 
vordefiniert (sogar echt brauchbar).

Beim AVR32 Studio bin ich einfach mal davon ausgegangen, das es genauso 
ist, da jede Menge .h Files dabei sind. Nach langem Studieren dieser 
doch ein wenig verwirrenden Headerstruktur habe ich im Endeffekt 
beschlossen, mir die Definitionen selbst zu machen, so wie ich sie 
brauche - also genau so, wie der Vorposter vorgeschlagen hat.

Allerdings bin ich gestern nacht draugekommen das da vielleicht doch ein 
System dahinter steckt, was vielleicht gar nicht soo blöd ist - nur 
durchschauen muß man es mal :o)

Das sind halt so die Hürden eine Anfängers mit einer neuen IDE ;o)

Danke für eure Antworten!

von tobi (Gast)


Lesenswert?

Auf der Atmel Homepage steht eine Applikation Note, die heißt

AVR32006 : Getting started with GCC for AVR32

Da wird das System erklärt, dass hinter den Definitionen steckt. Das mit 
dem selber definieren würde ich sein lassen. Wenn du da einen Fehler 
machst ... viel Spass beim suchen.

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.