From e2c86a90f45ef72d222766ab08d6229fce11562e Mon Sep 17 00:00:00 2001 From: Kris Kwiatkowski Date: Mon, 17 Feb 2025 23:49:17 +0000 Subject: [PATCH] Execute from RAM --- Makefile | 2 +- libpqscheme.ld | 2 +- runner.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 8a12eb0..9c17c39 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ run: -nographic \ -kernel runner.elf \ -semihosting \ - -device loader,file=libpqscheme_test.elf,addr=0x00300000 + -device loader,file=libpqscheme_test.elf,addr=0x20000000 # -S -gdb tcp::1234 # -monitor unix:/tmp/qemu-monitor,server,nowait diff --git a/libpqscheme.ld b/libpqscheme.ld index 19dce00..0246f88 100644 --- a/libpqscheme.ld +++ b/libpqscheme.ld @@ -16,7 +16,7 @@ SECTIONS .text : { *(.text) *(.rodata) - } > FLASH + } > RAM .data : { *(.data) diff --git a/runner.c b/runner.c index c3f98bf..5d9de45 100644 --- a/runner.c +++ b/runner.c @@ -2,7 +2,7 @@ #include #include -#define RAM_START 0x00300000 +#define RAM_START 0x20000000 #define RAM_END RAM_START + 0x00800000 #define LIB_MAGIC 0x88DAD0F2 @@ -37,7 +37,7 @@ void execute_library_function() { printf(">> %d\n", test_func()); } */ - uint32_t entry_point = 0x300044 | 1; + uint32_t entry_point = (0x20000000 + 0x44) | 1; func_t test_func = (func_t)entry_point; printf("> Entry point\n", entry_point); int res = test_func();