ARM Macro Assembler Page 1 1 00000000 PRESERVE8 2 00000000 THUMB 3 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 47 00000000 ;void GPIOA_Clear(char Broche); 48 00000000 import GPIOA_Clear 49 00000000 ARM Macro Assembler Page 2 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 4 00000000 5 00000000 ; ====================== zone de réservation de données, ====================================== 6 00000000 ;Section RAM (read only) : 7 00000000 area mesdata,data,readonly 8 00000000 9 00000000 10 00000000 ;Section RAM (read write): 11 00000000 area maram,data,readwrite 12 00000000 00000000 FlagCligno dcd 0 13 00000004 14 00000004 15 00000004 ; ====================================================== ========================================= 16 00000004 17 00000004 18 00000004 19 00000004 20 00000004 ;Section ROM code (read only) : 21 00000004 area moncode,code,readonly 22 00000000 23 00000000 24 00000000 export FlagCligno 25 00000000 export timer_callback 26 00000000 27 00000000 ; écrire le code ici 28 00000000 timer_callback proc 29 00000000 30 00000000 B500 push {lr} 31 00000002 ;r1 : &FlagCligno 32 00000002 4909 ldr r1, =FlagCligno 33 00000004 ; r2 : * (&FlagCligno) 34 00000004 680A ldr r2, [r1] 35 00000006 3A01 subs r2, #1 36 00000008 37 00000008 D107 bne Action1 38 0000000A ; on met la valeur 0 dans r0 39 0000000A F04F 0000 mov r0, #0 40 0000000E ; on stocke à l'adresse r1 la valeur dans r0 41 0000000E 6008 str r0, [r1] 42 00000010 ;on prépare R0 pour l'appel de la fonction 43 00000010 F04F 0001 mov r0, #1 44 00000014 F7FF FFFE bl GPIOB_Set 45 00000018 D104 bne Fin 46 0000001A 47 0000001A Action1 48 0000001A ; on met la valeur 1 dans r0 49 0000001A F04F 0001 mov r0, #1 50 0000001E ; on stocke à l'adresse r1 la valeur dans r0 ARM Macro Assembler Page 3 51 0000001E 6008 str r0, [r1] 52 00000020 ;on a r0 à 1 pour l'appel de la fonction 53 00000020 F7FF FFFE bl GPIOB_Clear 54 00000024 55 00000024 Fin 56 00000024 BD00 pop {pc} 57 00000026 endp 58 00000026 59 00000026 60 00000026 61 00000026 62 00000026 63 00000026 ;/* 64 00000026 ;void timer_callback(void) 65 00000026 ;{ 66 00000026 ; if (FlagCligno==1) 67 00000026 ; { 68 00000026 ; FlagCligno=0; 69 00000026 ; GPIOB_Set(1); 70 00000026 ; } 71 00000026 ; else 72 00000026 ; { 73 00000026 ; FlagCligno=1; 74 00000026 ; GPIOB_Clear(1); 75 00000026 ; } 76 00000026 ;}*/ 77 00000026 78 00000026 END 00 00 00000000 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw ork --depend=.\obj\cligno.d -o.\obj\cligno.o -I.\Driver -I.\RTE\_Simu -IC:\Prog ramdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil \Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL SETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534" --pred efine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_RTE_ SETA 1" --list=cligno.lst Src\Cligno.s ARM Macro Assembler Page 1 Alphabetic symbol ordering Relocatable symbols mesdata 00000000 Symbol: mesdata Definitions At line 7 in file Src\Cligno.s Uses None Comment: mesdata unused 1 symbol ARM Macro Assembler Page 1 Alphabetic symbol ordering Relocatable symbols FlagCligno 00000000 Symbol: FlagCligno Definitions At line 12 in file Src\Cligno.s Uses At line 24 in file Src\Cligno.s At line 32 in file Src\Cligno.s maram 00000000 Symbol: maram Definitions At line 11 in file Src\Cligno.s Uses None Comment: maram unused 2 symbols ARM Macro Assembler Page 1 Alphabetic symbol ordering Relocatable symbols Action1 0000001A Symbol: Action1 Definitions At line 47 in file Src\Cligno.s Uses At line 37 in file Src\Cligno.s Comment: Action1 used once Fin 00000024 Symbol: Fin Definitions At line 55 in file Src\Cligno.s Uses At line 45 in file Src\Cligno.s Comment: Fin used once moncode 00000000 Symbol: moncode Definitions At line 21 in file Src\Cligno.s Uses None Comment: moncode unused timer_callback 00000000 Symbol: timer_callback Definitions At line 28 in file Src\Cligno.s Uses At line 25 in file Src\Cligno.s Comment: timer_callback 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 At line 53 in file Src\Cligno.s Comment: GPIOB_Clear used once GPIOB_Set 00000000 Symbol: GPIOB_Set Definitions At line 33 in file .\Driver\DriverJeuLaser.inc Uses At line 44 in file Src\Cligno.s Comment: GPIOB_Set used once 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 PWM_Set_Value_TIM3_Ch3 00000000 Symbol: PWM_Set_Value_TIM3_Ch3 Definitions At line 18 in file .\Driver\DriverJeuLaser.inc Uses None Comment: PWM_Set_Value_TIM3_Ch3 unused 7 symbols 351 symbols in table