From bd113e42fc7a276ceb6962a83c88159a7775e46e Mon Sep 17 00:00:00 2001 From: iliya <iliya.saroukha@hes-so.ch> Date: Sat, 6 Jan 2024 16:31:49 +0100 Subject: [PATCH] feat: using stack with offset through value stored and loaded from R1 --- assembleur.s | 7 +++---- mpu_user_console_etu.c | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/assembleur.s b/assembleur.s index ac36678..24a7831 100644 --- a/assembleur.s +++ b/assembleur.s @@ -22,12 +22,11 @@ switch_to_user_mode: // R0: user_starting_address /*************************/ change_ret: - ldr r1, =user_stack - //mrs r1, PSP - //str r0, [r1, #76] + mrs r1, PSP + ldr r1, [r1] str r0, [r1, #24] msr PSP, r1 - bx lr + bx lr .equ bad_addr,0x90000 diff --git a/mpu_user_console_etu.c b/mpu_user_console_etu.c index b946221..1439a82 100644 --- a/mpu_user_console_etu.c +++ b/mpu_user_console_etu.c @@ -120,7 +120,7 @@ int main(void) { switch_to_user_mode(); // to be implemented // testing memory accesses in user mode: - //test_user_mode(); // to be removed after checking + test_user_mode(); // to be removed after checking while (1) { exec_user_read_write(); -- GitLab