diff --git a/lib/bsp/standalone/data/standalone.tcl b/lib/bsp/standalone/data/standalone.tcl index 5f9a55c6..8005eafe 100755 --- a/lib/bsp/standalone/data/standalone.tcl +++ b/lib/bsp/standalone/data/standalone.tcl @@ -170,7 +170,7 @@ proc generate {os_handle} { } elseif {[string compare -nocase $compiler "iccarm"] == 0} { puts $makeconfig "LIBSOURCES = *.c *.s" } else { - puts $makeconfig "LIBSOURCES = *.c *.s *.S" + puts $makeconfig "LIBSOURCES = *.c *.S" puts $makeconfig "PROFILE_ARCH_OBJS = profile_mcount_arm.o" } } else { diff --git a/lib/bsp/standalone/src/cortexa9/gcc/translation_table.s b/lib/bsp/standalone/src/cortexa9/gcc/translation_table.S similarity index 90% rename from lib/bsp/standalone/src/cortexa9/gcc/translation_table.s rename to lib/bsp/standalone/src/cortexa9/gcc/translation_table.S index 69061f00..b1011198 100644 --- a/lib/bsp/standalone/src/cortexa9/gcc/translation_table.s +++ b/lib/bsp/standalone/src/cortexa9/gcc/translation_table.S @@ -58,6 +58,7 @@ * None. * ******************************************************************************/ +#include "xparameters.h" .globl MMUTable .section .mmu_tbl,"a" @@ -67,14 +68,29 @@ MMUTable: * 4096 entries, so the entire table takes up 16KB. * Each entry covers a 1MB section. */ - .set SECT, 0 +.set DDR_START, XPAR_PS7_DDR_0_S_AXI_BASEADDR +.set DDR_END, XPAR_PS7_DDR_0_S_AXI_HIGHADDR +.set DDR_SIZE, (DDR_END - DDR_START)+1 +.set DDR_REG, DDR_SIZE/0x100000 +.set UNDEF_REG, 0x3FF - DDR_REG -.rept 0x0400 /* 0x00000000 - 0x3fffffff (DDR Cacheable) */ + /*0x00000000 - 0x00100000 (cacheable )*/ +.word SECT + 0x15de6 /* S=b1 TEX=b101 AP=b11, Domain=b1111, C=b0, B=b1 */ +.set SECT, SECT+0x100000 + +.rept DDR_REG /* (DDR Cacheable) */ .word SECT + 0x15de6 /* S=b1 TEX=b101 AP=b11, Domain=b1111, C=b0, B=b1 */ .set SECT, SECT+0x100000 .endr +.rept UNDEF_REG /* (unassigned/reserved). + * Generates a translation fault if accessed */ +.word SECT + 0x0 /* S=b0 TEX=b000 AP=b00, Domain=b0, C=b0, B=b0 */ +.set SECT, SECT+0x100000 +.endr + + .rept 0x0400 /* 0x40000000 - 0x7fffffff (FPGA slave0) */ .word SECT + 0xc02 /* S=b0 TEX=b000 AP=b11, Domain=b0, C=b0, B=b1 */ .set SECT, SECT+0x100000