Skip to content
Snippets Groups Projects
Commit 750488c7 authored by valentin's avatar valentin
Browse files

Fonctionnel jusqu'au 2.3, erreur 2.4

parent af092e67
Branches
No related tags found
No related merge requests found
......@@ -43,4 +43,3 @@ asm_test_fault:
.ltorg
......@@ -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)
}
......@@ -73,3 +73,4 @@ void exec_user_read_write()
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment