Ich habe mehr als Tag versucht zu verstehen, was vor sich geht. Ich kann nicht einmal Testprojektdaten aus dem Speicher lesen.ARM7 Assembly keine Daten im Speicher
In diesem Fall brauche ich nur einige Daten im Speicher zu speichern, lesen Sie es Prozess dann und speichern sie in den Speicher zurück.
Hier ist mein Code
AREA RESET, CODE, READONLY
ENTRY
LDR r0, =SortArray ;load start address
LDR r1, =SortArrayEnd ; load end address
LDR r4, [r0]
SUB r2, r2, #1 ; r2 contains (LENGTH-1)
MOV r6, #0 ; r6 sum set to 0
STOP B STOP
LTORG
AREA my_data, DATA, READWRITE
ALIGN
SortArray
DCD 1,5,20,32,13,66,3,5,23,64,112,66,22
SortArrayEnd
END
Hier ist, was ich bekomme, wenn Projekt Debuggen
Warum gibt es keine Daten im Speicher gespeichert ?? Natürlich, wenn ich Speicher von dieser Adresse lesen, wird nichts in Register gesetzt.
Ich habe versucht, es ohne Erfolg zu lösen.
Hier einige weitere relevante Fragen.
- Warum Datenadresse
0x40000000
ist. Dies liegt an der internen Speicherabbildung meines MC (LPC2148)? Ausgehend von dieser Adresse befindet sichSRAM
Speicher. Habe ich recht ? - Warum in verschiedenen AREA gespeicherten Daten können nicht direkt ohne
=
ZeichenLDR
Befehl von Hardware- und Software-Perspektive beread? - Die gesamte Kommunikation wird über Speicheradressen durchgeführt, so dass einige andere Peripheriegeräte nur auf die spezifische Adresse zugeordnet werden kann und mit dem Speicher-Bus? Wie wird es auf Hardware-Ebene gemacht? Wie gebe ich spezifisches Gerät/Bus rand der Adresse?
Ich wäre dankbar für jede Hilfe oder Beratung.
Es gibt keinen einzigen STR (Speicher) -Befehl. Warum erwartest du, dass die Erinnerung anders wird? LDR lädt ein Register und verknüpft es nicht für immer mit einer Speicheradresse. –
Oh, auch die Zeile 'SUB r2, r2, # 1' ist falsch. R2 ist nicht initialisiert, Sie haben am Ende r2 mit Müll minus 1. –
Der Speicher ist leer, in diesem Fall muss ich nicht Daten in den Speicher speichern, ich muss nur in Register zu lesen, aber wie Sie sehen können Speicher ist leer. Bitte helfen Sie das zu lösen. – fyfdzbgz