From 1d1d62e535b8392e7d621101e28c4973c6b3a05a Mon Sep 17 00:00:00 2001 From: Damien Caseau Date: Wed, 15 Mar 2023 18:17:34 +0100 Subject: [PATCH] Fin du 1er TD --- soft/PjtKEIL_StepDeb_1/BacASable.uvoptx | 41 ++++++++++++++++++++---- soft/PjtKEIL_StepDeb_1/BacASable.uvprojx | 7 +--- soft/PjtKEIL_StepDeb_1/Src/Delay.s | 27 ++++++++-------- soft/PjtKEIL_StepDeb_1/Src/principal.c | 2 +- 4 files changed, 51 insertions(+), 26 deletions(-) diff --git a/soft/PjtKEIL_StepDeb_1/BacASable.uvoptx b/soft/PjtKEIL_StepDeb_1/BacASable.uvoptx index ed76561..593348c 100644 --- a/soft/PjtKEIL_StepDeb_1/BacASable.uvoptx +++ b/soft/PjtKEIL_StepDeb_1/BacASable.uvoptx @@ -10,7 +10,7 @@ *.s*; *.src; *.a* *.obj; *.o *.lib - *.txt; *.h; *.inc + *.txt; *.h; *.inc; *.md *.plm *.cpp 0 @@ -75,7 +75,7 @@ 1 0 - 1 + 0 18 @@ -154,6 +154,21 @@ + + + 0 + 1 + VarTime,0x10 + + + + + 1 + 0 + 0x20000000 + 0 + + 0 @@ -174,7 +189,7 @@ 0 0 0 - 0 + 1 0 0 0 @@ -196,6 +211,13 @@ + + + 0 + `VarTime + 0080000000000000000000000000000080842E410000000000000000000000000000000056617254696D65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000001000000000000000000F03F1200000000000000000000000000000000000000C4030008 + + 1 0 @@ -260,7 +282,7 @@ 1 0 - 0 + 1 18 @@ -339,11 +361,18 @@ + + + 0 + 1 + VarTime + + 1 257 - r0 + 0x00000000 0 @@ -367,7 +396,7 @@ 0 0 0 - 0 + 1 0 0 0 diff --git a/soft/PjtKEIL_StepDeb_1/BacASable.uvprojx b/soft/PjtKEIL_StepDeb_1/BacASable.uvprojx index 9c192f5..e7a5ede 100644 --- a/soft/PjtKEIL_StepDeb_1/BacASable.uvprojx +++ b/soft/PjtKEIL_StepDeb_1/BacASable.uvprojx @@ -10,7 +10,7 @@ Simu 0x4 ARM-ADS - 5060750::V5.06 update 6 (build 750)::.\ARMCC + 5060960::V5.06 update 7 (build 960)::.\ARMCC 0 @@ -1338,11 +1338,6 @@ <Project Info> - - - - - 0 1 diff --git a/soft/PjtKEIL_StepDeb_1/Src/Delay.s b/soft/PjtKEIL_StepDeb_1/Src/Delay.s index bf49175..f6d7915 100644 --- a/soft/PjtKEIL_StepDeb_1/Src/Delay.s +++ b/soft/PjtKEIL_StepDeb_1/Src/Delay.s @@ -4,19 +4,20 @@ ; ====================== zone de réservation de données, ====================================== ;Section RAM (read only) : - area mesdata,data,readonly + area mesdata,data,readonly ; Déclaration de la variable ;Section RAM (read write): area maram,data,readwrite -VarTime dcd 0 +VarTime dcd 0 ; Réserve 32 bits en mémoire pour Vartime et on lui affecte la valeur 0 + EXPORT VarTime ;On rend la variable globale pour pouvoir l'observer avec le débugger ; =============================================================================================== ;constantes (équivalent du #define en C) -TimeValue equ 900000 +TimeValue equ 900000 ; TimeValue = 900000 EXPORT Delay_100ms ; la fonction Delay_100ms est rendue publique donc utilisable par d'autres modules. @@ -39,21 +40,21 @@ TimeValue equ 900000 ; ; et donc possède un intérêt pour débuter en ASM pur -Delay_100ms proc +Delay_100ms proc ; début de procédure - ldr r0,=VarTime + ldr r0,=VarTime ; Stockage de l'adresse de VarTime dans r0 - ldr r1,=TimeValue - str r1,[r0] + ldr r1,=TimeValue ; Stockage de l'adresse de TimeValue r1 + str r1,[r0] ; Ecriture de la valeur stockée dans r1 dans r0 -BoucleTempo - ldr r1,[r0] +BoucleTempo ; début de la boucle + ldr r1,[r0] ; Stockage de la valeur pointée par r0 dans r1 - subs r1,#1 - str r1,[r0] - bne BoucleTempo + subs r1,#1 ; Désincrémentation de la valeur de r1 + str r1,[r0] ; Ecriture de la valeur de r1 dans r0 + bne BoucleTempo ; "Branch on Not Equal" --> Effectue un saut vers BoucleTempo si la valeur de r1 est différente de 0, sinon continue - bx lr + bx lr ; renvoie la valeur de lr endp diff --git a/soft/PjtKEIL_StepDeb_1/Src/principal.c b/soft/PjtKEIL_StepDeb_1/Src/principal.c index a2e1f67..41d9e71 100644 --- a/soft/PjtKEIL_StepDeb_1/Src/principal.c +++ b/soft/PjtKEIL_StepDeb_1/Src/principal.c @@ -14,7 +14,7 @@ int main(void) CLOCK_Configure(); // configuration de PortB.1 (PB1) en sortie push-pull -GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL); +GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL); // 1 = 3.3V // 0 = 0V