Forum: Mikrocontroller und Digitale Elektronik Frage zu ext. Bus der ARMe


von hans (Gast)


Lesenswert?

Nen schönen Abend allerseits,
Ich hab da ne Frage zum externen Businterface der ARMe.
Und zwar kann man da ja oft für die Speicherbreite zwischen 8, 16 und 32 
Bit wählen.
Nehmen wir an, ich hab da ein 8 Bit SRAM angeschlossen. Wie sieht das 
dann mit dem 'Operand Alignment' aus? Zu Deutsch: Wenn ich auf diesen 8 
Bit breiten Speicher eine 32 Bit breite Variable speichere - merkt der 
Buscontroller das und verteilt die 32 Bit auf die 8 Bit Speicherbreite, 
oder muss ich das selber machen? Leider habe ich im Datenblatt dazu nix 
gefunden.
Ich möchte dem ARM nämlich über den externen Bus noch 128k x 8 SRAM 
spendieren (das dient dann als Zwischenspeicher für gewisse Daten, muss 
nicht schnell sein, aber gross - internes RAM von 96k wird da schon 
knapp).
Wie schaut es mit dem Endian aus? sprich: Wenn ich z.B. den 16 Bit Wert 
0x1234 an Adresse 0x80000000 speichere, wie sieht der Speicher dann aus:

0x80000000:    0x12
0x80000001:    0x34

oder

0x80000000:    0x34
0x80000000:    0x12

Wenn mir das jemand sagen könnte, wär das super ;)
Grüsse

von Andreas K. (a-k)


Lesenswert?

ARM ist der Core. Sonst nix. Den interessiert das Businterface nicht.

Das Businterface stellt der Chiphersteller. Oder kauft es sich als 
separate Primecell ein, zur Not auch wieder beim ARM. Wie auch immer - 
jedenfalls wirst du dich für diese Frage auf eine Familie festlegen 
müssen.

Den ARM Core selber ist beim Bytesex flexibel. Der mag beides. Und wird 
erst im Verbund mit dem Rest vom Chip festgenagelt.

von hans (Gast)


Lesenswert?

Hallo Andreas,
Danke erst mal.
Ich verwende einen LPC2468. Bringt dir das etwas?
Leider steht im Manual wirklich nichts zum Umgang mit Bytes etc.

von Andreas K. (a-k)


Lesenswert?

hans wrote:

> Leider steht im Manual wirklich nichts zum Umgang mit Bytes etc.

Was den Bytesex vom Core angeht: Es hat mich ca. 2 Sekunden gekostet, es 
im User Manual zu finden.

von Andreas K. (a-k)


Lesenswert?

Was die Abwicklung von 32bit Zugriffen auf 16bit Speicher angeht: Da 
dort gern auch Code gelagert wird, wär's schon etwas merkwürdig, wenn 
man den erst manuell ins interne RAM kopieren müsste um ihn dort 
auszuführen. Steht zwar nicht explizit drin, aber anders als automatisch 
ergibt das keinen Sinn.

Da der EMC des LPC2400 eine Primecell von ARM ist, kann es nützlich 
sein, sich auch dort mal nach Doku umzusehen.

von hans (Gast)


Lesenswert?

Wo hast du das denn gefunden?
Danke jedenfalls schon mal für deine Bemühungen.

von Andreas K. (a-k)


Lesenswert?

Seite 8 unten. Hab nach "endian" gesucht.

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.