ARM Macro Assembler Page 1 1 00000000 PRESERVE8 2 00000000 THUMB 3 00000000 4 00000000 export CallbackSon 5 00000000 export StartSon 6 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 45 00000000 ; */ 46 00000000 ARM Macro Assembler Page 2 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 7 00000000 8 00000000 9 00000000 ; ====================== zone de réservation de données, ====================================== 10 00000000 ;Section RAM (read only) : 11 00000000 area mesdata,data,readonly 12 00000000 IMPORT LongueurSon 13 00000000 IMPORT Son 14 00000000 15 00000000 16 00000000 17 00000000 ;Section RAM (read write): 18 00000000 area maram,data,readwrite 19 00000000 20 00000000 00000000 index dcd 0 ; 21 00000004 22 00000004 00 00 SortieSon dcw 0 ; 23 00000006 EXPORT SortieSon ; valeur echelle ec hantillon courant 24 00000006 25 00000006 ; ====================================================== ========================================= 26 00000006 27 00000006 28 00000006 29 00000006 30 00000006 ;Section ROM code (read only) : 31 00000006 area moncode,code,readonly 32 00000000 ; écrire le code ici 33 00000000 34 00000000 CallbackSon proc 35 00000000 36 00000000 B500 push{lr} 37 00000002 38 00000002 4812 ldr r0,=LongueurSon 39 00000004 4912 ldr r1,=index ; @ index 40 00000006 680A ldr r2,[r1] 41 00000008 6803 ldr r3,[r0] 42 0000000A 429A cmp r2,r3 43 0000000C D017 beq ret 44 0000000E 45 0000000E 46 0000000E 4811 ldr r0, =Son ; recuperer @ son 47 00000010 ;ldrsh r2,[r0,r2 lsl 1] 48 00000010 0052 movs r2,r2,lsl #1 49 00000012 4410 add r0,r2 ARM Macro Assembler Page 3 50 00000014 F9B0 2000 ldrsh r2,[r0] ;valeur son 51 00000018 52 00000018 53 00000018 480F ldr r0, =SortieSon ;@ sortie son 54 0000001A 55 0000001A ;mise a l'echelle; 56 0000001A F502 4200 add r2,#32768 57 0000001E F240 23CF mov r3,#719 58 00000022 FB02 F203 mul r2,r3 59 00000026 EA4F 4222 mov r2,r2,asr #16 60 0000002A 61 0000002A ; mettre a jour SortieSon 62 0000002A 6002 str r2,[r0] 63 0000002C 64 0000002C 65 0000002C B402 push{r1} 66 0000002E 4610 mov r0,r2 67 00000030 F7FF FFFE bl PWM_Set_Value_TIM3_Ch3 68 00000034 BC02 pop{r1} 69 00000036 70 00000036 ;incrementer index 71 00000036 6808 ldr r0,[r1] ; valeur index 72 00000038 F100 0001 add r0,#1 ; 73 0000003C 6008 str r0,[r1] ;mettre a jour inde x 74 0000003E 75 0000003E 76 0000003E 77 0000003E 78 0000003E ret 79 0000003E BD00 pop{pc} 80 00000040 4770 bx lr 81 00000042 82 00000042 83 00000042 endp 84 00000042 85 00000042 StartSon proc 86 00000042 87 00000042 4803 ldr r0,=index ; @ index 88 00000044 F04F 0100 mov r1,#0 89 00000048 6001 str r1,[r0] 90 0000004A 91 0000004A 4770 bx lr 92 0000004C 93 0000004C endp 94 0000004C 95 0000004C 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\_CibleS ondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC :\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefin e="__EVAL SETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSIO N SETA 534" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --pred efine="_RTE_ 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 11 in file Src\GestionSon.s Uses None Comment: mesdata unused 1 symbol ARM Macro Assembler Page 1 Alphabetic symbol ordering Relocatable symbols SortieSon 00000004 Symbol: SortieSon Definitions At line 22 in file Src\GestionSon.s Uses At line 23 in file Src\GestionSon.s At line 53 in file Src\GestionSon.s index 00000000 Symbol: index Definitions At line 20 in file Src\GestionSon.s Uses At line 39 in file Src\GestionSon.s At line 87 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 34 in file Src\GestionSon.s Uses At line 4 in file Src\GestionSon.s Comment: CallbackSon used once StartSon 00000042 Symbol: StartSon Definitions At line 85 in file Src\GestionSon.s Uses At line 5 in file Src\GestionSon.s Comment: StartSon used once moncode 00000000 Symbol: moncode Definitions At line 31 in file Src\GestionSon.s Uses None Comment: moncode unused ret 0000003E Symbol: ret Definitions At line 78 in file Src\GestionSon.s Uses At line 43 in file Src\GestionSon.s Comment: ret used once 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 12 in file Src\GestionSon.s Uses At line 38 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 67 in file Src\GestionSon.s Comment: PWM_Set_Value_TIM3_Ch3 used once Son 00000000 Symbol: Son Definitions At line 13 in file Src\GestionSon.s Uses At line 46 in file Src\GestionSon.s Comment: Son used once 9 symbols 354 symbols in table