AT91SAM7S Register Adressen Verstaendnisproblem

Gast #278472
Lesenswert?
• ▲
▼
Hallo,

ich habe ein Verstaendnisproblem zum Atmels AT91SAM7S64 Manual.


Genau geht es um die Speicher-gemappten Register, ueber die man IO (und
andere) Kontroller ansteuert.

http://www.atmel.com/dyn/resources/prod_documents/doc6175.pdf

In der Tabele 28-2, Seite 234 sind die Adressen dieser Register als
OFFSETS angegeben. Ich verstehe aber nicht auf welche absolute Adresse
sich diese Versetzungen beziehen.

Da die anderen Registeradressen in diesem Manual auch als Offsets
angegeben sind, glaube ich, dass ich etwas Grundlegendes nicht
verstehe.

Vielen dank fuer jede Hilfe.

Gruss,

Roman
Gast #278473
Lesenswert?
• ▲
▼
Schau mal irgendwo bei Systemcontroller->Mapping nach. Da stehen die
Basisadressen, zu denen man dann die Offsets addieren muß. Kleiner
Tipp: mach dich mit den Headerdateien vertraut. Die sind nichtmal so
schlecht, allerdings leicht gewöhnungsbedürftig.
Gast #278474
Lesenswert?
• ▲
▼
Vielen Dank Frank, Ich habe Systemcontroller->Mapping gefunden. War
genau das, was ich suchte.

Weiter habe ich mich mit MemoryMap Datei (CrossStudio) vertraut
gemacht. Da sind alle memory-mapped Register gelisted (mit Adressen).

Can man diese Liste so wie bei AVRStudio ".include atxxx.inc"
benutzen?

Ich habe folgendes vesucht zu bauen:

ldr  r1, =PIOA_PUSR


Ich bekomme: "undefined reference PIOA_PUSR", obwohl dieser Register
in der MemoryMap Datei definiert ist.
Gast #278475
Lesenswert?
• ▲
▼
Urg, damit hab ich jetzt nicht gerechnet, dass Du in asm machst. Ich hab
nur ein Wenig Erfahrung mit gnuarm, genauer gesagt, c. Kannst Dir ja mal
den Assembler-Startupcode von WinARM anschauen, vielleicht hilft Dir
das.
Gast #278476
Lesenswert?
• ▲
▼
Hallo,

ich habe es bei Rowley angefragt. Es geht zum Beispiel so:

  #include <targets/AT91SAM7S64.h>

  ldr r1, =PIOA_BASE
  str r0, [r1, #PIOA_PUSR_OFFSET]

Kann mir jemand sagen warum in Header-Dateien die Bitmasken am Ende ein
"U" haben?

Beispiel: AIC_SMR21_PRIOR_MASK 0x7U

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.