ARM Speicherbelegung

Gast #1001477
Hallo und einen guten Tag zusammen,

in einem Datenblatt eines ARM MIkrocontrollers steht folgendes 
geschrieben.
(S.34)

http://www.analog.com/en/analog-microcontrollers/ADUC7021/products/product.html#quicklinks

"The total 64 kB of Flash/EE memory is organized as 32 k × 16 bits"

Das beudeutet meiner Meinung nach, dass ich maximal mit 0x8000 also mit 
einem 32k ADressbereich auskomme. An jeder Adresse ist ja demnach 16 
bit, also 2 Byte hinterlegt.

Warum steht dann auf der gleichen Seite (Abb. 34), dass dieser 
Speicherbereich von 0x00080000 bis 0x0008FFFF geht ? Dies würde ja einem 
Adressbereich von 64k entsprechen. Dann dürfte aber dort nur an jeder 
Adresse 8 bit (1Byte) hinterlegt werden ?
Wieso gibt es dort einen Widerspruch ?

Vielen Dank für die Aufklärung

Mfg hans
ARM adressiert Bytes.

Mit dem Satz ist die interne Organisation vom Flash-ROM gemeint, d.h. 
pro Zugriff liefert das Flash-ROM 16 Bits. Für in 32 Bits codierten 
nativen ARM Code sind also 2 Zugriffe erforderlich. Mit der Adressierung 
hat das aber nichts zu tun.
Gast
mhhh.. ich glaube ich meine etwas anderes !

nach Abbildung 34 wäre die Speicherplatzbreite nur 8bit.
(wegen 64k Adresseen von 0x00080000 bis 0x0008FFFF)

Nach dem Text rechts mit der Überschrift FLASH/EE MEMORY, ist der 
Speicher ja irgendwie anders organisiert...

"The total 64 kB of Flash/EE memory is organized as 32 k × 16 bits"

besitzt ja anscheinend eine Breite von 16 bit ????

Wie kann das sein ?

VIelen Dank für die HIlfe

mfg hans
Habe die Doku nicht parat, kenne aber ARM. Und der adressiert Bytes, 
also bei little endian:

0x00080000 1. Byte, untere Hälfte von 1. 16bit Halbwort
0x00080001 2. Byte,  obere Hälfte von 1. 16bit Halbwort
0x00080002 3. Byte, untere Hälfte von 2. 16bit Halbwort

Und dies ist völlig unabhängig davon, ob das Flash-Array pro Zugriff 16 
Bits liefert (ADuC7000) oder 32 Bits (AT91) oder 128 Bits (LPC2000).

Letztlich heisst es, dass auf den ADuC7000ern Thumb-Code garantiert 
schneller ist als ARM-Code, weil letzterer 2 Flash-Zyklen pro Befehl 
allein für's abholen vom Befehl braucht.
S.34: Die linke Seite beschreibt die logische Sicht der Dinge, d.h. die 
Adressierung aus Sicht des Programmierers. Die rechte Seite beschreibt 
die physikalische Sicht, d.h. den internen Aufbau des Chips. Das eine 
hat mit dem anderen nichts zu tun, der interne Aufbau hat allerdings 
Einfluss auf die Performance.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.