diff --git a/assembleur.s b/assembleur.s index 74272b41680fc1433008c61ebb8bc67c9e1a0f99..ac3667856610dc4224c8ed8c85a625cd8ff7027a 100644 --- a/assembleur.s +++ b/assembleur.s @@ -12,6 +12,7 @@ switch_to_user_mode: ldr r0, =user_stack + add r0, r0, #2048 msr PSP, r0 mov r1, #3 msr CONTROL, r1 diff --git a/mpu_user_console_etu.c b/mpu_user_console_etu.c index 759dc1ffeb6c6dca6417af2bdf105f15519dca7d..b94622176d6a0da8b41d1d12668ab6c3c7bba27b 100644 --- a/mpu_user_console_etu.c +++ b/mpu_user_console_etu.c @@ -80,6 +80,7 @@ int main(void) { MPU->RBAR = 0x00000000; MPU->RASR = RO | BTEX_NORMAL_NOT_SHAREABLE | SET_SIZE_512KB | REGION_ENABLE; + // Region 1 (SRAM1) MPU->RNR = 1; MPU->RBAR = 0x10000000; @@ -119,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();