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
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.
Hallo Andreas, Danke erst mal. Ich verwende einen LPC2468. Bringt dir das etwas? Leider steht im Manual wirklich nichts zum Umgang mit Bytes etc.
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.
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.
Wo hast du das denn gefunden? Danke jedenfalls schon mal für deine Bemühungen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.