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