


ARM Macro Assembler    Page 1 


    1 00000000                 PRESERVE8
    2 00000000                 THUMB
    3 00000000                 include          ./Driver/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         
    6 00000000         ; ====================== zone de réservation de données,
                         ======================================
    7 00000000         ;Section RAM (read only) :
    8 00000000                 area             mesdata,data,readonly
    9 00000000                 extern           Son
   10 00000000         
   11 00000000         ;Section RAM (read write):
   12 00000000                 area             maram,data,readwrite
   13 00000000         
   14 00000000                 export           SortieSon
   15 00000000 00 00   SortieSon
                               dcw              0           ;Declaration d'une 
                                                            variable sur 16bits
                                                            
   16 00000002 00 00 00000000 
                       index   dcd              0
   17 00000008         
   18 00000008         
   19 00000008         
   20 00000008         ; ======================================================
                       =========================================
   21 00000008         
   22 00000008         
   23 00000008         
   24 00000008         
   25 00000008         ;Section ROM code (read only) :  
   26 00000008                 area             moncode,code,readonly
   27 00000000         ; écrire le code ici 
   28 00000000         
   29 00000000                 export           CallbackSon
   30 00000000         CallbackSon
                               proc
   31 00000000 B500            push             {lr}
   32 00000002 480C            ldr              r0, =Son    ;r0=&Son
   33 00000004 4A0C            ldr              r2, =index  ; r2=&index
   34 00000006 6811            ldr              r1, [r2]    ; r1 = index
   35 00000008 5E43            ldrsh            r3, [r0, r1] ;r3=son[index]
   36 0000000A         ; on aurait pu faire ldrsh r3, [r0, r1, lsl #1] et incre
                       menter de 1
   37 0000000A F101 0102       add              r1, #2      ; index +=2
   38 0000000E 6011            str              r1, [r2]    ; index en memoire=
                                                            r1
   39 00000010         
   40 00000010         ;Normalisation de la valeur son [index]
   41 00000010 F503 4300       add              r3, #32768  ;r3+=32278
   42 00000014         
   43 00000014 B410            push             {r4}
   44 00000016 F240 24CF       mov              r4, #719    ; r4 = 719 
   45 0000001A FB03 F304       mul              r3,r4       ;r3*=719
   46 0000001E EA4F 4323       asr              r3, #16     ;r3/=65536



ARM Macro Assembler    Page 3 


   47 00000022 BC10            pop              {r4}
   48 00000024         
   49 00000024         ;On met la valeur modifiée dans SortieSon
   50 00000024 4805            ldr              r0, =SortieSon ;r0=&SortieSon
   51 00000026 6003            str              r3, [r0]
   52 00000028         
   53 00000028 B40F            push             {r0-r3}
   54 0000002A 4618            mov              r0,r3
   55 0000002C F7FF FFFE       bl               PWM_Set_Value_TIM3_Ch3
   56 00000030 BC0F            pop              {r0-r3}
   57 00000032         
   58 00000032 BD00            pop              {pc}
   59 00000034                 endp
   60 00000034         
   61 00000034         
   62 00000034         
   63 00000034         
   64 00000034         
   65 00000034         
   66 00000034         
   67 00000034         
   68 00000034                 END
              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.\RTE\_CibleSondeKEIL -I
C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programda
ta\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL S
ETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534"
 --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_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 8 in file Src\GestionSon.s
   Uses
      None
Comment: mesdata unused
1 symbol



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

SortieSon 00000000

Symbol: SortieSon
   Definitions
      At line 15 in file Src\GestionSon.s
   Uses
      At line 14 in file Src\GestionSon.s
      At line 50 in file Src\GestionSon.s

index 00000004

Symbol: index
   Definitions
      At line 16 in file Src\GestionSon.s
   Uses
      At line 33 in file Src\GestionSon.s
Comment: index used once
maram 00000000

Symbol: maram
   Definitions
      At line 12 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 30 in file Src\GestionSon.s
   Uses
      At line 29 in file Src\GestionSon.s
Comment: CallbackSon used once
moncode 00000000

Symbol: moncode
   Definitions
      At line 26 in file Src\GestionSon.s
   Uses
      None
Comment: moncode unused
2 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
PWM_Set_Value_TIM3_Ch3 00000000

Symbol: PWM_Set_Value_TIM3_Ch3
   Definitions
      At line 18 in file .\Driver\DriverJeuLaser.inc
   Uses
      At line 55 in file Src\GestionSon.s
Comment: PWM_Set_Value_TIM3_Ch3 used once
Son 00000000

Symbol: Son



ARM Macro Assembler    Page 2 Alphabetic symbol ordering
External symbols

   Definitions
      At line 9 in file Src\GestionSon.s
   Uses
      At line 32 in file Src\GestionSon.s
Comment: Son used once
8 symbols
351 symbols in table
