diff --git a/tests/custom/lpddrtest/Makefile b/tests/custom/lpddrtest/Makefile new file mode 100644 index 000000000..71710fcb5 --- /dev/null +++ b/tests/custom/lpddrtest/Makefile @@ -0,0 +1,19 @@ +TARGETDIR := lpddr_test +TARGET := $(TARGETDIR)/$(TARGETDIR).elf +ROOT := .. +LIBRARY_DIRS := ${ROOT}/crt0 +LIBRARY_FILES := crt0 + +MARCH :=-march=rv64imfdczicbom +MABI :=-mabi=lp64d +LINKER := ${ROOT}/linker8000-0000.x +LINK_FLAGS :=$(MARCH) $(MABI) -nostartfiles -Wl,-Map=$(TARGET).map + +CFLAGS =$(MARCH) $(MABI) -Wa,-alhs -Wa,-L -mcmodel=medany -mstrict-align -O2 +CC=riscv64-unknown-elf-gcc +DA=riscv64-unknown-elf-objdump -d + + +include $(ROOT)/makefile.inc + + diff --git a/tests/custom/lpddrtest/header.h b/tests/custom/lpddrtest/header.h new file mode 100644 index 000000000..7e83cb22d --- /dev/null +++ b/tests/custom/lpddrtest/header.h @@ -0,0 +1,5 @@ +#ifndef __header +#define __header + +void lpddr_test(); +#endif diff --git a/tests/custom/lpddrtest/lpddr_test.s b/tests/custom/lpddrtest/lpddr_test.s new file mode 100644 index 000000000..a77d9081f --- /dev/null +++ b/tests/custom/lpddrtest/lpddr_test.s @@ -0,0 +1,29 @@ +.section .text +.globl lpddr_test +.type lpddr_test, @function +lpddr_test: + li t1, 0x90000000 + addi t5, t1, 0 + li t2, 0xAABBCCDD00112233 + + li t3, 10 + li t4, 0 +loop_write: + beq t4, t3, done_write + sd t2, 0(t5) + addi t5, t5, 8 + addi t4, t4, 1 + j loop_write +done_write: + + li t4, 0 + addi t5, t1, 0 +loop_read: + beq t4, t3, done_read + ld t6, 0(t5) + addi t5, t5, 8 + addi t4, t4, 1 + j loop_read +done_read: + ret + diff --git a/tests/custom/lpddrtest/main.c b/tests/custom/lpddrtest/main.c new file mode 100644 index 000000000..feafa5f75 --- /dev/null +++ b/tests/custom/lpddrtest/main.c @@ -0,0 +1,6 @@ +#include "header.h" + +int main(){ + lpddr_test(); + return 0; +}