diff --git a/assembleur.s b/assembleur.s index ac3667856610dc4224c8ed8c85a625cd8ff7027a..24a7831691ebd978b26f5def6232c607a849003f 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 b94622176d6a0da8b41d1d12668ab6c3c7bba27b..1439a822d865be69a11445f47b97b2f8d85f2f27 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();