From 17667eb7ca8fd3fdede82024ee3c687ba2c2810e Mon Sep 17 00:00:00 2001 From: Alan Dutems Date: Tue, 9 May 2023 18:09:45 +0200 Subject: [PATCH] DebutDFT --- soft/PjtKEIL_StepDFT/Src/DFT.s | 45 ++++++++++++++++++++---- soft/PjtKEIL_StepDFT/Src/principal.c | 7 ++++ soft/PjtKEIL_StepDFT/StepDFT.uvoptx | 51 +++++++++++++++++++++++++--- soft/PjtKEIL_StepDFT/StepDFT.uvprojx | 32 ++++++++++++++++- 4 files changed, 123 insertions(+), 12 deletions(-) diff --git a/soft/PjtKEIL_StepDFT/Src/DFT.s b/soft/PjtKEIL_StepDFT/Src/DFT.s index 3f6b5d4..c4248f7 100644 --- a/soft/PjtKEIL_StepDFT/Src/DFT.s +++ b/soft/PjtKEIL_StepDFT/Src/DFT.s @@ -5,24 +5,57 @@ ; ====================== zone de réservation de données, ====================================== ;Section RAM (read only) : area mesdata,data,readonly + + extern LeSignal + export DFT_ModuleAuCarre ;Section RAM (read write): area maram,data,readwrite - - ; =============================================================================================== - - ;Section ROM code (read only) : area moncode,code,readonly ; écrire le code ici - - +DFT_ModuleAuCarre proc + + push{r4, r5, r6, r7, r8, r9, r10, r11, r12} + + mov r0, #0 ; index + mov r7, #0 ; resultat cos + mov r8, #0 ; resultat sin + +Boucle + + ldr r4, =LeSignal + ldrsh r4, [r4,r0, lsl#1] + + ldr r5, =TabCos + ldrsh r5, [r5,r0, lsl#1] + + ldr r6, =TabSin + ldrsh r6, [r6,r0, lsl#1] + + mul r5,r5,r4 + add r7, r7, r5 + + mul r6,r6,r4 + add r8,r8,r6 + + add r0, #1 + + cmp r0, #64 + blt Boucle + + + + pop{r4, r5, r6, r7, r8, r9, r10, r11, r12} + + endp + ;Section ROM code (read only) : diff --git a/soft/PjtKEIL_StepDFT/Src/principal.c b/soft/PjtKEIL_StepDFT/Src/principal.c index d09be75..ecdf41f 100644 --- a/soft/PjtKEIL_StepDFT/Src/principal.c +++ b/soft/PjtKEIL_StepDFT/Src/principal.c @@ -2,7 +2,11 @@ #include "DriverJeuLaser.h" +extern int DFT_ModuleAuCarre( short int * Signal64ech, char k); +extern short int* LeSignal; + +int X[63]; int main(void) { @@ -23,6 +27,9 @@ CLOCK_Configure(); while (1) { + for (int k=0; k<64; k++){ + X[k]=DFT_ModuleAuCarre(LeSignal,k); + } } } diff --git a/soft/PjtKEIL_StepDFT/StepDFT.uvoptx b/soft/PjtKEIL_StepDFT/StepDFT.uvoptx index 0d72cfc..78263b0 100644 --- a/soft/PjtKEIL_StepDFT/StepDFT.uvoptx +++ b/soft/PjtKEIL_StepDFT/StepDFT.uvoptx @@ -75,7 +75,7 @@ 1 0 - 0 + 1 18 @@ -153,7 +153,24 @@ -U066CFF574857847167074929 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM) - + + + 0 + 0 + 30 + 1 +
134218370
+ 0 + 0 + 0 + 0 + 0 + 1 + .\Src\principal.c + + \\StepDFT\Src/principal.c\30 +
+
0 @@ -267,7 +284,7 @@ 1 0 - 1 + 0 18 @@ -624,6 +641,30 @@ 0 0 + + 1 + 2 + 2 + 0 + 0 + 0 + .\Src\DFT.s + DFT.s + 0 + 0 + + + 1 + 3 + 2 + 0 + 0 + 0 + .\Src\Signal.asm + Signal.asm + 0 + 0 + @@ -634,7 +675,7 @@ 0 2 - 2 + 4 2 0 0 @@ -654,7 +695,7 @@ 0 3 - 3 + 5 4 0 0 diff --git a/soft/PjtKEIL_StepDFT/StepDFT.uvprojx b/soft/PjtKEIL_StepDFT/StepDFT.uvprojx index 9031782..cec1044 100644 --- a/soft/PjtKEIL_StepDFT/StepDFT.uvprojx +++ b/soft/PjtKEIL_StepDFT/StepDFT.uvprojx @@ -388,6 +388,16 @@ 1 .\Src\principal.c + + DFT.s + 2 + .\Src\DFT.s + + + Signal.asm + 2 + .\Src\Signal.asm + @@ -797,6 +807,16 @@ 1 .\Src\principal.c + + DFT.s + 2 + .\Src\DFT.s + + + Signal.asm + 2 + .\Src\Signal.asm + @@ -1275,6 +1295,16 @@ 1 .\Src\principal.c + + DFT.s + 2 + .\Src\DFT.s + + + Signal.asm + 2 + .\Src\Signal.asm + @@ -1322,7 +1352,7 @@ - <Project Info> + StepDFT 0 1