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