diff --git a/mpu_user_console_etu/labo5_mpu_user_console_etu/src/assembleur.s b/mpu_user_console_etu/labo5_mpu_user_console_etu/src/assembleur.s index 9a9a679d20d417863abe3dc3f1147adae349060c..0e40d1127cf635f54c7c8d67364b89d9873b58d6 100644 --- a/mpu_user_console_etu/labo5_mpu_user_console_etu/src/assembleur.s +++ b/mpu_user_console_etu/labo5_mpu_user_console_etu/src/assembleur.s @@ -43,4 +43,3 @@ asm_test_fault: .ltorg - diff --git a/mpu_user_console_etu/labo5_mpu_user_console_etu/src/mpu_user_console_etu.c b/mpu_user_console_etu/labo5_mpu_user_console_etu/src/mpu_user_console_etu.c index dbb76fcc652c7cacf6a320f9ec1c039aa2d2c185..3e7bd270e72639dfc2f82c957c590746be578ba9 100644 --- a/mpu_user_console_etu/labo5_mpu_user_console_etu/src/mpu_user_console_etu.c +++ b/mpu_user_console_etu/labo5_mpu_user_console_etu/src/mpu_user_console_etu.c @@ -55,12 +55,18 @@ void MemManage_Handler() // Acknowledge du registre CFSR SCB->CFSR = 0xFFFF; - __asm volatile( - "mrs r0, psp\n" - "ldr r1, =user_starting_address\n" // recup le pointeur vers l'adresse de retour souhaitée - "ldr r1, [r1]\n" // deref le pointeur pour recup l'adresse de retour - "str r1, [r0, #24]\n" - ); + +// Instructions assembleur foncionnelles +// __asm volatile( +// "mrs r0, psp\n" +// "ldr r1, =user_starting_address\n" // recup le pointeur vers l'adresse de retour souhaitée +// "ldr r1, [r1]\n" // deref le pointeur pour recup l'adresse de retour +// ); + +// Instruction assembleur : Crée un hardfault +// __asm volatile( +// "str r1, [r0, #24]\n" +// ); } @@ -244,7 +250,7 @@ int main(void) // Type d'accès : Read / Write en mode privilégié, Read sinon MPU->RNR = 4; // ID de la region - // Registre RBAR à verifier + // Registre RBAR à ve0x10002008rifier // MPU->RBAR = (0 << 4); // RNR modifié manuellement // N = Log2(Region size in bytes) @@ -288,7 +294,7 @@ int main(void) // Reset des bits + enable MPU->RASR = (1 << 0); // ENABLE - // Définition taille de région (Region size in bytes) = 2^(SIZE+1) + // Définition taille 0x10002008de région (Region size in bytes) = 2^(SIZE+1) // 32768 = 2^(SIZE+1) --> SIZE = 14 MPU->RASR |= (14<<1); // SIZE @@ -374,4 +380,3 @@ int main(void) } - diff --git a/mpu_user_console_etu/labo5_mpu_user_console_etu/src/user_cmd.c b/mpu_user_console_etu/labo5_mpu_user_console_etu/src/user_cmd.c index 5b03c92f35a0117bb7fdb53ad678031a6296c4e1..0905fd257988326730be5fcce818ccd6b6596447 100644 --- a/mpu_user_console_etu/labo5_mpu_user_console_etu/src/user_cmd.c +++ b/mpu_user_console_etu/labo5_mpu_user_console_etu/src/user_cmd.c @@ -73,3 +73,4 @@ void exec_user_read_write() } +