forked from acco/chti23
version finale
This commit is contained in:
parent
788676daa7
commit
3307d47679
5 changed files with 128 additions and 44 deletions
|
@ -5,27 +5,15 @@
|
|||
; ====================== zone de réservation de données, ======================================
|
||||
;Section RAM (read only) :
|
||||
area mesdata,data,readonly
|
||||
|
||||
import LeSignal
|
||||
|
||||
|
||||
;Section RAM (read write):
|
||||
area maram,data,readwrite
|
||||
|
||||
ModuleAuCarre dcd 0
|
||||
PartieReelle dcd 0
|
||||
PartieIm dcd 0
|
||||
|
||||
|
||||
; ===============================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
;Section ROM code (read only) :
|
||||
area moncode,code,readonly
|
||||
; écrire le code ici
|
||||
|
||||
|
||||
|
||||
export DFT_ModuleAuCarre
|
||||
|
||||
|
||||
;Section ROM code (read only) :
|
||||
|
@ -163,35 +151,39 @@ TabSin
|
|||
DCW -6393 ; 62 0xe707 -0.19510
|
||||
DCW -3212 ; 63 0xf374 -0.09802
|
||||
|
||||
DFT_ModuleAuCarre proc
|
||||
;Section ROM code (read only) :
|
||||
area moncode,code,readonly
|
||||
; écrire le code ici
|
||||
|
||||
|
||||
DFT_ModuleAuCarre proc
|
||||
|
||||
push {r4, r5, r6, r7, r8}
|
||||
; r0 occupé par k
|
||||
; r1 occupé par l'adresse du signal
|
||||
|
||||
ldr r0, =TabCos
|
||||
; ModuleAuCarre
|
||||
; r6 occupé par PartieReelle
|
||||
; r7 occupé par PartieIm
|
||||
|
||||
push {r4, r5, r6, r7, r8, r9, r10}
|
||||
|
||||
ldr r9, =TabCos
|
||||
ldr r8, =TabSin
|
||||
ldr r1, =LeSignal
|
||||
ldr r6, =PartieReelle
|
||||
ldr r7, =PartieIm
|
||||
;ldr r1, =LeSignal
|
||||
mov r3, #0
|
||||
|
||||
debut_boucle
|
||||
ldrsh r4, [r1,r3, lsl #1];lecture de la valeur du signal à l'adresse r1 décalé de l'index r3
|
||||
ldrsh r2, [r0,r3, lsl #1];lecture de la valeur du cos à l'adresse r0 décalé de l'index r3
|
||||
mul r10, r3, r0
|
||||
and r10, #63
|
||||
|
||||
|
||||
;attention format à prendre en compte.............................
|
||||
|
||||
ldrsh r2, [r9,r10, lsl #1];lecture de la valeur du cos à l'adresse r0 décalé de l'index r3
|
||||
mul r5, r2, r4 ;calcul
|
||||
ldr r2, [r6] ;lecture de la valeur de la partie réelle
|
||||
add r2, r5 ; on y ajoute la valeur calculée
|
||||
strh r2, [r6] ; on store la valeur à l'adresse
|
||||
add r6, r5 ; on y ajoute la valeur calculée
|
||||
|
||||
ldrsh r2, [r8,r3, lsl #1];lecture de la valeur du sin
|
||||
ldrsh r2, [r8,r10, lsl #1];lecture de la valeur du sin
|
||||
mul r5, r2, r4 ; calcul en reprenant la valeur du signal qui ne change pas dans r4
|
||||
ldr r2, [r7];lecture de la valeur de la partie imaginaire
|
||||
add r2, r5
|
||||
strh r2, [r7]
|
||||
|
||||
add r7, r5
|
||||
|
||||
|
||||
add r3, #1 ;incrémentation de l'index
|
||||
|
@ -199,9 +191,12 @@ debut_boucle
|
|||
bne debut_boucle
|
||||
|
||||
fin_boucle
|
||||
|
||||
|
||||
pop {r4, r5, r6, r7, r8}
|
||||
smull r5, r4, r6, r6
|
||||
smull r10, r2, r7, r7
|
||||
add r4, r2
|
||||
mov r0,r4
|
||||
|
||||
pop {r4, r5, r6, r7, r8, r9, r10}
|
||||
bx lr
|
||||
endp
|
||||
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
|
||||
|
||||
#include <stdio.h>
|
||||
#include "DriverJeuLaser.h"
|
||||
|
||||
extern short int LeSignal;
|
||||
|
||||
extern int DFT_ModuleAuCarre(int k, short int * Signal64ech);
|
||||
|
||||
|
||||
int main(void)
|
||||
|
||||
{
|
||||
|
||||
// ===========================================================================
|
||||
|
@ -19,10 +23,16 @@ CLOCK_Configure();
|
|||
|
||||
|
||||
//============================================================================
|
||||
|
||||
|
||||
DFT_ModuleAuCarre(0, &LeSignal);
|
||||
|
||||
|
||||
|
||||
|
||||
while (1)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -154,6 +154,26 @@
|
|||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>r3,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>r10</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>256</SubType>
|
||||
<ItemText>R0</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
|
@ -267,7 +287,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -624,6 +644,30 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Src\DFT.s</PathWithFileName>
|
||||
<FilenameWithoutPath>DFT.s</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\Src\Signal.asm</PathWithFileName>
|
||||
<FilenameWithoutPath>Signal.asm</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
|
@ -634,7 +678,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -654,7 +698,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>4</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
|
|
@ -388,6 +388,16 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>.\Src\principal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>DFT.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\DFT.s</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>Signal.asm</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\Signal.asm</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -797,6 +807,16 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>.\Src\principal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>DFT.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\DFT.s</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>Signal.asm</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\Signal.asm</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -1275,6 +1295,16 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>.\Src\principal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>DFT.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\DFT.s</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>Signal.asm</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\Signal.asm</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -1322,7 +1352,7 @@
|
|||
<LayerInfo>
|
||||
<Layers>
|
||||
<Layer>
|
||||
<LayName><Project Info></LayName>
|
||||
<LayName>StepDFT</LayName>
|
||||
<LayTarg>0</LayTarg>
|
||||
<LayPrjMark>1</LayPrjMark>
|
||||
</Layer>
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
@ -160,6 +160,11 @@
|
|||
<WinNumber>1</WinNumber>
|
||||
<ItemText>SortieSon</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>bouton</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
|
@ -287,7 +292,7 @@
|
|||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>1</IsCurrentTarget>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
|
|
Loading…
Reference in a new issue