be_chti/PjtKEIL_StepSon/gestionson.lst
2023-04-18 18:21:59 +02:00

364 lines
12 KiB
Text

ARM Macro Assembler Page 1
1 00000000 PRESERVE8
2 00000000 THUMB
3 00000000
4 00000000 export CallbackSon
5 00000000 import Son
6 00000000 import LongueurSon
7 00000000
8 00000000 include DriverJeuLaser.inc
1 00000000
2 00000000 ; Bibliotheque DriverJeuLaser (ancienne gassp72 adaptée
2021 - TR)
3 00000000 ; Accès en aux fonctions suivantes :
4 00000000 ; GPIO :
5 00000000 ; GPIOA_Set(char Broche), GPIOB_Set(char Broche), GPIOC_
Set(char Broche)
6 00000000 ; GPIOA_Clear(char Broche), GPIOB_Clear(char Broche), GP
IOC_Clear(char Broche)
7 00000000
8 00000000 ; PWM :
9 00000000 ;/**
10 00000000 ; * @brief Fixe une valeur de PWM, Val, en tick horloge
. La rapport cyclique effectif
11 00000000 ; * est donc : rcy = Thaut_ticks / Periode_ticks
12 00000000 ; * @note spécifique Jeu Laser, PWM liée exclusivement
au TIM3, chan3
13 00000000 ; * @param Thaut_ticks : durée de l'état haut d'une imp
ulsion en Ticks
14 00000000 ; * @retval None
15 00000000 ; */
16 00000000
17 00000000 ;void PWM_Set_Value_TIM3_Ch3( unsigned short int Thaut_t
icks);
18 00000000 import PWM_Set_Value_TIM3_Ch3
19 00000000
20 00000000
21 00000000
22 00000000 ;/**
23 00000000 ; * @brief Mise à 1 d'une broche GPIO
24 00000000 ; * @note Une fonction par GPIO
25 00000000 ; * @param Broche : 0 à 15
26 00000000 ; * @retval None
27 00000000 ; */
28 00000000
29 00000000 ;void GPIOA_Set(char Broche);
30 00000000 import GPIOA_Set
31 00000000
32 00000000 ;void GPIOB_Set(char Broche);
33 00000000 import GPIOB_Set
34 00000000
35 00000000 ;void GPIOC_Set(char Broche);
36 00000000 import GPIOC_Set
37 00000000
38 00000000
39 00000000
40 00000000 ;/**
41 00000000 ; * @brief Mise à 0 d'une broche GPIO
42 00000000 ; * @note Une fonction par GPIO
43 00000000 ; * @param Broche : 0 à 15
44 00000000 ; * @retval None
ARM Macro Assembler Page 2
45 00000000 ; */
46 00000000
47 00000000 ;void GPIOA_Clear(char Broche);
48 00000000 import GPIOA_Clear
49 00000000
50 00000000 ;void GPIOB_Clear(char Broche);
51 00000000 import GPIOB_Clear
52 00000000
53 00000000 ;void GPIOC_Clear(char Broche);
54 00000000 import GPIOC_Clear
55 00000000
56 00000000 end
9 00000000
10 00000000
11 00000000
12 00000000 ; ====================== zone de réservation de données,
======================================
13 00000000 ;Section RAM (read only) :
14 00000000 area mesdata,data,readonly
15 00000000
16 00000000
17 00000000 ;Section RAM (read write):
18 00000000 area maram,data,readwrite
19 00000000
20 00000000 00 00 SortieSon
dcw 0 ; reserve seulement
2 octet de memoire
21 00000002 00 00 Index dcw 0
22 00000004
23 00000004 ; ======================================================
=========================================
24 00000004
25 00000004
26 00000004
27 00000004
28 00000004 ;Section ROM code (read only) :
29 00000004 area moncode,code,readonly
30 00000000 ; écrire le code ici
31 00000000 ;
32 00000000 ;if (i<LongueurSon) {
33 00000000 ;
34 00000000 ; sample = Son[i];
35 00000000 ; SortieSon = sample * (720/65536) + 360
36 00000000 ; i++;
37 00000000 ;}else {
38 00000000 ; i=0;
39 00000000 ;}
40 00000000
41 00000000 CallbackSon
proc
42 00000000 B500 push {lr}
43 00000002
44 00000002 480E ldr r0, = Index ; ; On charge la
valeur d'index
45 00000004 6801 ldr r1, [r0] ;
46 00000006 4A0E ldr r2, = LongueurSon ; ; On charg
e la valeur de la l
ongueur son
ARM Macro Assembler Page 3
47 00000008 6813 ldr r3, [r2] ;
48 0000000A
49 0000000A 428B cmp r3, r1 ; On regarde si on
est arrivé au bout
du tableau
50 0000000C DD0F ble Sinon
51 0000000E
52 0000000E 4A0D ldr r2, = Son ; ; On charge la
valeur de la bonne
53 00000010 F932 3011 ldrsh r3, [r2, r1, LSL #1]
; ligne de son
54 00000014
55 00000014 F101 0101 add r1, r1, #1 ; On store l'index
et on l'incrémente
de 1
56 00000018 8001 strh r1, [r0]
57 0000001A
58 0000001A ;add r3, #32768 ; On ajoute 32768
59 0000001A F44F 71B4 mov r1, #360 ; On multiplie par
720
60 0000001E FB01 F303 mul r3, r1, r3 ;
61 00000022 EA4F 33E3 asr r3, #15 ; On divise par 655
36
62 00000026 440B add r3, r1
63 00000028
64 00000028 4A07 ldr r2, = SortieSon
65 0000002A 8013 strh r3, [r2] ; On sauvegarde la
valeur dans SortieS
on
66 0000002C E002 b fin
67 0000002E
68 0000002E Sinon
69 0000002E F04F 0100 mov r1, #0 ; On remet l'index
à 0
70 00000032 6008 str r0, [r1] ; On store l'index
71 00000034
72 00000034 fin
73 00000034 EXPORT SortieSon
74 00000034 4618 mov r0, r3
75 00000036 F7FF FFFE bl PWM_Set_Value_TIM3_Ch3
76 0000003A BD00 pop {pc}
77 0000003C endp
78 0000003C
79 0000003C END
00000000
00000000
00000000
00000000
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=.\obj\gestionson.d -o.\obj\gestionson.o -I.\Driver -I.\RTE\_Simu -
IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programd
ata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL
SETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534
" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_RT
E_ SETA 1" --list=gestionson.lst Src\GestionSon.s
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
mesdata 00000000
Symbol: mesdata
Definitions
At line 14 in file Src\GestionSon.s
Uses
None
Comment: mesdata unused
1 symbol
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
Index 00000002
Symbol: Index
Definitions
At line 21 in file Src\GestionSon.s
Uses
At line 44 in file Src\GestionSon.s
Comment: Index used once
SortieSon 00000000
Symbol: SortieSon
Definitions
At line 20 in file Src\GestionSon.s
Uses
At line 64 in file Src\GestionSon.s
At line 73 in file Src\GestionSon.s
maram 00000000
Symbol: maram
Definitions
At line 18 in file Src\GestionSon.s
Uses
None
Comment: maram unused
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
CallbackSon 00000000
Symbol: CallbackSon
Definitions
At line 41 in file Src\GestionSon.s
Uses
At line 4 in file Src\GestionSon.s
Comment: CallbackSon used once
Sinon 0000002E
Symbol: Sinon
Definitions
At line 68 in file Src\GestionSon.s
Uses
At line 50 in file Src\GestionSon.s
Comment: Sinon used once
fin 00000034
Symbol: fin
Definitions
At line 72 in file Src\GestionSon.s
Uses
At line 66 in file Src\GestionSon.s
Comment: fin used once
moncode 00000000
Symbol: moncode
Definitions
At line 29 in file Src\GestionSon.s
Uses
None
Comment: moncode unused
4 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
External symbols
GPIOA_Clear 00000000
Symbol: GPIOA_Clear
Definitions
At line 48 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOA_Clear unused
GPIOA_Set 00000000
Symbol: GPIOA_Set
Definitions
At line 30 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOA_Set unused
GPIOB_Clear 00000000
Symbol: GPIOB_Clear
Definitions
At line 51 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOB_Clear unused
GPIOB_Set 00000000
Symbol: GPIOB_Set
Definitions
At line 33 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOB_Set unused
GPIOC_Clear 00000000
Symbol: GPIOC_Clear
Definitions
At line 54 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOC_Clear unused
GPIOC_Set 00000000
Symbol: GPIOC_Set
Definitions
At line 36 in file .\Driver\DriverJeuLaser.inc
Uses
None
Comment: GPIOC_Set unused
LongueurSon 00000000
Symbol: LongueurSon
Definitions
At line 6 in file Src\GestionSon.s
Uses
At line 46 in file Src\GestionSon.s
Comment: LongueurSon used once
PWM_Set_Value_TIM3_Ch3 00000000
Symbol: PWM_Set_Value_TIM3_Ch3
ARM Macro Assembler Page 2 Alphabetic symbol ordering
External symbols
Definitions
At line 18 in file .\Driver\DriverJeuLaser.inc
Uses
At line 75 in file Src\GestionSon.s
Comment: PWM_Set_Value_TIM3_Ch3 used once
Son 00000000
Symbol: Son
Definitions
At line 5 in file Src\GestionSon.s
Uses
At line 52 in file Src\GestionSon.s
Comment: Son used once
9 symbols
354 symbols in table