Forum: Mikrocontroller und Digitale Elektronik Mysteriöse Adressblegung


von hans (Gast)


Lesenswert?

Bei meinem ARM9 Samsung S3C2410 erfolgt die Vergabe der Startadresse des
Framebuffers mit Hilfe des LCDSADR1 Registers:

LCDBANK  [29:21]
These bits indicate A[30:22] of the bank location for the video buffer
in
the system memory. LCDBANK value cannot be changed even when
moving the view port. LCD frame buffer should be within aligned 4MB
region, which ensures that LCDBANK value will not be changed when
moving the view port. So, care should be taken to use the malloc()
function.

LCDBASEU  [20:0]
These bits indicate A[21:1] of the start address of the LCD frame
buffer.

Nun Frage ich mich wirklich wie Samsung in Ihrem unten angegeben 
Beispiel auf den Wert fuer LCDBANK und LCDBASEU kommt.
Wieso um 22 nach rechts bzw 1 shiften? Und woher kommt poetzlich der 
mysteriöse Wert 0x100000 ??



Example 1.
           Frame start address = 0x0c500000

           LCDBANK = 0x0c500000 >> 22 = 0x31
           LCDBASEU = 0x100000 >> 1 = 0x80000

Hier das Datasheet:
http://elinux.org/wiki/upload/7/77/Um_s3c2410.pdf
Besten Dank fuer jede Hilfe.

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.