ich verwende risc-v, rocket core. Ich möchte einige grundlegende READ/WRITE-Operationen an einer bestimmten Adresse durchführen. Liefert alle verfügbaren Testfälle in Testsuite. Alle Testfälle werden übergeben (einschließlich ld und store). Schreiben Sie nun einen einfachen c-Testfall, um eine bestimmte Adresse zu laden, kompilierte und führte den Testfall aus. Testfall läuft nicht durch.Rocket core risc-v, Laden und speichern bei speicheradresse nicht durchgehend
int main()
{
*((volatile unsigned int*)0x8000F000) = 0x600D600D;
}
die asm-Code für gleiche generiert und eingefügt den Code in Testfall in Testsuite. Noch ist der Testfall nicht durch. Befehl c2object riscv64-unbekannt-elf-gcc -DENTROPY = 18590 -static -mcmodel = medany -visibility = versteckt -nostdlib -nostartfiles -I./../env/p -I./macros/scalar -T./ ../env/p/link.ld mem_wr_tc.c -o mem_wr_tc.o
Object Assembly riscv64-unknown-elf-objdump --disassemble-all --disassemble-Nullen --section = .text - -section = .text.startup --section = .text.init --Sektion = .data mem_wr_tc.o> mem_wr_tc.asm
Hat irgendjemand versucht, eine einfache store \ load (lesen \ schreiben) an eine bestimmte Adresse.
Bitte schlagen Sie vor, was schief gehen könnte.