From 2f5665052a1f30adcd68ef2a693ad5f4a7d627b8 Mon Sep 17 00:00:00 2001 From: alejeune Date: Thu, 24 Mar 2022 20:55:09 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20des=20parties=201&2=20et=20de=20la=20pa?= =?UTF-8?q?rtie=20son=20(pas=20termin=C3=A9e)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf | 36 + .../CibleSondeST_STM32F103RB_1.0.0.dbgconf | 36 + .../Simu_STM32F103RB_1.0.0.dbgconf | 36 + .../PjtKEIL_StepSon/Driver/DriverJeuLaser.h | 345 + .../PjtKEIL_StepSon/Driver/DriverJeuLaser.inc | 56 + .../PjtKEIL_StepSon/Driver/DriverJeuLaser.lib | Bin 0 -> 44472 bytes .../PjtKEIL_StepSon/EventRecorderStub.scvd | 9 + .../PjtKEIL_StepSon/Obj/ExtDll.iex | 2 + .../PjtKEIL_StepSon/Obj/StepSon.axf | Bin 0 -> 33036 bytes .../PjtKEIL_StepSon/Obj/StepSon.build_log.htm | 64 + .../PjtKEIL_StepSon/Obj/StepSon.hex | 885 +++ .../PjtKEIL_StepSon/Obj/StepSon.htm | 427 ++ .../PjtKEIL_StepSon/Obj/StepSon.lnp | 10 + .../PjtKEIL_StepSon/Obj/StepSon.map | 553 ++ .../PjtKEIL_StepSon/Obj/StepSon.sct | 16 + .../Obj/StepSon_CibleSondeKEIL.dep | 17 + .../PjtKEIL_StepSon/Obj/StepSon_Simu.dep | 17 + .../PjtKEIL_StepSon/Obj/bruitverre.d | 1 + .../PjtKEIL_StepSon/Obj/bruitverre.o | Bin 0 -> 12132 bytes .../PjtKEIL_StepSon/Obj/gestionson.d | 2 + .../PjtKEIL_StepSon/Obj/gestionson.o | Bin 0 -> 2640 bytes .../PjtKEIL_StepSon/Obj/principal.crf | Bin 0 -> 239899 bytes .../PjtKEIL_StepSon/Obj/principal.d | 10 + .../PjtKEIL_StepSon/Obj/principal.o | Bin 0 -> 255504 bytes .../PjtKEIL_StepSon/Obj/startup-rvds.d | 1 + .../PjtKEIL_StepSon/Obj/startup-rvds.o | Bin 0 -> 5996 bytes .../RTE/_CibleSondeKEIL/RTE_Components.h | 21 + .../RTE/_CibleSondeST/RTE_Components.h | 21 + .../RTE/_Simu/RTE_Components.h | 21 + .../PjtKEIL_StepSon/Src/GestionSon.s | 68 + .../PjtKEIL_StepSon/Src/bruitverre.asm | 5527 +++++++++++++++ .../PjtKEIL_StepSon/Src/principal.c | 30 + .../PjtKEIL_StepSon/Src/startup-rvds.s | 335 + .../PjtKEIL_StepSon/StepSon.uvguix.alejeune | 3637 ++++++++++ .../PjtKEIL_StepSon/StepSon.uvoptx | 741 ++ .../PjtKEIL_StepSon/StepSon.uvprojx | 1377 ++++ .../PjtKEIL_StepSon/bruitverre.lst | 6141 +++++++++++++++++ .../PjtKEIL_StepSon/gestionson.lst | 316 + .../PjtKEIL_StepSon/startup-rvds.lst | 1251 ++++ Partie son/Step_Jeu_Son.pdf | Bin 0 -> 413636 bytes Partie son/spice/PWM.asc | 68 + PjtKEIL_StepDeb_1/BacASable.uvguix.alejeune | 3637 ++++++++++ PjtKEIL_StepDeb_1/BacASable.uvoptx | 689 ++ PjtKEIL_StepDeb_1/BacASable.uvprojx | 1347 ++++ .../CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf | 36 + .../Simu_STM32F103RB_1.0.0.dbgconf | 36 + PjtKEIL_StepDeb_1/Driver/DriverJeuLaser.h | 345 + PjtKEIL_StepDeb_1/Driver/DriverJeuLaser.inc | 56 + PjtKEIL_StepDeb_1/Driver/DriverJeuLaser.lib | Bin 0 -> 44472 bytes PjtKEIL_StepDeb_1/EventRecorderStub.scvd | 9 + PjtKEIL_StepDeb_1/Obj/BacASable.axf | Bin 0 -> 14268 bytes PjtKEIL_StepDeb_1/Obj/BacASable.build_log.htm | 62 + PjtKEIL_StepDeb_1/Obj/BacASable.hex | 68 + PjtKEIL_StepDeb_1/Obj/BacASable.htm | 377 + PjtKEIL_StepDeb_1/Obj/BacASable.lnp | 9 + PjtKEIL_StepDeb_1/Obj/BacASable.map | 335 + PjtKEIL_StepDeb_1/Obj/BacASable.sct | 16 + .../Obj/BacASable_CibleSondeKEIL.dep | 15 + PjtKEIL_StepDeb_1/Obj/ExtDll.iex | 2 + PjtKEIL_StepDeb_1/Obj/delay.d | 1 + PjtKEIL_StepDeb_1/Obj/delay.o | Bin 0 -> 2280 bytes PjtKEIL_StepDeb_1/Obj/principal.crf | Bin 0 -> 239788 bytes PjtKEIL_StepDeb_1/Obj/principal.d | 10 + PjtKEIL_StepDeb_1/Obj/principal.o | Bin 0 -> 254984 bytes PjtKEIL_StepDeb_1/Obj/startup-rvds.d | 1 + PjtKEIL_StepDeb_1/Obj/startup-rvds.o | Bin 0 -> 5968 bytes .../RTE/_CibleSondeKEIL/RTE_Components.h | 21 + PjtKEIL_StepDeb_1/RTE/_Simu/RTE_Components.h | 21 + PjtKEIL_StepDeb_1/Src/Delay.s | 60 + PjtKEIL_StepDeb_1/Src/principal.c | 32 + PjtKEIL_StepDeb_1/Src/startup-rvds.s | 335 + PjtKEIL_StepDeb_1/delay.lst | 179 + PjtKEIL_StepDeb_1/startup-rvds.lst | 1251 ++++ PjtKEIL_StepDeb_2/BacASable.uvguix.alejeune | 3637 ++++++++++ PjtKEIL_StepDeb_2/BacASable.uvoptx | 696 ++ PjtKEIL_StepDeb_2/BacASable.uvprojx | 1347 ++++ .../CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf | 36 + .../Simu_STM32F103RB_1.0.0.dbgconf | 36 + PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.h | 345 + PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.inc | 56 + PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.lib | Bin 0 -> 44472 bytes PjtKEIL_StepDeb_2/EventRecorderStub.scvd | 9 + PjtKEIL_StepDeb_2/Obj/BacASable.axf | Bin 0 -> 21088 bytes PjtKEIL_StepDeb_2/Obj/BacASable.build_log.htm | 62 + PjtKEIL_StepDeb_2/Obj/BacASable.hex | 182 + PjtKEIL_StepDeb_2/Obj/BacASable.htm | 420 ++ PjtKEIL_StepDeb_2/Obj/BacASable.lnp | 9 + PjtKEIL_StepDeb_2/Obj/BacASable.map | 540 ++ PjtKEIL_StepDeb_2/Obj/BacASable.sct | 16 + .../Obj/BacASable_CibleSondeKEIL.dep | 15 + PjtKEIL_StepDeb_2/Obj/BacASable_Simu.dep | 16 + PjtKEIL_StepDeb_2/Obj/ExtDll.iex | 2 + PjtKEIL_StepDeb_2/Obj/cligno.d | 2 + PjtKEIL_StepDeb_2/Obj/cligno.o | Bin 0 -> 2536 bytes PjtKEIL_StepDeb_2/Obj/principal.crf | Bin 0 -> 239824 bytes PjtKEIL_StepDeb_2/Obj/principal.d | 10 + PjtKEIL_StepDeb_2/Obj/principal.o | Bin 0 -> 254972 bytes PjtKEIL_StepDeb_2/Obj/startup-rvds.d | 1 + PjtKEIL_StepDeb_2/Obj/startup-rvds.o | Bin 0 -> 5968 bytes .../RTE/_CibleSondeKEIL/RTE_Components.h | 21 + PjtKEIL_StepDeb_2/RTE/_Simu/RTE_Components.h | 21 + PjtKEIL_StepDeb_2/Src/Cligno.s | 78 + PjtKEIL_StepDeb_2/Src/principal.c | 46 + PjtKEIL_StepDeb_2/Src/startup-rvds.s | 335 + PjtKEIL_StepDeb_2/cligno.lst | 314 + PjtKEIL_StepDeb_2/startup-rvds.lst | 1251 ++++ README.md | 8 +- 107 files changed, 40537 insertions(+), 1 deletion(-) create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/CibleSondeST_STM32F103RB_1.0.0.dbgconf create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/Simu_STM32F103RB_1.0.0.dbgconf create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.h create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.inc create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.lib create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/EventRecorderStub.scvd create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/ExtDll.iex create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.axf create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.build_log.htm create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.hex create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.htm create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.lnp create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.map create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.sct create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon_CibleSondeKEIL.dep create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon_Simu.dep create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/bruitverre.d create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/bruitverre.o create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/gestionson.d create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/gestionson.o create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/principal.crf create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/principal.d create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/principal.o create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/startup-rvds.d create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/startup-rvds.o create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/RTE/_CibleSondeKEIL/RTE_Components.h create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/RTE/_CibleSondeST/RTE_Components.h create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/RTE/_Simu/RTE_Components.h create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Src/GestionSon.s create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Src/bruitverre.asm create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Src/principal.c create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Src/startup-rvds.s create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/StepSon.uvguix.alejeune create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/StepSon.uvoptx create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/StepSon.uvprojx create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/bruitverre.lst create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/gestionson.lst create mode 100644 Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/startup-rvds.lst create mode 100644 Partie son/Step_Jeu_Son.pdf create mode 100644 Partie son/spice/PWM.asc create mode 100644 PjtKEIL_StepDeb_1/BacASable.uvguix.alejeune create mode 100644 PjtKEIL_StepDeb_1/BacASable.uvoptx create mode 100644 PjtKEIL_StepDeb_1/BacASable.uvprojx create mode 100644 PjtKEIL_StepDeb_1/DebugConfig/CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf create mode 100644 PjtKEIL_StepDeb_1/DebugConfig/Simu_STM32F103RB_1.0.0.dbgconf create mode 100644 PjtKEIL_StepDeb_1/Driver/DriverJeuLaser.h create mode 100644 PjtKEIL_StepDeb_1/Driver/DriverJeuLaser.inc create mode 100644 PjtKEIL_StepDeb_1/Driver/DriverJeuLaser.lib create mode 100644 PjtKEIL_StepDeb_1/EventRecorderStub.scvd create mode 100644 PjtKEIL_StepDeb_1/Obj/BacASable.axf create mode 100644 PjtKEIL_StepDeb_1/Obj/BacASable.build_log.htm create mode 100644 PjtKEIL_StepDeb_1/Obj/BacASable.hex create mode 100644 PjtKEIL_StepDeb_1/Obj/BacASable.htm create mode 100644 PjtKEIL_StepDeb_1/Obj/BacASable.lnp create mode 100644 PjtKEIL_StepDeb_1/Obj/BacASable.map create mode 100644 PjtKEIL_StepDeb_1/Obj/BacASable.sct create mode 100644 PjtKEIL_StepDeb_1/Obj/BacASable_CibleSondeKEIL.dep create mode 100644 PjtKEIL_StepDeb_1/Obj/ExtDll.iex create mode 100644 PjtKEIL_StepDeb_1/Obj/delay.d create mode 100644 PjtKEIL_StepDeb_1/Obj/delay.o create mode 100644 PjtKEIL_StepDeb_1/Obj/principal.crf create mode 100644 PjtKEIL_StepDeb_1/Obj/principal.d create mode 100644 PjtKEIL_StepDeb_1/Obj/principal.o create mode 100644 PjtKEIL_StepDeb_1/Obj/startup-rvds.d create mode 100644 PjtKEIL_StepDeb_1/Obj/startup-rvds.o create mode 100644 PjtKEIL_StepDeb_1/RTE/_CibleSondeKEIL/RTE_Components.h create mode 100644 PjtKEIL_StepDeb_1/RTE/_Simu/RTE_Components.h create mode 100644 PjtKEIL_StepDeb_1/Src/Delay.s create mode 100644 PjtKEIL_StepDeb_1/Src/principal.c create mode 100644 PjtKEIL_StepDeb_1/Src/startup-rvds.s create mode 100644 PjtKEIL_StepDeb_1/delay.lst create mode 100644 PjtKEIL_StepDeb_1/startup-rvds.lst create mode 100644 PjtKEIL_StepDeb_2/BacASable.uvguix.alejeune create mode 100644 PjtKEIL_StepDeb_2/BacASable.uvoptx create mode 100644 PjtKEIL_StepDeb_2/BacASable.uvprojx create mode 100644 PjtKEIL_StepDeb_2/DebugConfig/CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf create mode 100644 PjtKEIL_StepDeb_2/DebugConfig/Simu_STM32F103RB_1.0.0.dbgconf create mode 100644 PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.h create mode 100644 PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.inc create mode 100644 PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.lib create mode 100644 PjtKEIL_StepDeb_2/EventRecorderStub.scvd create mode 100644 PjtKEIL_StepDeb_2/Obj/BacASable.axf create mode 100644 PjtKEIL_StepDeb_2/Obj/BacASable.build_log.htm create mode 100644 PjtKEIL_StepDeb_2/Obj/BacASable.hex create mode 100644 PjtKEIL_StepDeb_2/Obj/BacASable.htm create mode 100644 PjtKEIL_StepDeb_2/Obj/BacASable.lnp create mode 100644 PjtKEIL_StepDeb_2/Obj/BacASable.map create mode 100644 PjtKEIL_StepDeb_2/Obj/BacASable.sct create mode 100644 PjtKEIL_StepDeb_2/Obj/BacASable_CibleSondeKEIL.dep create mode 100644 PjtKEIL_StepDeb_2/Obj/BacASable_Simu.dep create mode 100644 PjtKEIL_StepDeb_2/Obj/ExtDll.iex create mode 100644 PjtKEIL_StepDeb_2/Obj/cligno.d create mode 100644 PjtKEIL_StepDeb_2/Obj/cligno.o create mode 100644 PjtKEIL_StepDeb_2/Obj/principal.crf create mode 100644 PjtKEIL_StepDeb_2/Obj/principal.d create mode 100644 PjtKEIL_StepDeb_2/Obj/principal.o create mode 100644 PjtKEIL_StepDeb_2/Obj/startup-rvds.d create mode 100644 PjtKEIL_StepDeb_2/Obj/startup-rvds.o create mode 100644 PjtKEIL_StepDeb_2/RTE/_CibleSondeKEIL/RTE_Components.h create mode 100644 PjtKEIL_StepDeb_2/RTE/_Simu/RTE_Components.h create mode 100644 PjtKEIL_StepDeb_2/Src/Cligno.s create mode 100644 PjtKEIL_StepDeb_2/Src/principal.c create mode 100644 PjtKEIL_StepDeb_2/Src/startup-rvds.s create mode 100644 PjtKEIL_StepDeb_2/cligno.lst create mode 100644 PjtKEIL_StepDeb_2/startup-rvds.lst diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf new file mode 100644 index 0000000..66e10b6 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf @@ -0,0 +1,36 @@ +// File: STM32F101_102_103_105_107.dbgconf +// Version: 1.0.0 +// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008) +// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets + +// <<< Use Configuration Wizard in Context Menu >>> + +// Debug MCU configuration register (DBGMCU_CR) +// Reserved bits must be kept at reset value +// DBG_TIM11_STOP TIM11 counter stopped when core is halted +// DBG_TIM10_STOP TIM10 counter stopped when core is halted +// DBG_TIM9_STOP TIM9 counter stopped when core is halted +// DBG_TIM14_STOP TIM14 counter stopped when core is halted +// DBG_TIM13_STOP TIM13 counter stopped when core is halted +// DBG_TIM12_STOP TIM12 counter stopped when core is halted +// DBG_CAN2_STOP Debug CAN2 stopped when core is halted +// DBG_TIM7_STOP TIM7 counter stopped when core is halted +// DBG_TIM6_STOP TIM6 counter stopped when core is halted +// DBG_TIM5_STOP TIM5 counter stopped when core is halted +// DBG_TIM8_STOP TIM8 counter stopped when core is halted +// DBG_I2C2_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_I2C1_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_CAN1_STOP Debug CAN1 stopped when Core is halted +// DBG_TIM4_STOP TIM4 counter stopped when core is halted +// DBG_TIM3_STOP TIM3 counter stopped when core is halted +// DBG_TIM2_STOP TIM2 counter stopped when core is halted +// DBG_TIM1_STOP TIM1 counter stopped when core is halted +// DBG_WWDG_STOP Debug window watchdog stopped when core is halted +// DBG_IWDG_STOP Debug independent watchdog stopped when core is halted +// DBG_STANDBY Debug standby mode +// DBG_STOP Debug stop mode +// DBG_SLEEP Debug sleep mode +// +DbgMCU_CR = 0x00000007; + +// <<< end of configuration section >>> diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/CibleSondeST_STM32F103RB_1.0.0.dbgconf b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/CibleSondeST_STM32F103RB_1.0.0.dbgconf new file mode 100644 index 0000000..66e10b6 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/CibleSondeST_STM32F103RB_1.0.0.dbgconf @@ -0,0 +1,36 @@ +// File: STM32F101_102_103_105_107.dbgconf +// Version: 1.0.0 +// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008) +// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets + +// <<< Use Configuration Wizard in Context Menu >>> + +// Debug MCU configuration register (DBGMCU_CR) +// Reserved bits must be kept at reset value +// DBG_TIM11_STOP TIM11 counter stopped when core is halted +// DBG_TIM10_STOP TIM10 counter stopped when core is halted +// DBG_TIM9_STOP TIM9 counter stopped when core is halted +// DBG_TIM14_STOP TIM14 counter stopped when core is halted +// DBG_TIM13_STOP TIM13 counter stopped when core is halted +// DBG_TIM12_STOP TIM12 counter stopped when core is halted +// DBG_CAN2_STOP Debug CAN2 stopped when core is halted +// DBG_TIM7_STOP TIM7 counter stopped when core is halted +// DBG_TIM6_STOP TIM6 counter stopped when core is halted +// DBG_TIM5_STOP TIM5 counter stopped when core is halted +// DBG_TIM8_STOP TIM8 counter stopped when core is halted +// DBG_I2C2_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_I2C1_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_CAN1_STOP Debug CAN1 stopped when Core is halted +// DBG_TIM4_STOP TIM4 counter stopped when core is halted +// DBG_TIM3_STOP TIM3 counter stopped when core is halted +// DBG_TIM2_STOP TIM2 counter stopped when core is halted +// DBG_TIM1_STOP TIM1 counter stopped when core is halted +// DBG_WWDG_STOP Debug window watchdog stopped when core is halted +// DBG_IWDG_STOP Debug independent watchdog stopped when core is halted +// DBG_STANDBY Debug standby mode +// DBG_STOP Debug stop mode +// DBG_SLEEP Debug sleep mode +// +DbgMCU_CR = 0x00000007; + +// <<< end of configuration section >>> diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/Simu_STM32F103RB_1.0.0.dbgconf b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/Simu_STM32F103RB_1.0.0.dbgconf new file mode 100644 index 0000000..66e10b6 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/DebugConfig/Simu_STM32F103RB_1.0.0.dbgconf @@ -0,0 +1,36 @@ +// File: STM32F101_102_103_105_107.dbgconf +// Version: 1.0.0 +// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008) +// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets + +// <<< Use Configuration Wizard in Context Menu >>> + +// Debug MCU configuration register (DBGMCU_CR) +// Reserved bits must be kept at reset value +// DBG_TIM11_STOP TIM11 counter stopped when core is halted +// DBG_TIM10_STOP TIM10 counter stopped when core is halted +// DBG_TIM9_STOP TIM9 counter stopped when core is halted +// DBG_TIM14_STOP TIM14 counter stopped when core is halted +// DBG_TIM13_STOP TIM13 counter stopped when core is halted +// DBG_TIM12_STOP TIM12 counter stopped when core is halted +// DBG_CAN2_STOP Debug CAN2 stopped when core is halted +// DBG_TIM7_STOP TIM7 counter stopped when core is halted +// DBG_TIM6_STOP TIM6 counter stopped when core is halted +// DBG_TIM5_STOP TIM5 counter stopped when core is halted +// DBG_TIM8_STOP TIM8 counter stopped when core is halted +// DBG_I2C2_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_I2C1_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_CAN1_STOP Debug CAN1 stopped when Core is halted +// DBG_TIM4_STOP TIM4 counter stopped when core is halted +// DBG_TIM3_STOP TIM3 counter stopped when core is halted +// DBG_TIM2_STOP TIM2 counter stopped when core is halted +// DBG_TIM1_STOP TIM1 counter stopped when core is halted +// DBG_WWDG_STOP Debug window watchdog stopped when core is halted +// DBG_IWDG_STOP Debug independent watchdog stopped when core is halted +// DBG_STANDBY Debug standby mode +// DBG_STOP Debug stop mode +// DBG_SLEEP Debug sleep mode +// +DbgMCU_CR = 0x00000007; + +// <<< end of configuration section >>> diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.h b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.h new file mode 100644 index 0000000..bc9b3bd --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.h @@ -0,0 +1,345 @@ +/** + * Bibliotheque DriverJeuLaser (ancienne gassp72 adaptée 2021 - TR) + * + * GPIO - ADC - Sequenceur - System Timer - PWM - 72 MHz + * Modifs : + * enlèvement de tout ce qui est inutile dans le .h + * ajout de fonctions GPIO dans le .c pour utilisation en ASM ou en C : + * - GPIOA_Set(char Broche), GPIOB_Set(char Broche), GPIOC_Set(char Broche) + * - GPIOA_Clear(char Broche), GPIOB_Clear(char Broche), GPIOC_Clear(char Broche) + * + * ajout d'une fonction qui impose une valeur de PWM (TIM3_CCR3) + * PWM_Set_Value_On_TIM3_C3( int Val) + * permet en ASM ou en C de fixer la valeur de PWM + + * Ajout de commentaires + + */ +#ifndef DRIVERJEULASER_H__ +#define DRIVERJEULASER_H__ + +#include "stm32f10x.h" + +//********************************************************************************************************** +//--------------------- CONFIGURATION CLOCK DU STM32 -------------------------------------- +//********************************************************************************************************** + +/** + * @brief Configure l'ensemble des horloges du uC + * @note horloge systeme (config statique a 72 MHz pour le STM32F103) + * @param None + * @retval None + */ +void CLOCK_Configure(void); + + + + + + + + + + +//********************************************************************************************************** +//--------------------- LES TIMERS GENERAL PURPOSE TIM1 à TIM 4 ------------------------------ +//********************************************************************************************************** + +/** + * @brief Configure un Timer TIM1 à TIM4 avec une périodicité donnée + * @note L' horloge des 4 timers a une fréquence de 72MHz + * @param *Timer = TIM1 ou TIM2 ou TIM3 ou TIM4 + * @param Durée_ticks : nombre de pas (tick) comptés à 72 MHz pour faire déborder le timer + * La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000 + * @retval None + */ +void Timer_1234_Init_ff( TIM_TypeDef *Timer, u32 Duree_ticks ); + +/** + * Macros de base pour utiliser les timers + */ + // bloque le timer +#define Bloque_Timer(Timer) Timer->CR1=(Timer->CR1)&~(1<<0) +// Lance timer +#define Run_Timer(Timer) Timer->CR1=(Timer->CR1)|(1<<0) + + + +/** + * @brief Associe une fonction d'interruption (callback) lors du débordement d'un timer + * @note + * @param *Timer = TIM1 ou TIM2 ou TIM3 ou TIM4 + * @param Prio : niveau de priorité de l'interruption (0 -> priorité max, 15 -> priorité min) + * @param IT_function : le nom de la fonction Callback à appeler lors de l'interruption + * @retval None + */ +void Active_IT_Debordement_Timer( TIM_TypeDef *Timer, char Prio, void (*IT_function)(void) ); + + + + + + + + + + + +//********************************************************************************************************* +//--------------------- PWM TIM1 to TIM 4 ------------------------------ +//********************************************************************************************************* + +/** + * @brief Configure un timer en PWM + * @note + * @param *Timer = TIM1 ou TIM2 ou TIM3 ou TIM4 + * @param voie : un des 4 canaux possibles 1 à 4. + * @param Periode_ticks : nombre de pas (tick) comptés à 72 MHz pour faire déborder le timer + * La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000 + * @retval Retourne la période en tick (normalement la même que le param d'entrée sauf si PSC utilisé + */ +unsigned short int PWM_Init_ff( TIM_TypeDef *Timer, char Voie, u32 Periode_ticks ); + + + +/** + * @brief Fixe une valeur de PWM, Val, en tick horloge. La rapport cyclique effectif + * est donc : rcy = Thaut_ticks / Periode_ticks + * @note spécifique Jeu Laser, PWM liée exclusivement au TIM3, chan3 + * @param Thaut_ticks : durée de l'état haut d'une impulsion en Ticks + * @retval None + */ +void PWM_Set_Value_TIM3_Ch3( unsigned short int Thaut_ticks); + + + + + + + + + +//********************************************************************************************************** +//--------------------- LE SYSTICK TIMER, Part of Cortex M3 ------------------------------ +//********************************************************************************************************** + +/** + * @brief Configure le timer Systick avec une périodicité donnée + * @note Ce timer ne peut servir qu'à créer des temporisations ou générer des interruption + * ce n'est pas à proprement parler un périphérique, il fait partie du Cortex M3 + * Ce timer est un 24 bits + * @param Periode_ticks : nombre de pas (tick) comptés à 72 MHz pour établir la périodicité + * La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000 + * @retval None + */ +void Systick_Period_ff( unsigned int Periode_ticks ); + + + +/** + * @brief Associe une fonction d'interruption (callback) lors du débordement du Systick + * @note + * @param Prio : niveau de priorité de l'interruption (0 -> priorité max, 15 -> priorité min) + * @param IT_function : le nom de la fonction Callback à appeler lors de l'interruption + * @retval None + */ +void Systick_Prio_IT( char Prio, void (*Systick_function)(void) ); + + +/** + * Macros de base pour utiliser le Systick + */ +#define SysTick_On ((SysTick->CTRL)=(SysTick->CTRL)|1<<0) +#define SysTick_Off ((SysTick->CTRL)=(SysTick->CTRL)& ~(1<<0)) +#define SysTick_Enable_IT ((SysTick->CTRL)=(SysTick->CTRL)|1<<1) +#define SysTick_Disable_IT ((SysTick->CTRL)=(SysTick->CTRL)& ~(1<<1)) + + + + + + + + + + + + + + +//********************************************************************************************************** +//--------------------- LE SYSTICK TIMER, Part of Cortex M3 ------------------------------ +//********************************************************************************************************** + +/** + * @brief Active l'ADC du STM32, configure la durée de prélèvement de l'échantillon (temps + * de fermeture du switch d'acquisition + * @note + * @param ADC : précise de quel ADC il s'agit, ADC1 ou ADC2 + * @param Duree_Ech_ticks : dirée de fermeture du switch d'échantillonnage en Tick d'horloge CPU + * exemple pour 1µs on choisira 72. + * @retval Nombre de Tick réellement pris en compte + */ +unsigned int Init_TimingADC_ActiveADC_ff( ADC_TypeDef * ADC, u32 Duree_Ech_ticks ); + + +/** + * @brief Sélectionne la voie à convertir + * @note Attention, la voie va de 0 à 15 et n'est pas directement lié au n°de GPIO + * @param ADC : précise de quel ADC il s'agit, ADC1 ou ADC2 + * @param Voie_ADC : 1 à 15 + * @retval None + */ +void Single_Channel_ADC( ADC_TypeDef * ADC, char Voie_ADC ); + + + + + +/** + * @brief Permet lier le déclenchement au débordement d'un timer, spécifie également + * la période de débordement du timer + * @note pas besoin de régler le timer avec une autre fonction dédiée timer + * @param ADC : précise de quel ADC il s'agit, ADC1 ou ADC2 + * @param Source : indique le timer qui déclenche l'ADC choix dans les define ci-dessous + * @param Periode_ticks : nombre de pas (tick) comptés à 72 MHz pour faire déborder le timer + * La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000 + * @retval None + */ + +// param pour Source : +#define TIM1_CC1 0 +#define TIM1_CC2 1 +#define TIM1_CC3 2 +#define TIM2_CC2 3 +#define TIM4_CC4 5 +void Init_Conversion_On_Trig_Timer_ff( ADC_TypeDef * ADC, char Source, u32 Periode_ticks ); + + + + + + + + + + + + + + + +//********************************************************************************************************** +//--------------------- ANALOG INPUT ADC & DMA ------------------------------ +//********************************************************************************************************** + +/** + * @brief Permer de lier l'ADC à un tableau en RAM pour une DMA + * @note + * @param Circ : circular. Si '0', en fin de DMA le ptr d'@ reste inchangé + * si '1' le ptr d'@ se recale à celle du début. + * @param Ptr_Table_DMA : contient l'@ de début de zone RAM à écrire + * @retval None + */ +void Init_ADC1_DMA1(char Circ, short int *Ptr_Table_DMA); + + + + + +/** + * @brief Lance une DMA sur le nombre de points spécifie. Les resultats seront stockes + * dans la zone de RAM écrite est indiquée lors de l'appel de la fonction Init_ADC1_DMA1 + * @note + * @param NbEchDMA est le nombre d'échantillons à stocker. + * @retval None + */ +void Start_DMA1( u16 NbEchDMA ); + +// arret DMA +#define Stop_DMA1 DMA1_Channel1->CCR =(DMA1_Channel1->CCR) &~0x1; + + +/** + * @brief Attend la fin d'un cycle de DMA. la duree depend de la periode d'acquisition + * et du nombre d'echantillons + * @note fonction d'attente (bloquante) + * @param None + * @retval None + */ +void Wait_On_End_Of_DMA1(void); + + + + + + + + +//********************************************************************************************************** +//--------------------- GPIO ------------------------------ +//********************************************************************************************************** + +/** + * @brief Initialisation d'un GPIO (A à C), pin x. + * peut être configuré : + * -> Input ou output + * -> architecture technologique (push-pull, open drain...) + + * @note + * @param Port : GPIOA, GPIOB, GPIOC + * @param Broche : 0 à 15 + * @param Sens : INPUT ou OUTPUT + * @param Techno : voir define ci dessous + * @retval 1 erreur, 0 si OK + */ + +// Sens +#define INPUT 'i' +#define OUTPUT 'o' + +// Techno pour pin en entrée (INPUT) +#define ANALOG 0 +#define INPUT_FLOATING 1 +#define INPUT_PULL_DOWN_UP 2 + +// Techno pour pin en sortie (OUTPUT) +#define OUTPUT_PPULL 0 +#define OUTPUT_OPDRAIN 1 +#define ALT_PPULL 2 +#define ALT_OPDRAIN 3 + +// Exemple : +// Port_IO_Init(GPIOB, 8, OUTPUT, OUTPUT_PPULL); +// Place le bit 8 du port B en sortie Push-pull +char GPIO_Configure(GPIO_TypeDef * Port, int Broche, int Sens, int Techno); + + +/** + * @brief Mise à 1 d'une broche GPIO + * @note Une fonction par GPIO + * @param Broche : 0 à 15 + * @retval None + */ + +void GPIOA_Set(char Broche); +void GPIOB_Set(char Broche); +void GPIOC_Set(char Broche); + + + +/** + * @brief Mise à 0 d'une broche GPIO + * @note Une fonction par GPIO + * @param Broche : 0 à 15 + * @retval None + */ + +void GPIOA_Clear(char Broche); +void GPIOB_Clear(char Broche); +void GPIOC_Clear(char Broche); + + +#endif + + diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.inc b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.inc new file mode 100644 index 0000000..48d5e50 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.inc @@ -0,0 +1,56 @@ + +; Bibliotheque DriverJeuLaser (ancienne gassp72 adaptée 2021 - TR) +; Accès en aux fonctions suivantes : +; GPIO : +; GPIOA_Set(char Broche), GPIOB_Set(char Broche), GPIOC_Set(char Broche) +; GPIOA_Clear(char Broche), GPIOB_Clear(char Broche), GPIOC_Clear(char Broche) + +; PWM : +;/** +; * @brief Fixe une valeur de PWM, Val, en tick horloge. La rapport cyclique effectif +; * est donc : rcy = Thaut_ticks / Periode_ticks +; * @note spécifique Jeu Laser, PWM liée exclusivement au TIM3, chan3 +; * @param Thaut_ticks : durée de l'état haut d'une impulsion en Ticks +; * @retval None +; */ + +;void PWM_Set_Value_TIM3_Ch3( unsigned short int Thaut_ticks); + import PWM_Set_Value_TIM3_Ch3 + + + +;/** +; * @brief Mise à 1 d'une broche GPIO +; * @note Une fonction par GPIO +; * @param Broche : 0 à 15 +; * @retval None +; */ + +;void GPIOA_Set(char Broche); + import GPIOA_Set + +;void GPIOB_Set(char Broche); + import GPIOB_Set + +;void GPIOC_Set(char Broche); + import GPIOC_Set + + + +;/** +; * @brief Mise à 0 d'une broche GPIO +; * @note Une fonction par GPIO +; * @param Broche : 0 à 15 +; * @retval None +; */ + +;void GPIOA_Clear(char Broche); + import GPIOA_Clear + +;void GPIOB_Clear(char Broche); + import GPIOB_Clear + +;void GPIOC_Clear(char Broche); + import GPIOC_Clear + + end diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.lib b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Driver/DriverJeuLaser.lib new file mode 100644 index 0000000000000000000000000000000000000000..b26c40df2f294e9fa6cd17e4d3440493c7223999 GIT binary patch literal 44472 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 Rn0md%VsR{Wl@KT|{69|st#AMU literal 0 HcmV?d00001 diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/EventRecorderStub.scvd b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/EventRecorderStub.scvd new file mode 100644 index 0000000..2956b29 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/EventRecorderStub.scvd @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/ExtDll.iex b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/ExtDll.iex new file mode 100644 index 0000000..6c0896e --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/ExtDll.iex @@ -0,0 +1,2 @@ +[EXTDLL] +Count=0 diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.axf b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.axf new file mode 100644 index 0000000000000000000000000000000000000000..6c2184112a9b1b51068d18083ccfef304d6fa429 GIT binary patch literal 33036 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 X_e8hgLKcU)1Bp0pYtNc3qO|T0GE7Yw literal 0 HcmV?d00001 diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.build_log.htm b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.build_log.htm new file mode 100644 index 0000000..911e1d4 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.build_log.htm @@ -0,0 +1,64 @@ + + +
+

µVision Build Log

+

Tool Versions:

+IDE-Version: µVision V5.34.0.0 +Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: CSN CSN, INSA de Toulouse, LIC=---- + +Tool Versions: +Toolchain: MDK-Lite Version: 5.34.0.0 +Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin +C Compiler: Armcc.exe V5.06 update 7 (build 960) +Assembler: Armasm.exe V5.06 update 7 (build 960) +Linker/Locator: ArmLink.exe V5.06 update 7 (build 960) +Library Manager: ArmAr.exe V5.06 update 7 (build 960) +Hex Converter: FromElf.exe V5.06 update 7 (build 960) +CPU DLL: SARMCM3.DLL V5.34.0.0 +Dialog DLL: DARMSTM.DLL V1.68.0.0 +Target DLL: UL2CM3.DLL V1.163.9.0 +Dialog DLL: TCM.DLL V1.48.0.0 + +

Project:

+U:\Documents\3MIC\S2\BE_CHTI\Assembleur\Partie son\PjtKEIL_StepSon\PjtKEIL_StepSon\StepSon.uvprojx +Project File Date: 03/22/2022 + +

Output:

+*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' +Rebuild target 'CibleSondeKEIL' +assembling startup-rvds.s... +assembling bruitverre.asm... +assembling GestionSon.s... +Src\GestionSon.s(16): warning: A1581W: Added 2 bytes of padding at address 0x2 +compiling principal.c... +linking... +Program Size: Code=2636 RO-data=11300 RW-data=168 ZI-data=1024 +FromELF: creating hex file... +".\Obj\StepSon.axf" - 0 Error(s), 1 Warning(s). + +

Software Packages used:

+ +Package Vendor: ARM + http://www.keil.com/pack/ARM.CMSIS.5.7.0.pack + ARM.CMSIS.5.7.0 + CMSIS (Cortex Microcontroller Software Interface Standard) + * Component: CORE Version: 5.4.0 + +Package Vendor: Keil + http://www.keil.com/pack/Keil.STM32F1xx_DFP.2.3.0.pack + Keil.STM32F1xx_DFP.2.3.0 + STMicroelectronics STM32F1 Series Device Support, Drivers and Examples + +

Collection of Component include folders:

+ .\RTE\_CibleSondeKEIL + C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include + C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include + +

Collection of Component Files used:

+ + * Component: ARM::CMSIS:CORE:5.4.0 +Build Time Elapsed: 00:00:02 +
+ + diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.hex b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.hex new file mode 100644 index 0000000..5bb86b1 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.hex @@ -0,0 +1,885 @@ +:020000040800F2 +:10000000A804002005010008290100082B010008B0 +:100010002D0100082F010008310100080000000038 +:100020000000000000000000000000003301000894 +:100030003501000800000000370100083901000800 +:100040003B0100083B0100083B0100083B010008A0 +:100050003B0100083B0100083B0100083B01000890 +:100060003B0100083B0100083B0100083B01000880 +:100070003B0100083B0100083B0100083B01000870 +:100080003B0100083B0100083B0100083B01000860 +:100090003B0100083B0100083B0100083B01000850 +:1000A0003B010008990600083B0100088D05000887 +:1000B000B1060008C1070008ED0800083B01000870 +:1000C0003B0100083B0100083B0100083B01000820 +:1000D0003B0100083B0100083B0100083B01000810 +:1000E0003B0100083B0100083B010008DFF810D08D +:1000F00000F02EF800480047B50A0008AFF3008072 +:10010000A80400200D488047DFF83400016841F45E +:10011000E0210160BFF34F8FDFF82800DFF82810DF +:1001200001600A4800477047FEE7FEE7FEE7FEE78A +:10013000FEE7FEE7FEE7FEE7FEE7FEE72701000831 +:1001400024ED00E00CED00E00003FA05ED000008EE +:10015000064C074D06E0E06840F0010394E8070014 +:1001600098471034AC42F6D3FFF7C4FF380B0008B1 +:10017000580B00082DE9F041DFF8C4C0314B604551 +:1001800003D19C6944F400649C614FF08046B04206 +:1001900003D1DC6944F00104DC612B4DA84203D19A +:1001A000DC6944F00204DC61284FB84203D1DC6909 +:1001B00044F00404DC61838943F0010383810F2947 +:1001C00000D90F21224C4FF0E02360450CD1226171 +:1001D000DFF880804FEA011C88F800C0D3F800C126 +:1001E0004CF0007CC3F800C1B0420DD16261DFF871 +:1001F00064C00E010CF1030C8CF80060D3F80061B0 +:1002000046F08056C3F80061A8420AD1A261114E9F +:100210000D01361D3570D3F8005145F00055C3F877 +:100220000051B8420AD1E26108010A49491D08702B +:10023000D3F8000140F08040C3F80001BDE8F08130 +:10024000002C014000100240000400400008004063 +:100250000000002019E400E070B5194C83202060F4 +:1002600000256560A56017486060012000F044F833 +:1002700061680843606014490D60086840F002003E +:100280000860206840F48030206020688003FCD53E +:10029000206840F08070206020688001FCD5606894 +:1002A00020F003006060606840F0020060606068F9 +:1002B00040F480006060086840F01000086070BD85 +:1002C0000010024000841D000020024000487047DA +:1002D00000A24A040549064A884202D005498842DC +:1002E00001D110467047104670470000002C0140B5 +:1002F00000A24A0400340140012804D0B0F5807FF8 +:1003000003DD012102E000202CE00021802801DD36 +:10031000012200E000220A44402801DD012100E022 +:1003200000210A44102801DD012100E000210A44D7 +:10033000082801DD012100E000210A44042801DD34 +:10034000012100E000210A44022801DD012100E032 +:1003500000211144012801DD012000E000200844B3 +:10036000C01D0001702800D100207047012181408C +:1003700001480160704700001408014001218140DC +:1003800001480160704700001008014001218140D0 +:100390000148016070470000140C014001218140B8 +:1003A0000148016070470000100C014001218140AC +:1003B0000148416170470000001001400121814067 +:1003C000014801617047000000100140F0B53B4E4C +:1003D0003B4CB04203D1A66946F00406A661394EF3 +:1003E000B04203D1A66946F00806A661364EB04277 +:1003F00003D1A66946F01006A661344EB04203D17F +:10040000A66946F02006A661314EB04203D1A66926 +:1004100046F04006A66100240F2900DD0124692A68 +:1004200001D0492A02D1032B00D10124032B00DD86 +:100430000124692A06D0492A04D06F2A02D04F2A03 +:1004400000D00124692A01D0492A00D100256F2A51 +:1004500001D04F2A00D1012503260222082915DAEE +:10046000076802EB810206FA02FC27EA0C07076024 +:10047000076893401F430760026889008E40B243BB +:10048000026002688D402A43026015E0083947681F +:1004900002EB810206FA02FC27EA0C074760476874 +:1004A00093401F434760426889008E40B2434260D8 +:1004B00042688D402A4342602046F0BD000801405A +:1004C00000100240000C01400010014000140140E7 +:1004D000001801402DE9F0410D4604461146204622 +:1004E00000F09AFA032707230626681E4FF0040C33 +:1004F000012D01D0022D12D1218BC20007FA02F288 +:1005000091432183228B0CEBC00103FA01F822EA0C +:1005100008022283228B06FA01F10A432283032D6B +:1005200001D0042D0FD1A18BED1EEA009740B943F5 +:10053000A183A28B0CEBC5018B409A43A283A28BB3 +:100540008E403243A283228C012101EB800301FA09 +:1005500003F39A432284228C800081400A43228440 +:100560000648844205D1B4F8440040F40040A4F8A1 +:100570004400A08D401C80B2BDE8F081002C0140F9 +:1005800001490880704700003C04004070B53B49B9 +:1005900008883B4C82073B4DA4F12006A4F1800063 +:1005A00018D50A8822F002020A800178012901D1B7 +:1005B000006A804728888107334802D40088208059 +:1005C00003E000882188401A3080288880F00200EB +:1005D000288070BD0A88520718D50A8822F00402C4 +:1005E0000A804178012901D1406A80472888810624 +:1005F000264802D40088608003E000886188401AA1 +:100600007080288880F02000288070BD0A8812073A +:1006100018D50A8822F008020A808178032901D1BE +:10062000806A804728888105194802D40088A08004 +:1006300003E00088A188401AB080288880F4007008 +:10064000288070BD0A88D206FBD50A8822F01002E5 +:100650000A80C178012901D1C06A804728888104B5 +:100660000C4802D40088E08003E00088E188401A4A +:10067000F080288880F40050288070BD102C014044 +:1006800080000020202C0140342C0140382C0140F7 +:100690003C2C0140402C01400348018821F001011D +:1006A0000180024800690047102C01400000002032 +:1006B00070B54FF08045288AC10740480AD0A98903 +:1006C000C90707D0298A21F0010129824069BDE8C4 +:1006D00070400047298A394C8A07384904F1880458 +:1006E000A4F12006497916D52A8A22F002022A822C +:1006F000012901D1006B8047288C800702D4A88E85 +:10070000208003E0A88E2188401A3080288C80F059 +:100710000200288470BD2A8A520716D52A8A22F040 +:1007200004022A82012901D1406B8047288C80066F +:1007300002D4288F608003E0288F6188401A70807F +:10074000288C80F02000288470BD298A090717D5DD +:10075000298A21F0080129828179012901D1806B40 +:100760008047288C800502D4A88FA08003E0A88F42 +:10077000A188401AB080288C80F40070288470BD55 +:10078000298AC906FBD5298A21F010012982C1795D +:10079000012901D1C06B8047288C800403D4B5F8AF +:1007A0004000E08004E0B5F84000E188401AF080A5 +:1007B000288C80F40050288470BD000000000020C8 +:1007C00070B543490888C20742480BD00A1F1288F7 +:1007D000D20707D00A8822F001020A808069BDE8AA +:1007E000704000470A883B4C3B4D04F1900492074F +:1007F000A4F1200618D50A8822F002020A80017AA4 +:10080000012901D1006C804728888107334802D430 +:100810000088208003E000882188401A30802888E2 +:1008200080F00200288070BD0A88520718D50A8817 +:1008300022F004020A80417A012901D1406C8047EC +:1008400028888106264802D40088608003E000885A +:100850006188401A7080288880F02000288070BD50 +:100860000A88120718D50A8822F008020A80817ABD +:10087000012901D1806C804728888105194802D45C +:100880000088A08003E00088A188401AB0802888F2 +:1008900080F40070288070BD0A88D206FBD50A88D3 +:1008A00022F010020A80C17A012901D1C06C804770 +:1008B000288881040C4802D40088E08003E0008886 +:1008C000E188401AF080288880F40050288070BDAC +:1008D00010040040000000202004004034040040C8 +:1008E000380400403C0400404004004070B54349D7 +:1008F0000888C20742480BD00A1F1288D20707D0C7 +:100900000A8822F001020A80C069BDE870400047F1 +:100910000A883B4C3B4D04F198049207A4F1200651 +:1009200018D50A8822F002020A80017B012901D130 +:10093000006D804728888107334802D400882080D2 +:1009400003E000882188401A3080288880F0020067 +:10095000288070BD0A88520718D50A8822F0040240 +:100960000A80417B012901D1406D8047288881069A +:10097000264802D40088608003E000886188401A1D +:100980007080288880F02000288070BD0A881207B7 +:1009900018D50A8822F008020A80817B012901D13A +:1009A000806D804728888105194802D40088A0807E +:1009B00003E00088A188401AB080288880F4007085 +:1009C000288070BD0A88D206FBD50A8822F0100262 +:1009D0000A80C17B012901D1C06D8047288881042C +:1009E0000C4802D40088E08003E00088E188401AC7 +:1009F000F080288880F40050288070BD10080040E6 +:100A00000000002020080040340800403808004062 +:100A10003C0800404008004070B504460D461949A6 +:100A200019488C4203D1816941F400618161B4F1BC +:100A3000804F03D1C16941F00101C16113498C426A +:100A400003D1C16941F00201C16111498C4203D156 +:100A5000C16941F00401C161FFF738FC0646204638 +:100A6000FFF738FCB6FBF0F0B5FBF0F0010C4A1CC8 +:100A7000B0FBF2F02185401EA085A08411202080CB +:100A800070BD0000002C0140001002400004004036 +:100A90000008004002E008C8121F08C1002AFAD16D +:100AA00070477047002001E001C1121F002AFBD1EE +:100AB00070470000FFF7D0FB41F698110A48FFF796 +:100AC000ABFF4FF4347203210848FFF703FD022304 +:100AD0006F2200210648FFF779FC064A02210248EE +:100AE000FFF748FB00BFFEE700080040000400409D +:100AF000000C0140F90A000800B50C480C4A1168C6 +:100B0000435E01F10201116003F5004310B440F2AD +:100B1000CF2403FB04F34FEA234310BC05480360D2 +:100B20000FB41846FFF72CFD0FBC00BD600B00088A +:100B3000A4000020A0000020703600080000002063 +:100B4000A8000000940A000818370008A800002038 +:100B500000040000A40A0008881500005B000000E3 +:100B600001E5BA50C6FAF32A40A4D8B563747EAA48 +:100B70006430B03F0080F233D15892B0EC1197143A +:100B80006594AA4B68EF38E32C6064AC6A38611353 +:100B90002BE42A53B0A933E6791A24C8452051F72B +:100BA000C6E53F3EF9CCC0F1774CFBC3FE1ED959D8 +:100BB00053D861EA4DE46E0F3D1ED4DE96067FE504 +:100BC000F9E5AC1568C2BEF795496FCCA50DBD54CB +:100BD0006FF40F2084CD60D79B3FDFA9200811540C +:100BE000F9CFE5F2B60E38F9F300FAF34C15C33637 +:100BF000E5DE82016AD0CCCA0D517FF8EC10972B4C +:100C0000A9BC81DB1E26D2D2DAFE342041CBAE490C +:100C10003F137AA7B5FA72E8C2F8F5376BF57FF99A +:100C2000B71D93E86F378FFEC0C7A24A67DDBFF4D8 +:100C30002615BECFB53FE4FAABDA3C25230C59FAB2 +:100C4000A1E3FFC2E92115ED6FCBCF7AD4CA14EE30 +:100C50004D0D4DA2FF7FDFFE19D87B7809BF24DF41 +:100C600056F36BF3CC346DBF3FD6FA3336C493D50D +:100C70003A2C62CE8640701BE4CE5166689C6500BB +:100C8000C446B3AFF44FEDC84DD0B3485306841FEC +:100C900075D56FE38B27C6FDC2109E1D01D065FC84 +:100CA000D61348E57D4441E167C924087CDCDE2D8C +:100CB000C5ED93FEB0157CDE8E044718F011FCE9FB +:100CC000D5F140BA6F1FB3317CA1FF18CD404CD293 +:100CD0002AE8465B61D29CD0CD5767B6F60940271B +:100CE00059E54E1D72FB1224D8C9D1DB902200EACF +:100CF000BC03130BCF0D27FB44137DF145F74318BD +:100D0000FBDAA3EE5DD08726013D0BC91D15A0259A +:100D1000430141CC72FD623AFDCDD905060A3E067B +:100D20008B25CCC7A9FAA939F9FA79982848E54959 +:100D30000B9C223F56B5C9ECE84EB6B83F2C88F85C +:100D40006F0DC5AD181AFF7F4BAEAE36F5CE36022D +:100D5000D904B3DBE35476BC492356E0D7FB0A2120 +:100D6000FBB0563478F342F2501548FB69D4192C85 +:100D70009F1896AFF87B6ABC4BD9366CC5C3070980 +:100D800008EFB1FB76D0542CF50C1EBB454D5FF13E +:100D900020F012F9820098E6F10C9D0A51E27B38AE +:100DA00070F0F1F863061BF6BF09F0E42D085F0749 +:100DB000C7F49A2FC7CB800B023575C098FC0EFA8A +:100DC00085F271EE583F9109E203612887BD640105 +:100DD000C5FE77F7C1ECD80AD7F982EC462FABDC19 +:100DE000CF0F381062A3A411C224D7CFAE0D1D2B94 +:100DF00078DD34F79C3B03B3F90C473F47AE9D0EBB +:100E0000C72338F657F1822967F4E3E91A1361D34F +:100E1000AC2B871155D11E13940D8BE611285C164F +:100E200078C81E2828F7ABC53948DE031FCC2A1323 +:100E3000501402F57BF90016FEF657F131DE280852 +:100E4000630A17F66830DAEAD50362F62DF2420833 +:100E5000F5F6AA2198BCC2F9D51C5C005F06BEE578 +:100E6000B02DB6CD82E9642FCCF0E108C4193FFD66 +:100E70008CE0BE3B43D4A1E0A2480BC7B7091AFBE4 +:100E800054132A2C7FE37D0688F89314DDDB380E9B +:100E9000E51E10C605124609A2DF9C11741ED9C5B5 +:100EA0007612F31565C0403ABFF48BFFE3114EC7CD +:100EB000B53A11E8BE0E9E307BCDD30F59E4E6045F +:100EC0008C0F5FF3292DB403A6C9D615571D1BCA75 +:100ED000373CE7EA70C63A304BEBAE1E41F54DF8B1 +:100EE00048FE62E1302076E8AC15FA09B20A0E102D +:100EF0008EC17E14A21CA3C5D200E727D1C2BC2F8D +:100F0000AE1F26D6A63596C56F0C901030E0E24194 +:100F1000AFD91DEFF63347ED8AEC9426D1EED1EC34 +:100F20000A0D6DFE2A14C4DA350AA50EC6E67C0A3F +:100F300084F8C8060001911DB1FBC2B93824141809 +:100F400014C5513AA10C78B5052985F299F55A1FB7 +:100F500059D3C41C3EF01DEBBD3FD0E00DFF620B2A +:100F600072D39CFB280917209109E5F1822D98E6A0 +:100F7000F4D26A4F7AE98DDF1320FADF3A19390982 +:100F80002918380E8AC1F90D41F6BDEA972996F263 +:100F9000A3EF16105BF3CF0D21EC3FFFFC2A82AAD2 +:100FA000C101CF0E7EC0E546E5079DDF19FFCCDF0E +:100FB000391C1E11D7FC921930E360EE8616E6EF5D +:100FC000E7FE0B068E0388F53CE49327660C58D7A2 +:100FD000472A15EA1DD7CA3E44FC4A0735064BEDA1 +:100FE000A4FE49F5D73C1F0B34E4512569EC81EF91 +:100FF000D229A0E5B30587FEE6C47832B3092E00F6 +:10100000163BA1CE32D7A10CAEF69607D7258B1092 +:10101000ECCE77F79A3010EE26FDD30FD8C84E09E4 +:10102000181996F0241D02F530F523F98AEDDF1426 +:10103000EFEBD3F869FEEAF16F209FEBDC0D982609 +:1010400029AF8507A025CBCE8531F0121BCABC196C +:101050000B082BE5B4182808B2F9E602B2F67210B4 +:1010600047002EFF730DCAFBA2F0F6F1451FC1FE2B +:101070008BEA021E96DCE7E70128AFF05CFF331431 +:1010800081038BFECDED97008A0253F18726FE1D6A +:1010900009E92614AFEE65EBF8FEB8ED880A44F9CD +:1010A0008D1C3A1743E949F88E031EFE73F9FE0BB7 +:1010B000CD0247EDD006CF0EB6F80A0BC40439F1C5 +:1010C000F8FC71EE11FD390B52F5E82290F7DDDAEC +:1010D000512415ED47EE681850FF53F1300B3714CB +:1010E0004FF01404BEFBA2F371FF20069204080027 +:1010F000511080F4C3F32CF44314501407DEFB1694 +:1011000072FB73E4B402950AB71CD0E05800340EA9 +:1011100065FC11153D09CBE16CEF9B1785DD730E66 +:10112000B015C2F94BEC91F33D2037E9D601B81860 +:101130006A0D4ADCDA02470259FAFB2E37E9FA0651 +:10114000EBD49DF7E51EC3DF2323DBFC9AF3020CEF +:10115000C9FFB5FA51F8340E45F61915ECF9C0F08F +:101160008E1931F39D0C61E88CF612109F03BC05BB +:101170007BF7F50D4FDA56080D1244FC570649E38C +:101180003C0F3601BB07D80A85F17004CAFD200860 +:1011900002F6D3112E03AEE2BE1080F579053A04B3 +:1011A0008C0CC4087BF8D2FCDCF67A136FE10F1CC0 +:1011B000CC0759E8021F72E5C502AB05A9F8E4FAAD +:1011C00061FFEA030AF6EB12F608B708C3E036EC53 +:1011D000DB125EF63E1925EF61FDEBFE8A04D22795 +:1011E000F6DB520C0AE335F01F200F0ACD182CE273 +:1011F0000C018FFF91F541F7DA187500EFEB4E20E7 +:10120000F2DD1E138A041DEDF61BFBDA2E027AFFB7 +:101210002D06BB1D94FC43EC7AEBEF17FEF5BE10D8 +:101220003E05F4FB860259E87D1768F03E1AD0F5BA +:10123000A7EDD61350E96A260EF7FCFED2006FCA5E +:1012400083119120670837FEF4FEF3EDBC044703D9 +:10125000E5F38519B9D53B163D0AB7F4602DDBCF10 +:10126000BC032BFA76FF9B02A4FE24205CFF7101D5 +:101270009FEA4E08C5ED96078009B6F5BF0C66E3F8 +:10128000DC22ED0862F74D0C36C4951E98F9F8FF84 +:10129000842228E1662506CAE315B5FEAB18510D78 +:1012A0002CB6DE4098CEB4410AF8AEF3322E809FC1 +:1012B000751643FED020941133FE05E9F1DF7E134D +:1012C000B0002F3BF9F90AE14BEC0CF0BE0D5B1AB4 +:1012D0000E2220F0A8FEABC73CFA741D200A543D34 +:1012E000F7D547EA95F4AE09F9257A14EBFE37D421 +:1012F000A0FB03DB8E17BD16990BA90D64D861FF07 +:1013000011EA5D127C1F5B08210116D1D8F4A1F906 +:10131000181C741EBBF4CB0C6ECF3F021611740662 +:10132000BF1D0AFAD7F8FBD90511B9E66419DC37F5 +:1013300015D5FF0549E178F5B415B81AEF146EE834 +:1013400065FD24E0D40B5D134A0A6017CFE31D044A +:10135000DCE0F6050B1D0A0BFB16B7DBDDF147EBF6 +:10136000C113FB1AEC11B9FE33D23F0164EF8A15A9 +:101370000D272FFE0EF9D3E443EC09FCF61DE31410 +:10138000570484F472CF43028310AE1F541550E902 +:10139000FEE0A9E20D148C0F652A64025AE1EBEC21 +:1013A000B6E3FF1B0A0D7C1EFDFA78DE2DF180F4FA +:1013B000BA23340D3A1712E2EBD58E052600C4325B +:1013C000990D2FFDC7DF05E5C6126C04B527DBFDBF +:1013D0005EF726E96DEDAC158104C2243CF811EAF4 +:1013E00019EDD1F0421BF90DFB1AEAEF25EDC4EE21 +:1013F000E0F8152A54FEDC0CEDF3FCEBA5F896049E +:101400008F12A800AF1C77E10FF4EA04A2F2891B47 +:10141000E00EDBFD0DEB02F5D3FBAD10E714D7F8C2 +:101420000403B4EA01FAC007600092198DF371FF5A +:1014300035F32CF5630A5C02BD148DF2BBF5BFF5E4 +:101440009D0D59FC71013311F0FB180711EB2D04B0 +:1014500023FBE00DB30883E4BA0E8CF6D8F3FA1B35 +:10146000970285F261FFC6FA16FBB5107901DBFD24 +:101470005A0971EDF204A8FFD30EED09DEFFF8FE64 +:10148000F3EA800969FE2E1775002CF8D4F6F3EC08 +:10149000F50D680483104B0497EAD6EBFB01800C32 +:1014A000DF117F0E4CEAB8EE9A0423FAF3177905A0 +:1014B00030F5A8FDC4F2E2009B0347172CF889061B +:1014C00030F458E9CA10A4FE8311530413F4BBF39B +:1014D0003CFAD4097F0E4F01B6F595F3E4F8D9072D +:1014E000EF13D6007EFD11004EF4AB0340FC170D48 +:1014F0009E07B804FEF43DF467082AFE200A7E0128 +:1015000090FAD0F5E3FD05FD6F0D6708B5FC48FCCA +:1015100049F8B00104FF31056C043E0306F9F0FC04 +:1015200023F974069D0B15021AFEA5FB63F5FCFF5B +:10153000340CD3FBBF088CFA61FC27FC8A049F00A3 +:101540003202350AB7F20800E0F7DA00E00D3105A3 +:10155000FC0065FC46F17EFE7409DD075707B9FC07 +:1015600055F8BDFD1AFB9300381044FDBD01DBF9B1 +:1015700002F84205380C07073BFF74F453ED2D07C2 +:10158000CC07620F81045FF27CF55B0511FEB308A6 +:101590001B0E9EF3970087FAA5F778093D0C7A0099 +:1015A000C90089F39EF1AB04120D730ADE0252F4F6 +:1015B00001FAC003D6FE280B09FC65FEA5FB69FFF6 +:1015C000420569018E047101D1021CF13CF9B0029F +:1015D0004A0A1E10A4FE03F3A0FB66FAC904FD0C20 +:1015E00016FD06F9E3FB87FD1D033D08BD004A0615 +:1015F00022FEE8FA27FBC5FE8E02FE095705B6F665 +:10160000CBF977F6060E280BA4FFDCF7DBFB9F0176 +:10161000F303B0010EF771FF10EE4BED7EFF1006E5 +:10162000441080379230351EC00664D75DE7A5E3CD +:101630000BDFBCEE88F53E07800AFF1ABB1D18F3CE +:10164000C8F3000056F6E7FF541403F13CE68F118F +:1016500059F9D007380D12F9DD082310BFF57AE8E3 +:101660009A0413F3E908AD0F1BF5EE032A01A20754 +:101670007103B9FCBEF70CED6BF52504F207010E02 +:101680008E164DF80400CAFB00FED8F512FCCBF50F +:1016900064EF0A215EE4A13AB9FEDFD1A61E03DCA5 +:1016A0008600D3FAEA06B9FC4A1D421949F77AFDC9 +:1016B0009DDF5207C2254CD147EC1F0C93E78D49A3 +:1016C00061FEA9F90B0725EFC2E4FAF1B5FD94F824 +:1016D0006C30F3EE78201C09A7F062F774F188F7FC +:1016E00051FA33FD8AEE5635E80FB0FF4B02CBE1DD +:1016F000AAF32B12EEF2B8021C096BF744103A025F +:1017000006F85306000079F0FA094CE8300BE314B0 +:10171000BF08410CD4F65DE573F64F170FF6B81607 +:1017200026FEECF84D0F1002CCF43A046AFC23FAC2 +:10173000B70696EE85053A05A207F0FBC30903F24A +:10174000E200670737FC740966F7E700DFFB68040F +:10175000D8F6EE035EF9E711930045F87C07F3EE47 +:101760005E0C0304F5F67CF2200A0110FD0CC3F6B2 +:1017700041F4AEF376FE3B0184F61A10390AB30940 +:10178000630847ED0CEEAE0CF9F79C0F4CFF9AEF97 +:101790002D0831076B0B6002CFFAEAED0BF3B9FBB2 +:1017A000A90D7407900C1C059F0292F149F841F5B0 +:1017B00051FB701C0EF99B0376FCA801170B3A062F +:1017C000E1F336EB82FE7904D907EB13E1072CF83D +:1017D000A80092EE4DF724F5000121022F0F890693 +:1017E00054FD670958FFAF043AEC34F633FB690146 +:1017F0005D141C0866F9BE0E4AF2F0FC3604D3E410 +:1018000031078009AA0851FB8F0040FCE00DDFFD85 +:1018100078F16C0483FC3605D30E630615EB060ADB +:101820005FF3D2FC9D0B9EF293FD700843FEC10155 +:10183000BC044AF29C126FF6C0044810C1ECCAFD09 +:101840002F10D3F9AEF8611227E4D2FEBC1A17F8B4 +:10185000C6FABC060B08B5FBB5E7F300F90F24F494 +:10186000020A501469EC4AF3C81B49F5F0F957060F +:10187000FBED3202380D371400FE81EF81F11914AF +:10188000F3EDAFEFF9250DEB1005561EB7F4B4EEEE +:10189000FC0015FE170ACCF3FDFBE313B0EB8B1035 +:1018A000071AF2F163E0E107A30481F0E108A4FF65 +:1018B000B31B7EFEE6EF1612BAE1A6077B0E53F1CC +:1018C00065FD59FB7119F1F86F0B92EF74F43BFD54 +:1018D000BD01391FE2D9BE109607C102D80880F3B6 +:1018E00094FBEDF7660C4AF3100617F89B03641996 +:1018F000DEEE6BF773F7DB12E50723FB660D9ADB71 +:10190000D10453051B0C8FFC77E2FB181004A50FC4 +:101910007CF5F0F92CF35207B51459E82BFBCDEF09 +:10192000FF1AA20A0DFEBB083DDFEE0533131FF9B7 +:101930009EF2260074083D0B59107CDF4607E8F83C +:1019400000FE0622C7E1821546F1761490F7CAE739 +:101950009C138FEBE61737D2A5370EFAB8ECAB31F4 +:101960007BCC0B1E8BD232014B1AF4FD5C00E5F3ED +:10197000E83AF8E903086DC08D09C62490CFE04E1F +:10198000B2CABC18CFFA8EED29193FC09C3EF5CBE8 +:10199000513AB0FF29DB4D2312D0A53A22D25F1C69 +:1019A000A6DE4011C70B2DDCC63D78B4EC50DAEA58 +:1019B000A7EE3BFCC7DFB73451CDCC1D0ACD2918AB +:1019C000781FA524174C669062F988CD9206613D78 +:1019D000130B53306EBA990DE5C92A13402498E3CE +:1019E00039348CB969282FFBDA012906E2EE02F4BA +:1019F000FEDFB24BC2BC9C2541F434F8594FDFA83E +:101A0000332832D9B4EB1F367C0B1E12E7C0840B8F +:101A100085F36A3CAF06B2E05D14DFA8B42DECFBA1 +:101A2000B819B6F92EECC52BAFEE7323DAC03A180D +:101A30009BEA5303B6247BB8882446080235060A7D +:101A40006DD5E5DDAACAD12EE40B87101D04D0F2B6 +:101A5000DD30E7E8BC0643EA4ADE9F03AB06E9094E +:101A6000A9F85539F302AD105ACABFDFC21027E5F5 +:101A70004F2E2DEEEF00F1F66B21C81BFBD9EFFFC7 +:101A800013DE8710E1F282019C2528F5222AA1F7B6 +:101A9000F7EE45DFB1E683244EF5201CD9EE4A0867 +:101AA0008A1799F4DDEF5DE6F00EB8EB851AF8EAD7 +:101AB000911CD506FCE8BF4AC1BD7AEAFE0897E949 +:101AC000792CDBF98CF71D198DF527FCA910E9E0BD +:101AD0007EE86A2384E065291B0DFAB2AB4591F5D7 +:101AE000BC021F0F21DAC9EEEFFF68035815662507 +:101AF00037BEE8234B00B3DBFE2113F74BEB241D6D +:101B000012FA3ED9F93AF8E80AF7262A16D026FE44 +:101B1000AE1FD4DD313096F1A2C7633143EB48FCF0 +:101B2000F93813DEDFE83326F3C24F1BEF16DCE093 +:101B30005A1F5C009BEB060EDE029DE32F28C2D1EC +:101B4000A2F5673584E1CB0EF538FBC254EC622276 +:101B500024C72627E311ADE5A21EE6EC46EFAA3521 +:101B6000B3DC90F94E1C9AC416103A2E55E3D615E4 +:101B7000B4190BB48820D1EE9CFB3C23A9CFCD181F +:101B8000340EA1F79E098B27C4C61804631C0EB837 +:101B9000472EB20B14F29534B1E4B1E7240BBAE549 +:101BA000EA1A8310C6D08908882132D8082CA20AE4 +:101BB00000BE8B2665FC1404440F3CE648FD7A14F5 +:101BC00075EB0B08501554D3222A5401B1CFC92B01 +:101BD00076FC44E4A429D6EC0FE02C205EF5A41595 +:101BE000170A60C2AA1FB309D0F16B344DE299DF26 +:101BF000A412ADFDDCF43A1BE5F2A7EDCB21E2D94E +:101C0000B3082D1AF5E1C625CEE9CAD39A3214EEEF +:101C1000A6082A2A0ACBE3E6F7154E06A3040B1DF5 +:101C2000BBDE9DF92F1128DEB528D8F481F1152CE3 +:101C300085D901E65924F0FA0707CC1BC3CA01FA7B +:101C4000D51C06F9E11BEFEBBBE0C7200AF6420604 +:101C50009D20D2D2F6F2A21D6CF2C1014C13D6D750 +:101C60009717BC1934CC9312F2F15EF9A61D29EF37 +:101C7000AAF5461A712C340B9EF397D69B02B7F146 +:101C80001DEB8D346AE675EFD00994FC4B192105E4 +:101C90002DF2C9FFC70A05CF351C120F13DED0493C +:101CA000BBDE8AD89F2C2BE4C2F8B926B8D97CF2C7 +:101CB000A92643EB3D1FEA0367C976263E048DC77C +:101CC000CC1FAB04F3EC5C2D8FE733FF6732E8CC1D +:101CD000B3F3E7166DD7CE13E00F35F4862C4EF430 +:101CE0008CB86332CF100ACFC02D6FE0C5FF1C3116 +:101CF000C0DA9C0F941125D87408AC0174DC5E2402 +:101D00003B1412E5FE1F6DEB9ADDC52C22EAA0FD07 +:101D1000A719E6DBE00D0B1B5BF33C0D8AEB45E2FC +:101D20003A1B07F446083A1B81F198FB9E078AEE9E +:101D30005DFAB51190F74302A0FFC4EE8D078D1E2A +:101D4000E1057CF512E577F8800817F49A1B580036 +:101D50006AE5BC1830F7AEF5BF1FC2E72BF95E0D80 +:101D60003DF32FFC0F0A76FDEA03520CB3DDF315A9 +:101D7000520A49E4251924F15CEBB01876FE4702BB +:101D80001805B2F6DE026EFD12FA3F014E06F7EDBF +:101D9000AC17EFFEC1EA531B8EEEEA02B110C0DCB5 +:101DA0007EFF0926ACEB7E00E80EA9E49713EB1248 +:101DB0006FE1F41073F546DDC12AB5FEB803AA0C35 +:101DC000E3E764027406D5ED25051F0DEAF0840AE9 +:101DD00009FEF701A0132BF94AF3F4FD2BE40705E4 +:101DE0005524F8FBCD0037FFC6E59F034413A7EC4D +:101DF0007610F4FB32EC4B17F8FBA0FC410C03F31C +:101E00002FFC6EFCE6F0B81618072FFAC1FE110180 +:101E1000B7F4D103D506A0FF29051AE4DC0B5B0556 +:101E2000E8F9B1129F0030F98E0405E97DEE98259E +:101E3000420681F1F10ABFF6FDF7B111A9F8FCFFE6 +:101E40000EFAD0F13D0AA90D50FDE3FEA0FD91F27E +:101E5000170B99F46806730D14F1D104E4F83DF6FC +:101E6000F3175DFE8DF2F41325EF24F1BF1EB9FCCC +:101E700047EC3F13C7E300FE41221DED5F08E2027D +:101E8000F2F0D007C404D9EE0707DD0751F8680562 +:101E900027FC58FFA50E76FDF6F4AF04EAF12C09F5 +:101EA0004F05BEF8910A34F99F02300CB4ED7CF373 +:101EB000BE10D4F43506481470F14204FB0566E503 +:101EC0006709D40BABF0BB0B21057CF42EFF93000C +:101ED0003D0C980EABEEE1F491F58FFDFF04730C11 +:101EE000030594FB1501F9FA7A12CBF55802AF04F9 +:101EF000F6F34AF1D1EE6A11641AB111C6FB3B0048 +:101F00001EE6FEDF590F9C1180F32A02570592044A +:101F1000340FDE0312F9CAE83AF0F9F85C15F8114B +:101F20009D0C4B0527FC4CFC7FE4D8F75C0346F185 +:101F3000AF08AC15CEFCFB1911FE09E60C0208EB4C +:101F4000A1F671167A0026FF9F18A702E3FF61FB36 +:101F5000F4E7DDF10304A8FDF10A3D0BC903031901 +:101F600027FC81EFC8F082EBEB01400FC5014B0469 +:101F7000240BEA02F60537FF76E9A1F76EFA23FB98 +:101F8000AF1DD8F566F9751978F52808FA0907DD47 +:101F9000840AD10196DA181AAC1644FB4608E50902 +:101FA00090E40AF90E0D70F158FF5EF67903B4045F +:101FB0001B0B741C5DFA3FEBA0FDDDF091F40817DC +:101FC0009604E3FC1B0AD7F9BEF8D006B306E20478 +:101FD000E5F27AEACEFC3D098505E11CFF0403D950 +:101FE000EA035302EAED910ABA0C94FBB1123B12D8 +:101FF0000EF852F6AAF6F9FAD2E911E71113AC136A +:10200000CD020F20E3FE22E80EF90EF71EFD8FFE33 +:10201000D103AB03F8FDBC05BB1C22FC53F03BFF16 +:10202000D3E4B2F548104E0AA400660C5A0A56F5DD +:1020300065FF9CFE2BFC1CF3C8F37C0BA6F5410C42 +:102040005A20C0044EF492EE20F3B1FB2A0237006E +:10205000230C63F5FB01060BBB087B0D85F32CF508 +:102060009EF49B018FFF570761FC38F6B514A60755 +:10207000B7F377F8A2F20AFA900F97FEE6022D0561 +:10208000D6FFF8FFC80523F941F3AA0893FDE20340 +:102090008D07A6F215FFC30C74F2930076FF0001C2 +:1020A00087FCAFF2D51AFBEF4AF3301FDCF4B9001E +:1020B000AA0C78F359F973F8A10DB9FFB5FBDC0D43 +:1020C00029048EED01FAEB1277F88CFA7BFB1EFCEB +:1020D000B2F77118C70CA6F3F30166FA4DF9DAFFEF +:1020E0000B0946F3EA03F0FC880A3BFE0FF6A10E4B +:1020F0002FFDD3FAE9F4C7F502F8D2163F1433FDE9 +:1021000024F42A02F4FAC4065B0563F41FF817F8F6 +:10211000811B61FE82FFC5FF9B016AFA4AF36804D6 +:102120007BF742068C0C2D06A6F31C0900FE640109 +:10213000BEFA72E982016709F3171407790202F403 +:1021400028F53EF1CAFA33FD9B014C1197FE2F0F83 +:1021500011FD02F7E0F990F85AF8A4FCF61CAC1453 +:102160001AFE5DFDB7F1E7E916F97EFF130CC6FA1A +:102170009108FB1998FBD4F64EF133FEECFBC3F645 +:102180003909410B680335096C038CF9A4FD0EE392 +:1021900002F7C6125A0BE6016D010910A0FE0EF8F7 +:1021A00053F017F7D7F950FE65111807D80A27FA28 +:1021B00005FCC100D1EE08014302F8FEED0A1AFD4C +:1021C00018065E0B6EFA87FEEEF11BF78A00E7FF3A +:1021D0005207C0078FFC0802F205FDF9E3FC53EF3C +:1021E000670A3E06D5EF8FFF340B2C0DA1F942058F +:1021F000C4F15BF2DD07BB0B8DF454E9042ABB1E6E +:1022000042D9B9D1292DDE2E92DBDFE5AEF7B5112B +:10221000EF1363F251F853063E06B3F103F1CC1D00 +:10222000BB0A18F36EFB5BF092062A15790265EA89 +:102230005DFDA3011D02170AEDF3A90D520844FA32 +:1022400014EECDEB841FE9092CF8EA0418F2C4EF70 +:10225000E109681837FF3F02FFEDCEFE7FD102B8DB +:10226000FF7FF8500080FBB0FF7FFF7F0080008081 +:102270006B61FF7F340B00801C09006D1CF3C807E5 +:10228000A58FD2FCFF7F99E106CA29DAC9155D52F4 +:102290007140CA910080FF7F9534FD9048128FD322 +:1022A000B93D7F25B6E2A2B2B621A25F0080F02838 +:1022B0002032E8B94D3680F616F906DFE932C3F66A +:1022C0008EB0FF7F02CA3BC08A2E92D70C30ACFE84 +:1022D000000095CC4E1DE729E1B2E15D0DD426BF8B +:1022E000D54678F533FB77E3E91F0A0BF4FC1C05B0 +:1022F0007BB77A284E1DD8F3BF09BFE065FC1C09E7 +:10230000C03120F069D305258DDF4300FA1CF1F5BB +:10231000570472FDED08F0D1AD25EA1A3FBE4C3FDF +:102320008CE4A4D5A32C06F76E0EADFC4D0FF8D2AD +:1023300071FF3B41F9BA59268D06FDCF8B2646F336 +:10234000510D6FF4A90EEAF1CAE95F1D25DB252FB7 +:102350001F0CF7D7D904020BFB017AEB851CB3DA0B +:10236000E2003F28A9E35815F8FD91F62EFFE2039D +:10237000ACE945F5503F56DF03F0BC3010DA43ECD2 +:10238000CA1334F66F0C070796F08DF3DC1F1A138F +:10239000B5D0951DFADEC7F4373FE0E1CF0C9DE3E1 +:1023A000800CA50D71EDC128F9BA510D2B23EFED6D +:1023B000211608EBDD08BFF2FE094B00C2E47721CD +:1023C000EFEB4302A31631F015FEB60B6BF3FAF1F7 +:1023D000251A71EC85F0CC1F200847EAA608DA021E +:1023E0000EE51222A40022EA4B17F6F308ED510D78 +:1023F000410B7BF8BDFE27FABEF8EB00AD110801DA +:10240000F1F4890751E5EB16E80CFAF4CF0DDCE3A3 +:102410005A0CF0F90C02640492EF062110EFB5FAA1 +:1024200061FFF1F48C0F9F0189062EEBAA08630768 +:1024300013F33618EEEF1FF7490C7FE64811922F81 +:1024400090CC0CEC4D36C2E49CFD3FFF6AE3F925CD +:102450004A067CE0BD01C320A2F498E3DE19C2F96C +:1024600058FEF10BBAE2B8045A1FE0F9AAF2450B84 +:1024700075EF8DF27518D50310EF940E651140E4D9 +:10248000A400660D46F11210980FF2DE2BFAF00E42 +:10249000C5E9A718D504F7D7490CDB121B0C51F777 +:1024A000E00CAF04D3E648100DE99702B71CF4E73F +:1024B000CD00FD0E2DEF0AE3031C230D40E5501463 +:1024C000BEF738F6A717AEF702F87C0B4B02EAF11D +:1024D000CC051002FCFDAE0933FC27FB1BF56AFCA2 +:1024E00009FFE7139A0638E2BC03AD0F1FF7B000EF +:1024F000300E17F696072FFBEEF0C21197FE51FA39 +:1025000000FF960439F588F7C917E203FDF8B9FC16 +:1025100028F2CAFB19180C0442EFE90900FFD601A2 +:102520006B0CB2F4E6F0B0026C0365FC950CB1FEE6 +:102530008BFB35070DFF99F641F3FB02D6016F0DBA +:102540009509F7ED910A9E0813F59301C0F0A800D4 +:102550003E047008460833E8230C16FC65FF33146C +:1025600093E89EF4C309DF110D00ED084FECB4EBC6 +:102570007F270BF490F9ECFA7F0F6A0E42DB14050B +:1025800019010F1DF7EFD1EE5F07E1F25319CEE706 +:10259000841FD8F729EFE40F3AD80A25C2FC16F9B0 +:1025A000B709000270F3DA01A61D17E11114D5EF87 +:1025B00004ED3F14DD072BFC0EFA33146BE22213FB +:1025C000F3FF5EF637FC09FBFF1A05E96515D5EE4A +:1025D000AB079CFE01F97AFFF9E145378DDD5A1F03 +:1025E000A4FE9EDE891DB6E47A117BE4112921ED5B +:1025F00095F493297FCD1127B9E911FDCA1075EB28 +:10260000E10722E83E2DB3F15400D40C34E1160F5B +:10261000E8E4D32328F65703A50EA9E2FC1404EA44 +:102620002F11EDF5BF0C9DF864F0761394E4881F2C +:102630001FF76FF7F303CD01140356F43616FEF5BA +:10264000A4001CF1B402081832EECB0F1BF5D4F530 +:10265000A1F8DD07F50C75EFD02055E767F3CD0045 +:10266000B5108A1540E78E161DD8BC026913BBF35E +:10267000D7110400B60B2CE04B05C5004CFC0C1721 +:10268000FFEE4E0BA3EE26FE3B019717BEF886D653 +:102690007F3B6DD80AF7B92652F2AC0114F28713CA +:1026A00003EFEBFE3C0D6EFC9B0043013B01A0E8F9 +:1026B00060177100C2F9E00FCFE1C102A10EBBF5B6 +:1026C0002409A50CF8E8A1F9181AADE3DC0B2325C1 +:1026D000E3FCDAD5DBE7B2372FD1900F663B3EC57E +:1026E000750276FE41F4D229F8FB76E95B1E33D001 +:1026F000F300222666E3B331FCD568EF5A1F7FE36F +:102700005E2453F112F8A8120DE630F47D2E55FC2C +:10271000ABDAE11E23E1DE17C40677E2772125DB81 +:102720000A0EF413E5F28908D9F2C8F38F1569008F +:1027300028F2AB1AABD9840BFA1D68D8BF1E54011E +:102740009ADC780A340F40FC390B8F00CDEB31094D +:1027500004ED1A0F840DA6F4140767DF5C19780ADC +:10276000A1F9A90E5EE3CAFBD6157BF7A7EE631DA0 +:10277000C9EC6000211835F1AF08C1E83D0BF60740 +:1027800035F1900F38F66001E907B0EC990BF00EC7 +:10279000FAE0BF0B9300FBEE1A26D2FFB0EAB708AF +:1027A00007F048FE8C22E6EE98F912FBF6F050286E +:1027B000C5EA94FA11152ED4791A6C1D57DB410B1A +:1027C000B70A7FE6ED0C700750FD150231F0F208F4 +:1027D000A1F65A0DD90381EE662272D2CFFA9B2A56 +:1027E0009BE99B00BC06D3FB36EFF11F01FD38E4EB +:1027F0005A1F03EFCEFD1B0B9CFB72FD49F70D1119 +:1028000016FDF0FA290747EB40111E1045E2E711CB +:102810009F01EFE9A10F76FF01F9D40BB2F940F95E +:10282000800C26FF710361FDFDFB33FC6FF6821304 +:102830009CFE60EF441339F5A9F9551111EC410ADA +:102840002C0C7DEDFF056A0FBCEC8CF7AC147BFB08 +:10285000BF0841F762F6910828F49D0D24F46F0A31 +:10286000280853DA0525A4FF68ED971708EDC3F68D +:1028700048115302B3F0B01830F8B2E1E11DA0FBEB +:1028800067F5D40B00012BF9F5F7450BCEFBB1FB37 +:10289000C20E38F7E602C101E9F2170B530430F516 +:1028A000CEFCF50BE9F201FCD31102F7C90126FFBA +:1028B000DFFAAB039A04BC02F1F4B70A50FED1ED83 +:1028C000421A7AFCD0F12B10D8F6F9F981054B01A8 +:1028D000BDFCF20877F61BF586155DFB61FC320244 +:1028E000B803EF010FF33313B6F638F6900E1DED73 +:1028F0004F174CFEEBE9620E51FA000187FE780A91 +:1029000026FDFAF1C70A2A0211002601DFFD30F97F +:10291000FF045401ECFA5911E9F3DAECFC1172FEF0 +:1029200061FD5B0602F8E3FF6002B5FD1B0B31059C +:10293000CFF6C901C101B70718F07AEA120E83FD7C +:10294000670A4D0EFBEF1A0F5000FCE9BF0BB6F9FA +:10295000CCF292034206560C0C04820045F50AF9AB +:10296000730B02F767F33B14EE0419EC001783FDB9 +:1029700091F30D123DDFA316240814D9D51BF702DD +:1029800005FC4703A301A0FEAAF5ADFCB5FF982600 +:10299000DDF261D0FB18C72080F58AEBC70A34FA54 +:1029A00001FCE7000DEB262BF20675D69F174F03AF +:1029B000E1F1FA0784F5C9032B0F3CE34204AC2A8A +:1029C000CCDF09FC96197CE1A50EFCFF26EA492222 +:1029D000A9FBB5E62A16F303B1E70A0C7007BBF1B1 +:1029E000A608ECF8EDF6251909FEC9ED1C1BB2F995 +:1029F00007DE631DD90496F0401160EF8F0061116E +:102A0000D6ECE40DAF070EE2A3044F050402D80D87 +:102A1000C4F08F00C20F9BED83FAE218E8FB8FEB46 +:102A2000FE08580209FD2AFEFEF4CF0F890897EB35 +:102A3000780651104CEAB803C11602F5A20A01FA51 +:102A40008BEA501499F625EE25189CFC57EE980E4B +:102A50000305C1012D076DEC16F9270F78F44B0221 +:102A6000291AFEF213F6410C5AF88BFD6803FDF8A3 +:102A7000AF079E09AEF3EA035F071DEED2FD140512 +:102A80007E007D039CFB2506FD0E66FA77F8310873 +:102A900053EEAEF3300E93FE5A0EB000B8EC4D106C +:102AA0006D020CECE2020C0580F6BF0B8C0CB9FB3E +:102AB0003604E9F2E9F3FA0A09FF35F4A6090F0929 +:102AC000C2FB6F0ADFFDD4F4EBFD8DF4AE09F81004 +:102AD00089F1BC028D094EF5B7070001A6F636054F +:102AE000A2F205FDDD1C33FCB8EEFE082AFE2BFD2C +:102AF000180430F9F2052D050BF31003340E20F302 +:102B0000E3FC940F23F733FB150209FFC407EF0022 +:102B100033FB6C04CAFD20F474068104CEFD21034E +:102B20006AFAEFFF2D04D3F9EE053108F3EC6D01DD +:102B30005A0EE1F078098D0A9AEF3E0593FEB9FC32 +:102B4000CF0FC5FE9EF447032E011FFA100544FC6B +:102B50004704BC030BF2830EAB07CDEC3700F6093C +:102B600097FEFF03150134F5180443001BF70F0A05 +:102B7000B0015AF7A70336044F02A303FDF70FF67F +:102B8000CC067AFFC1FF390787FCCEFFC4048A0157 +:102B900059FC99F6A0FE300B9CFC7FFAD80869FD21 +:102BA00083FA3A044B030D0016FC2CF76C03730DEB +:102BB0003CF810034D0DC6E711009C117FFCFDF998 +:102BC00032EBEC100A206EE66EE62820A20A53DCF7 +:102BD000DA00311A660D2BE468ED0E23C006CCDD59 +:102BE0002A01E52078F559E7EE040620EA0524C914 +:102BF00096066D2D2EEAF3EB2E17E90832EE2FFD27 +:102C00002E039010DCF55BDD6224A10C4BEB880EEB +:102C10004AF424F6A81434F801E74A1E380FCAD43F +:102C20006DFFA9239B0152DF3CF92F2531052ED6DC +:102C30009E085029B1E823E1971541200DE9E3D31F +:102C4000851C0636C5E967CA4C269B181BCC790340 +:102C5000F025F10BBCD8A6DEE037B817C0C470066B +:102C6000CE2875EBDCE1FB04033137FDE1C5340F01 +:102C700082298DF38CE4840B141B1AE58CE09424D8 +:102C8000BF1ED0DFD3E61C1AB514B1E83EEFA21C7C +:102C9000F30280DDB305301F560841E18DF40125B4 +:102CA0000AF81FE45414A2095FF21BF56003CF2158 +:102CB00059FAB5D281186D1774DE7E01C5150DFD68 +:102CC0002AEAD3FB6B1E9E057BE522FC4715AF0469 +:102CD0003BE897FEB819A5F79FED2B0FF609DDF33A +:102CE000B3F2D105E2195FF061EA3E1A14066BF304 +:102CF0006AF8E10898126EE868EDBB206405B5E556 +:102D0000170A700844FAECFA48FC441311FD4DE32D +:102D1000A2084A1DE8FBA9E6B000E216E4F814F0A8 +:102D2000840D89082DF053EF0418471772E90CEF52 +:102D3000BA10920318F36402E604740947EAB1FB7F +:102D4000CC1ED7F807F4BDFC57042504CFF93FFF8C +:102D50008F110FF6ACEC7115890788F63CF8EF007F +:102D60000A0CD2FCD0F59010C6FBCDEE240A670702 +:102D7000B4033DF249F966101100DFFAD505690187 +:102D800077FA4FF0E10897145FF3AFF07807B709CF +:102D90005DFC8CF74E06450B9BEA22FD1D1733FCAC +:102DA00003F12A025F06D00745F78CF8A41249F711 +:102DB000E1F4A3035E0C1D0270F0A703730C30F561 +:102DC000ECF9410AAF0477F824F4900D3203B7F020 +:102DD00043FF312FC903E1C96CF0281FC22424DD51 +:102DE0009FEDD30F940D2D04EADA8D0A552574DE7C +:102DF00045F70B1F11EB6002F2070EF74D0DB4EC17 +:102E0000EF02141BB0ED74F0E6016A11F30339F21E +:102E10004B03820099F4F606A90F44FC8200A3ED4F +:102E20000306F812DDF35B0802F8D0F4D90583FC41 +:102E3000E617C2F9ECE4B01604012BFB280A95F45E +:102E4000E3FE20063AEF58145B0866E6C806B0FFBA +:102E5000FF03430219FFE7001AFC7AFC840A5401BD +:102E6000F1F6DBFD55F98C0F79012CF7A206E7FF8F +:102E70003DF45304300E0C02D4F2F6F39D0E4701DC +:102E800061FFEE05AAF5E605C3F7A800681925EE6F +:102E9000D1EFBF0820086DFF9B003BFE22FFCAFD5B +:102EA00063F20513390B19EE23FB53026B09110171 +:102EB00016F99A071BF9C7F72D050B06FB052CF52C +:102EC0005EF79D0DA302A6F3C8086306BBF554FD8B +:102ED00080084E0730F9F1F5D009C1FDBEF98E0426 +:102EE00069FD7C0BC7F4CFF7F715BAF614F2520C54 +:102EF000D503E200C2FC0DFC670BA5FB6FF65E0B71 +:102F0000680351F848FA1004340FC4F15EF9C80997 +:102F1000DBFB190186FF8E05C900FEF397019410B3 +:102F200027FB80F4B3069B00ACFF8BFBB001020DC6 +:102F30007DF04DF9490D03067EFE10F1D9068E0590 +:102F400067F46806740945F5A5F8810767077903F2 +:102F500034F551FB9D0D2FFA6AF9B20D72FC34F96C +:102F600012FA5609BF0918F298FB3E049A08B9FDF7 +:102F7000C6FC2D0554FFDDF281043313BAF928F2A3 +:102F8000B400CC0987FE83FD10057101D0F383FDE9 +:102F90007B0FD90388F8DDEF1309DC0C3CF88105C1 +:102FA000D2FCADFC2BFDB00295092BFCD3FB40F904 +:102FB000D409080395F5DE027C08C2FB25EF1B0D42 +:102FC000FA0A4EF52101F5F9DD043D0830F78905CF +:102FD00026FF34F743038D0912FCE0F53605A704FC +:102FE0005CFFE8F99B009A0594FBF3FFDAFFEE071C +:102FF000B40121EC7F0E350863F579033BFDC00574 +:10300000E3FB62FA9A067C076FF891F60E0CEBFD73 +:1030100055FBDD047E0187FE94FAB404F700ADFD94 +:10302000D6016DFE2105ECFAFDFAF20883FCECF9FD +:103030000F08D80973F713F33507D1031AFE740587 +:1030400058001AFB98FCCEFEC0069607E4F7ECF990 +:1030500036028E04AC02B9FBCEFFA4FE51FAA206E2 +:10306000630683FB15FE26FD1308CD03A2F543037B +:10307000CC065AF438F8E40D060B6AF8A7EEA30361 +:103080003D0AE60204022CF4DBFD9604D601FE099B +:10309000A5FA8DF19B033109190161FE40F8D007B3 +:1030A000340D77E382FF4121CCF27EE9BB09880B26 +:1030B00065FD7EFFD3F8C5FE4607A9FA8905950987 +:1030C00081F1ECF8C807BC032809BEF89AF0E509BD +:1030D0001C0622FC5F09E9F66BF3BF0A1002F60535 +:1030E000E7FE08EFD4089109E9F6AF04D50680F3AE +:1030F00009FDF2059F010E0E1BF5B4EEC20E9B03F7 +:103100008DF5C807790436EE8D06240890FBC904B6 +:103110004EF5D102AE0D06F8F8FE81061FF797FEB8 +:103120007405E2014B05BFF387FA5E0E00FE76FDE3 +:103130000804F5F52AFF810726FED009F0FB3FECD5 +:10314000D0085D135EF6D3F8DC0966F953042FFC52 +:10315000250244103FEC56F68908E50647FF76FC49 +:1031600022FF66FB0306B8052006B1FA1EE899099E +:103170007F2494FC37E67BFB4B052006A8FE470125 +:10318000D10246EFA0FCB111A304BFF39CFBE109FF +:103190002FFCE7FE7501C1014A0AF4E99B004F19B3 +:1031A00035F165FCBB088BFB27FC0400C8058603D2 +:1031B0006BF5B2F82B0FA4FF3CFBA8015DFD5B078C +:1031C0002BFA76FF5F0538F93605FF04A1F6CEFE2F +:1031D0008E018E026C07D4F372FA3D0B9202E7FC6B +:1031E00066F7D502170CBEF933FE7101FCFDEE0542 +:1031F00050FCBDFF920448FB00FE2905CAFC43FFBA +:10320000C10172FB3908F0FAF5F9510D83F9BEFAE4 +:10321000960533FF8D061EFC1AFA8907150137FC47 +:10322000F8FF9A042FFE77FA1100A703100398F90C +:10323000CAFC1F0B67089BECE9F629184F0374F2D0 +:1032400048FBFF055F05F4FB1900D50472FD98FAF1 +:10325000B0FFFF0247016EFB7807A4FFFAF326FFD9 +:10326000A414EB0152DFC6107D18B6E41CF45124FF +:1032700001FDC8DD55105D102AFE2AEBE4F8DB26BF +:10328000DDF0DED93C26D7118EDAFCFDC515C4056C +:10329000EBFEA8E8F10C660FAADF9618140458ECB0 +:1032A0009A0893FD000010054702A6F1800AB5FBBD +:1032B000F0F94717CFF717F51D0186FFCC07F60881 +:1032C000AFF2F5F8230DA5FB2103F30260EEA41382 +:1032D0006C034DE27A13D00A68F0D907D2FC23F7C9 +:1032E000331334F578F55C162DF12AFF9E05E8F8C6 +:1032F0009108B1FA9BFF700547FF52F4730D7005FA +:10330000EEEF5F08CAFB10069CFDD7FB520AF4FAE9 +:1033100061FE33FE3506D4F6E602770E9BED4F02D2 +:103320009E09DBFA8BFCC5FEB7064B025EF805FC76 +:103330008B1034FAB8EBB915100353F06003DFFCBF +:10334000FE0ACD00FEF41C05E106C1FD24F4E217DF +:1033500061FF4EDDD409FC132D0556F47CF50DFFFD +:10336000AA0AFCFD4B014D0EB9E8B5FB280C63061B +:10337000D905EBECDBFBBA107BF9CD01C212BCEE38 +:10338000BCEE3E07B20CAA0CE5F53EF0FB0509FFCA +:103390003E07C503630640F996DB1A25ED0AB7F030 +:1033A000EA06B7F03109B6F8950A100505FC44FCA9 +:1033B0007AE9D41DE70078F51501CFFAA60B0BF2D8 +:1033C000471599F808EB6D14F2F0E713D80A28E1D5 +:1033D00083FDD00A3908D2FDEE0753F153ED75187D +:1033E000AC012C09A5F787E722114301F10B4AF440 +:1033F0002E034E0966E2A71743FE37FD8E011CF02F +:10340000F90FF1F8EA047902BDFEDE0364EFBE10A5 +:103410006C0545F68BFD84F8270FF0FC7C09E4F67B +:10342000BDEAC01AEAF01B0E5F052BE5A50DBDFE37 +:103430005B08F0FA5704E0F849F77E1217F8730CAE +:1034400018F295F61A0FD6FDEA0373F9D40A02F4BE +:10345000B6F8F90E27FA4E0BD0F1DFFA0A0F87FA09 +:10346000DA0061FCE507E0F9A9FB830F98FBFDF9A1 +:10347000E8F84109E602DFFC520757EE4703A705CB +:1034800069FE620FA2F140F8B002A4002C09EFFE21 +:10349000AF0496F18BFDED0C8A00180452F3540131 +:1034A000A4003F02A70412F93A0539F54E08460870 +:1034B00074F0E508A8FD50FF1B0A40F9150216FB41 +:1034C00072FC32043E03A70634F840F811FD200ACE +:1034D0002E0158006002F3ED1B0B530215FFC70AC3 +:1034E000D9F0A4FF4B045F05930145F8290412FCB1 +:1034F000E6010C0451FBDAFF6D0015FEA4FE740713 +:10350000C6FA48FC9A0591F65707B80559F985049B +:1035100062F93A03CD028F00D104E1F0B708030449 +:1035200062F99A08E3FE52F4E7FC16121AFA08014F +:1035300072FD42F1541383FC76FC5B08ECF9F9F957 +:1035400004022F0FBBF5CFF85F0801FBE10758FE1F +:10355000A1FA4B0326FEC6FD8A02C30A5BF237FDC1 +:10356000F6082BFC310727FCCAFECEFBC5FF9A08E4 +:10357000A5FAB3053200C8F24204BB0905FADE0120 +:10358000D5027CF4A206B30673F65306B9FD17F80C +:10359000A50C93FFA5F922FE36024B0482FEEF0133 +:1035A00088F91EFFC40405FE35062600A5F73BFE7C +:1035B0003108C9011AFA4F043FFD26FE5C020802D9 +:1035C0008603A1F9370027FBA3044F056FF64A09CC +:1035D00093FD56F62103670704FF2AFE65FFB6F543 +:1035E000B3076804F6063F0068ED1D04AF0782FFCD +:1035F0005DFE61FEB5FF5DFC9A04780902F6BAFA39 +:103600001C063BFF250398FC22FE9605CEFC4CFBD6 +:10361000C007E6016AF97AFFF301200651FA48FB78 +:10362000E2044701B0FF8F0093FD51F8950A31087D +:1036300061FDB9FE10F087FC6114E204F30189F327 +:103640003BE747185B0644FD0E0F50EBABF18909D1 +:10365000380CA208B0021EE8A9FBAA0BADFDA0130E +:10366000E4F8C3F32FFACAFC08195800F1F406F77E +:10367000000000000000000000000000000000004A +:10368000000000000000000000000000000000003A +:10369000000000000000000000000000000000002A +:1036A000000000000000000000000000000000001A +:1036B000000000000000000000000000000000000A +:1036C00000000000000000000000000000000000FA +:1036D00000000000000000000000000000000000EA +:1036E00000000000000000000000000000000000DA +:1036F00000000000000000000000000000000000CA +:1037000000000000000000000000000000000000B9 +:083710000000000000000000B1 +:04000005080000ED02 +:00000001FF diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.htm b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.htm new file mode 100644 index 0000000..3a15430 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.htm @@ -0,0 +1,427 @@ + + +Static Call Graph - [.\Obj\StepSon.axf] +
+

Static Call Graph for image .\Obj\StepSon.axf


+

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Mar 22 18:12:40 2022 +

+

Maximum Stack Usage = 40 bytes + Unknown(Cycles, Untraceable Function Pointers)

+Call chain for Maximum Stack Depth:

+main ⇒ PWM_Init_ff ⇒ Timer_1234_Init_ff +

+

+Mutually Recursive functions +

  • NMI_Handler   ⇒   NMI_Handler
    +
  • HardFault_Handler   ⇒   HardFault_Handler
    +
  • MemManage_Handler   ⇒   MemManage_Handler
    +
  • BusFault_Handler   ⇒   BusFault_Handler
    +
  • UsageFault_Handler   ⇒   UsageFault_Handler
    +
  • SVC_Handler   ⇒   SVC_Handler
    +
  • DebugMon_Handler   ⇒   DebugMon_Handler
    +
  • PendSV_Handler   ⇒   PendSV_Handler
    +
  • SysTick_Handler   ⇒   SysTick_Handler
    +
  • ADC1_2_IRQHandler   ⇒   ADC1_2_IRQHandler
    + +

    +

    +Function Pointers +

      +
    • ADC1_2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • BusFault_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • CAN1_RX1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • CAN1_SCE_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • CallbackSon from gestionson.o(moncode) referenced from principal.o(i.main) +
    • DMA1_Channel1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel3_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel4_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel5_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel6_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel7_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DebugMon_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI0_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI15_10_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI3_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI4_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI9_5_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • FLASH_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • HardFault_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • I2C1_ER_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • I2C1_EV_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • I2C2_ER_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • I2C2_EV_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • MemManage_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • NMI_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • PVD_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • PendSV_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • RCC_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • RTCAlarm_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • RTC_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • Reset_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SPI1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SPI2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SVC_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SysTick_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SystemInit from startup-rvds.o(.text) referenced from startup-rvds.o(.text) +
    • TAMPER_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • TIM1_BRK_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • TIM1_CC_IRQHandler from timer_1234.o(i.TIM1_CC_IRQHandler) referenced from startup-rvds.o(RESET) +
    • TIM1_TRG_COM_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • TIM1_UP_IRQHandler from timer_1234.o(i.TIM1_UP_IRQHandler) referenced from startup-rvds.o(RESET) +
    • TIM2_IRQHandler from timer_1234.o(i.TIM2_IRQHandler) referenced from startup-rvds.o(RESET) +
    • TIM3_IRQHandler from timer_1234.o(i.TIM3_IRQHandler) referenced from startup-rvds.o(RESET) +
    • TIM4_IRQHandler from timer_1234.o(i.TIM4_IRQHandler) referenced from startup-rvds.o(RESET) +
    • USART1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USART2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USART3_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USBWakeUp_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USB_HP_CAN1_TX_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USB_LP_CAN1_RX0_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • UsageFault_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • WWDG_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup-rvds.o(.text) +
    • main from principal.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B) +
    +

    +

    +Global Symbols +

    +

    __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000)) +
    [Address Reference Count : 1]

    • startup-rvds.o(.text) +
    +

    _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) + +

    _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

    [Calls]

    • >>   __scatterload +
    + +

    __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

    [Called By]

    • >>   __scatterload +
    + +

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) + +

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) + +

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) + +

    __rt_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E)) + +

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F)) + +

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011)) + +

    Reset_Handler (Thumb, 34 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    SystemInit (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(.text) +
    +

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   NMI_Handler +
    +
    [Called By]
    • >>   NMI_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   HardFault_Handler +
    +
    [Called By]
    • >>   HardFault_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   MemManage_Handler +
    +
    [Called By]
    • >>   MemManage_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   BusFault_Handler +
    +
    [Called By]
    • >>   BusFault_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   UsageFault_Handler +
    +
    [Called By]
    • >>   UsageFault_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   SVC_Handler +
    +
    [Called By]
    • >>   SVC_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   DebugMon_Handler +
    +
    [Called By]
    • >>   DebugMon_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   PendSV_Handler +
    +
    [Called By]
    • >>   PendSV_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   SysTick_Handler +
    +
    [Called By]
    • >>   SysTick_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   ADC1_2_IRQHandler +
    +
    [Called By]
    • >>   ADC1_2_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI15_10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI9_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    RTCAlarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    RTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TAMPER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM1_BRK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM1_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USBWakeUp_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USB_HP_CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USB_LP_CAN1_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) +

    [Calls]

    • >>   __main_after_scatterload +
    +
    [Called By]
    • >>   _main_scatterload +
    + +

    __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) + +

    Active_IT_Debordement_Timer (Thumb, 204 bytes, Stack size 24 bytes, timer_1234.o(i.Active_IT_Debordement_Timer)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = Active_IT_Debordement_Timer +
    +
    [Called By]
    • >>   main +
    + +

    CLOCK_Configure (Thumb, 104 bytes, Stack size 16 bytes, clock.o(i.CLOCK_Configure)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = CLOCK_Configure +
    +
    [Calls]
    • >>   CLOCK_HPRECompute +
    +
    [Called By]
    • >>   main +
    + +

    CLOCK_GetHCLK (Thumb, 4 bytes, Stack size 0 bytes, clock.o(i.CLOCK_GetHCLK)) +

    [Called By]

    • >>   Timer_1234_Init_ff +
    + +

    CLOCK_GetTIMCLK (Thumb, 22 bytes, Stack size 0 bytes, clock.o(i.CLOCK_GetTIMCLK)) +

    [Called By]

    • >>   Timer_1234_Init_ff +
    + +

    GPIOA_Clear (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOA_Clear), UNUSED) + +

    GPIOA_Set (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOA_Set), UNUSED) + +

    GPIOB_Clear (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Clear), UNUSED) + +

    GPIOB_Set (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Set), UNUSED) + +

    GPIOC_Clear (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOC_Clear), UNUSED) + +

    GPIOC_Set (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOC_Set), UNUSED) + +

    GPIO_Configure (Thumb, 240 bytes, Stack size 20 bytes, gpio.o(i.GPIO_Configure)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = GPIO_Configure +
    +
    [Called By]
    • >>   main +
    + +

    PWM_Init_ff (Thumb, 168 bytes, Stack size 24 bytes, timer_1234.o(i.PWM_Init_ff)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = PWM_Init_ff ⇒ Timer_1234_Init_ff +
    +
    [Calls]
    • >>   Timer_1234_Init_ff +
    +
    [Called By]
    • >>   main +
    + +

    PWM_Set_Value_TIM3_Ch3 (Thumb, 6 bytes, Stack size 0 bytes, timer_1234.o(i.PWM_Set_Value_TIM3_Ch3)) +

    [Called By]

    • >>   CallbackSon +
    + +

    TIM1_CC_IRQHandler (Thumb, 240 bytes, Stack size 16 bytes, timer_1234.o(i.TIM1_CC_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM1_CC_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    TIM1_UP_IRQHandler (Thumb, 16 bytes, Stack size 0 bytes, timer_1234.o(i.TIM1_UP_IRQHandler)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM2_IRQHandler (Thumb, 266 bytes, Stack size 16 bytes, timer_1234.o(i.TIM2_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM2_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    TIM3_IRQHandler (Thumb, 272 bytes, Stack size 16 bytes, timer_1234.o(i.TIM3_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM3_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    TIM4_IRQHandler (Thumb, 272 bytes, Stack size 16 bytes, timer_1234.o(i.TIM4_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM4_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    Timer_1234_Init_ff (Thumb, 106 bytes, Stack size 16 bytes, timer_1234.o(i.Timer_1234_Init_ff)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = Timer_1234_Init_ff +
    +
    [Calls]
    • >>   CLOCK_GetTIMCLK +
    • >>   CLOCK_GetHCLK +
    +
    [Called By]
    • >>   PWM_Init_ff +
    • >>   main +
    + +

    __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) + +

    __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) + +

    __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) + +

    main (Thumb, 52 bytes, Stack size 0 bytes, principal.o(i.main)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = main ⇒ PWM_Init_ff ⇒ Timer_1234_Init_ff +
    +
    [Calls]
    • >>   Timer_1234_Init_ff +
    • >>   PWM_Init_ff +
    • >>   GPIO_Configure +
    • >>   CLOCK_Configure +
    • >>   Active_IT_Debordement_Timer +
    +
    [Address Reference Count : 1]
    • entry9a.o(.ARM.Collect$$$$0000000B) +
    +

    CallbackSon (Thumb, 52 bytes, Stack size 0 bytes, gestionson.o(moncode)) +

    [Calls]

    • >>   PWM_Set_Value_TIM3_Ch3 +
    +
    [Address Reference Count : 1]
    • principal.o(i.main) +

    +

    +Local Symbols +

    +

    CLOCK_HPRECompute (Thumb, 116 bytes, Stack size 0 bytes, clock.o(i.CLOCK_HPRECompute)) +

    [Called By]

    • >>   CLOCK_Configure +
    +

    +

    +Undefined Global Symbols +


    diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.lnp b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.lnp new file mode 100644 index 0000000..7c498dc --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.lnp @@ -0,0 +1,10 @@ +--cpu Cortex-M3 +".\obj\principal.o" +".\obj\startup-rvds.o" +".\Driver\DriverJeuLaser.lib" +".\obj\bruitverre.o" +".\obj\gestionson.o" +--library_type=microlib --strict --scatter ".\Obj\StepSon.sct" +--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols +--info sizes --info totals --info unused --info veneers +--list "StepSon.map" -o .\Obj\StepSon.axf \ No newline at end of file diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.map b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.map new file mode 100644 index 0000000..0df8376 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.map @@ -0,0 +1,553 @@ +Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601] + +============================================================================== + +Section Cross References + + principal.o(i.main) refers to clock.o(i.CLOCK_Configure) for CLOCK_Configure + principal.o(i.main) refers to timer_1234.o(i.Timer_1234_Init_ff) for Timer_1234_Init_ff + principal.o(i.main) refers to timer_1234.o(i.PWM_Init_ff) for PWM_Init_ff + principal.o(i.main) refers to gpio.o(i.GPIO_Configure) for GPIO_Configure + principal.o(i.main) refers to timer_1234.o(i.Active_IT_Debordement_Timer) for Active_IT_Debordement_Timer + principal.o(i.main) refers to gestionson.o(moncode) for CallbackSon + startup-rvds.o(RESET) refers to startup-rvds.o(STACK) for __initial_sp + startup-rvds.o(RESET) refers to startup-rvds.o(.text) for Reset_Handler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM1_UP_IRQHandler) for TIM1_UP_IRQHandler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM1_CC_IRQHandler) for TIM1_CC_IRQHandler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM2_IRQHandler) for TIM2_IRQHandler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM3_IRQHandler) for TIM3_IRQHandler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM4_IRQHandler) for TIM4_IRQHandler + startup-rvds.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main + gestionson.o(mesdata) refers (Special) to gpio.o(i.GPIOA_Clear) for GPIOA_Clear + gestionson.o(mesdata) refers (Special) to gpio.o(i.GPIOA_Set) for GPIOA_Set + gestionson.o(mesdata) refers (Special) to gpio.o(i.GPIOB_Clear) for GPIOB_Clear + gestionson.o(mesdata) refers (Special) to gpio.o(i.GPIOB_Set) for GPIOB_Set + gestionson.o(mesdata) refers (Special) to gpio.o(i.GPIOC_Clear) for GPIOC_Clear + gestionson.o(mesdata) refers (Special) to gpio.o(i.GPIOC_Set) for GPIOC_Set + gestionson.o(maram) refers (Special) to gpio.o(i.GPIOA_Clear) for GPIOA_Clear + gestionson.o(maram) refers (Special) to gpio.o(i.GPIOA_Set) for GPIOA_Set + gestionson.o(maram) refers (Special) to gpio.o(i.GPIOB_Clear) for GPIOB_Clear + gestionson.o(maram) refers (Special) to gpio.o(i.GPIOB_Set) for GPIOB_Set + gestionson.o(maram) refers (Special) to gpio.o(i.GPIOC_Clear) for GPIOC_Clear + gestionson.o(maram) refers (Special) to gpio.o(i.GPIOC_Set) for GPIOC_Set + gestionson.o(moncode) refers (Special) to gpio.o(i.GPIOA_Clear) for GPIOA_Clear + gestionson.o(moncode) refers (Special) to gpio.o(i.GPIOA_Set) for GPIOA_Set + gestionson.o(moncode) refers (Special) to gpio.o(i.GPIOB_Clear) for GPIOB_Clear + gestionson.o(moncode) refers (Special) to gpio.o(i.GPIOB_Set) for GPIOB_Set + gestionson.o(moncode) refers (Special) to gpio.o(i.GPIOC_Clear) for GPIOC_Clear + gestionson.o(moncode) refers (Special) to gpio.o(i.GPIOC_Set) for GPIOC_Set + gestionson.o(moncode) refers to timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) for PWM_Set_Value_TIM3_Ch3 + gestionson.o(moncode) refers to bruitverre.o(SecSon) for Son + gestionson.o(moncode) refers to gestionson.o(maram) for index + clock.o(i.CLOCK_Configure) refers to clock.o(i.CLOCK_HPRECompute) for CLOCK_HPRECompute + timer_1234.o(i.Active_IT_Compare_Timer) refers to timer_1234.o(.data) for .data + timer_1234.o(i.Active_IT_Debordement_Timer) refers to timer_1234.o(.data) for .data + timer_1234.o(i.Capture_Init) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK + timer_1234.o(i.Capture_Init) refers to dfltui.o(.text) for __aeabi_ui2d + timer_1234.o(i.Capture_Init) refers to f2d.o(.text) for __aeabi_f2d + timer_1234.o(i.Capture_Init) refers to dmul.o(.text) for __aeabi_dmul + timer_1234.o(i.Capture_Init) refers to ddiv.o(.text) for __aeabi_ddiv + timer_1234.o(i.Capture_Init) refers to d2f.o(.text) for __aeabi_d2f + timer_1234.o(i.Capture_Init) refers to ffltui.o(.text) for __aeabi_ui2f + timer_1234.o(i.Capture_Init) refers to fmul.o(.text) for __aeabi_fmul + timer_1234.o(i.Capture_Init) refers to ffixui.o(.text) for __aeabi_f2uiz + timer_1234.o(i.Capture_Init) refers to ffixi.o(.text) for __aeabi_f2iz + timer_1234.o(i.Lire_Duree_Pulse) refers to timer_1234.o(.data) for .data + timer_1234.o(i.PWM_Init) refers to f2d.o(.text) for __aeabi_f2d + timer_1234.o(i.PWM_Init) refers to ddiv.o(.text) for __aeabi_ddiv + timer_1234.o(i.PWM_Init) refers to d2f.o(.text) for __aeabi_d2f + timer_1234.o(i.PWM_Init) refers to timer_1234.o(i.Timer_1234_Init) for Timer_1234_Init + timer_1234.o(i.PWM_Init_ff) refers to timer_1234.o(i.Timer_1234_Init_ff) for Timer_1234_Init_ff + timer_1234.o(i.TIM1_CC_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.TIM1_UP_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.TIM2_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.TIM3_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.TIM4_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.Timer_1234_Init) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK + timer_1234.o(i.Timer_1234_Init) refers to ffltui.o(.text) for __aeabi_ui2f + timer_1234.o(i.Timer_1234_Init) refers to fmul.o(.text) for __aeabi_fmul + timer_1234.o(i.Timer_1234_Init) refers to f2d.o(.text) for __aeabi_f2d + timer_1234.o(i.Timer_1234_Init) refers to ddiv.o(.text) for __aeabi_ddiv + timer_1234.o(i.Timer_1234_Init) refers to d2f.o(.text) for __aeabi_d2f + timer_1234.o(i.Timer_1234_Init) refers to fscalb.o(.text) for __ARM_scalbnf + timer_1234.o(i.Timer_1234_Init) refers to ffixui.o(.text) for __aeabi_f2uiz + timer_1234.o(i.Timer_1234_Init) refers to fdiv.o(.text) for __aeabi_fdiv + timer_1234.o(i.Timer_1234_Init) refers to dfltui.o(.text) for __aeabi_ui2d + timer_1234.o(i.Timer_1234_Init) refers to dadd.o(.text) for __aeabi_dadd + timer_1234.o(i.Timer_1234_Init) refers to dmul.o(.text) for __aeabi_dmul + timer_1234.o(i.Timer_1234_Init_ff) refers to clock.o(i.CLOCK_GetHCLK) for CLOCK_GetHCLK + timer_1234.o(i.Timer_1234_Init_ff) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry8b.o(.ARM.Collect$$$$0000000A) for _main_cpp_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk + fmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + fdiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + fdiv.o(.text) refers to fepilogue.o(.text) for _float_round + fscalb.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dadd.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl + dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr + dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue + dmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue + ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + ddiv.o(.text) refers to depilogue.o(.text) for _double_round + ffltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + ffltui.o(.text) refers to fepilogue.o(.text) for _float_epilogue + dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfltui.o(.text) refers to depilogue.o(.text) for _double_epilogue + ffixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + ffixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + f2d.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + d2f.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + d2f.o(.text) refers to fepilogue.o(.text) for _float_round + entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000 + entry2.o(.ARM.Collect$$$$00002712) refers to startup-rvds.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to startup-rvds.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to entry.o(.ARM.Collect$$$$00000000) for __main + entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload + entry9a.o(.ARM.Collect$$$$0000000B) refers to principal.o(i.main) for main + entry9b.o(.ARM.Collect$$$$0000000C) refers to principal.o(i.main) for main + depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl + depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr + init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload + + +============================================================================== + +Removing Unused input sections from the image. + + Removing principal.o(.rev16_text), (4 bytes). + Removing principal.o(.revsh_text), (4 bytes). + Removing principal.o(.rrx_text), (6 bytes). + Removing startup-rvds.o(HEAP), (512 bytes). + Removing gestionson.o(mesdata), (0 bytes). + Removing clock.o(.rev16_text), (4 bytes). + Removing clock.o(.revsh_text), (4 bytes). + Removing clock.o(.rrx_text), (6 bytes). + Removing clock.o(i.CLOCK_GetADCCLK), (8 bytes). + Removing clock.o(i.CLOCK_GetPCLK1), (8 bytes). + Removing clock.o(i.CLOCK_GetPCLK2), (8 bytes). + Removing gpio.o(.rev16_text), (4 bytes). + Removing gpio.o(.revsh_text), (4 bytes). + Removing gpio.o(.rrx_text), (6 bytes). + Removing timer_1234.o(.rev16_text), (4 bytes). + Removing timer_1234.o(.revsh_text), (4 bytes). + Removing timer_1234.o(.rrx_text), (6 bytes). + Removing timer_1234.o(i.Active_IT_Compare_Timer), (492 bytes). + Removing timer_1234.o(i.Capture_Init), (484 bytes). + Removing timer_1234.o(i.Lire_Duree_Pulse), (96 bytes). + Removing timer_1234.o(i.PWM_Complementaire_Timer1), (60 bytes). + Removing timer_1234.o(i.PWM_Init), (200 bytes). + Removing timer_1234.o(i.Timer_1234_Init), (268 bytes). + Removing timer_1234.o(i.Timer_Inc_Init), (180 bytes). + Removing fmul.o(.text), (100 bytes). + Removing fdiv.o(.text), (124 bytes). + Removing fscalb.o(.text), (24 bytes). + Removing dadd.o(.text), (334 bytes). + Removing dmul.o(.text), (228 bytes). + Removing ddiv.o(.text), (222 bytes). + Removing ffltui.o(.text), (10 bytes). + Removing dfltui.o(.text), (26 bytes). + Removing ffixi.o(.text), (50 bytes). + Removing ffixui.o(.text), (40 bytes). + Removing f2d.o(.text), (38 bytes). + Removing d2f.o(.text), (56 bytes). + Removing fepilogue.o(.text), (110 bytes). + Removing depilogue.o(.text), (186 bytes). + +38 unused section(s) (total 3920 bytes) removed from the image. + +============================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Ov Type Size Object(Section) + + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE + ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE + ../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE + ../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE + ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE + ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE + ../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE + ../fplib/microlib/fpscalb.c 0x00000000 Number 0 fscalb.o ABSOLUTE + Lib\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE + Lib\Timer_1234.c 0x00000000 Number 0 timer_1234.o ABSOLUTE + Lib\\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE + Lib\\Timer_1234.c 0x00000000 Number 0 timer_1234.o ABSOLUTE + Lib\\clock.c 0x00000000 Number 0 clock.o ABSOLUTE + Lib\clock.c 0x00000000 Number 0 clock.o ABSOLUTE + Src\GestionSon.s 0x00000000 Number 0 gestionson.o ABSOLUTE + Src\\principal.c 0x00000000 Number 0 principal.o ABSOLUTE + Src\bruitverre.asm 0x00000000 Number 0 bruitverre.o ABSOLUTE + Src\principal.c 0x00000000 Number 0 principal.o ABSOLUTE + Src\startup-rvds.s 0x00000000 Number 0 startup-rvds.o ABSOLUTE + dc.s 0x00000000 Number 0 dc.o ABSOLUTE + handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE + init.s 0x00000000 Number 0 init.o ABSOLUTE + RESET 0x08000000 Section 236 startup-rvds.o(RESET) + .ARM.Collect$$$$00000000 0x080000ec Section 0 entry.o(.ARM.Collect$$$$00000000) + .ARM.Collect$$$$00000001 0x080000ec Section 4 entry2.o(.ARM.Collect$$$$00000001) + .ARM.Collect$$$$00000004 0x080000f0 Section 4 entry5.o(.ARM.Collect$$$$00000004) + .ARM.Collect$$$$00000008 0x080000f4 Section 0 entry7b.o(.ARM.Collect$$$$00000008) + .ARM.Collect$$$$0000000A 0x080000f4 Section 0 entry8b.o(.ARM.Collect$$$$0000000A) + .ARM.Collect$$$$0000000B 0x080000f4 Section 8 entry9a.o(.ARM.Collect$$$$0000000B) + .ARM.Collect$$$$0000000E 0x080000fc Section 4 entry12b.o(.ARM.Collect$$$$0000000E) + .ARM.Collect$$$$0000000F 0x08000100 Section 0 entry10a.o(.ARM.Collect$$$$0000000F) + .ARM.Collect$$$$00000011 0x08000100 Section 0 entry11a.o(.ARM.Collect$$$$00000011) + .ARM.Collect$$$$00002712 0x08000100 Section 4 entry2.o(.ARM.Collect$$$$00002712) + __lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712) + .text 0x08000104 Section 76 startup-rvds.o(.text) + .text 0x08000150 Section 36 init.o(.text) + i.Active_IT_Debordement_Timer 0x08000174 Section 0 timer_1234.o(i.Active_IT_Debordement_Timer) + i.CLOCK_Configure 0x08000258 Section 0 clock.o(i.CLOCK_Configure) + i.CLOCK_GetHCLK 0x080002cc Section 0 clock.o(i.CLOCK_GetHCLK) + i.CLOCK_GetTIMCLK 0x080002d4 Section 0 clock.o(i.CLOCK_GetTIMCLK) + i.CLOCK_HPRECompute 0x080002f8 Section 0 clock.o(i.CLOCK_HPRECompute) + CLOCK_HPRECompute 0x080002f9 Thumb Code 116 clock.o(i.CLOCK_HPRECompute) + i.GPIOA_Clear 0x0800036c Section 0 gpio.o(i.GPIOA_Clear) + i.GPIOA_Set 0x0800037c Section 0 gpio.o(i.GPIOA_Set) + i.GPIOB_Clear 0x0800038c Section 0 gpio.o(i.GPIOB_Clear) + i.GPIOB_Set 0x0800039c Section 0 gpio.o(i.GPIOB_Set) + i.GPIOC_Clear 0x080003ac Section 0 gpio.o(i.GPIOC_Clear) + i.GPIOC_Set 0x080003bc Section 0 gpio.o(i.GPIOC_Set) + i.GPIO_Configure 0x080003cc Section 0 gpio.o(i.GPIO_Configure) + i.PWM_Init_ff 0x080004d4 Section 0 timer_1234.o(i.PWM_Init_ff) + i.PWM_Set_Value_TIM3_Ch3 0x08000580 Section 0 timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) + i.TIM1_CC_IRQHandler 0x0800058c Section 0 timer_1234.o(i.TIM1_CC_IRQHandler) + i.TIM1_UP_IRQHandler 0x08000698 Section 0 timer_1234.o(i.TIM1_UP_IRQHandler) + i.TIM2_IRQHandler 0x080006b0 Section 0 timer_1234.o(i.TIM2_IRQHandler) + i.TIM3_IRQHandler 0x080007c0 Section 0 timer_1234.o(i.TIM3_IRQHandler) + i.TIM4_IRQHandler 0x080008ec Section 0 timer_1234.o(i.TIM4_IRQHandler) + i.Timer_1234_Init_ff 0x08000a18 Section 0 timer_1234.o(i.Timer_1234_Init_ff) + i.__scatterload_copy 0x08000a94 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x08000aa2 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x08000aa4 Section 14 handlers.o(i.__scatterload_zeroinit) + i.main 0x08000ab4 Section 0 principal.o(i.main) + moncode 0x08000af8 Section 64 gestionson.o(moncode) + SecSon 0x08000b58 Section 11032 bruitverre.o(SecSon) + .data 0x20000000 Section 160 timer_1234.o(.data) + Ptr_TIM1 0x20000010 Data 4 timer_1234.o(.data) + Ptr_TIM2 0x20000014 Data 4 timer_1234.o(.data) + Ptr_TIM3 0x20000018 Data 4 timer_1234.o(.data) + Ptr_TIM4 0x2000001c Data 4 timer_1234.o(.data) + Ptr_TIM1_Voie1 0x20000020 Data 4 timer_1234.o(.data) + Ptr_TIM1_Voie2 0x20000024 Data 4 timer_1234.o(.data) + Ptr_TIM1_Voie3 0x20000028 Data 4 timer_1234.o(.data) + Ptr_TIM1_Voie4 0x2000002c Data 4 timer_1234.o(.data) + Ptr_TIM2_Voie1 0x20000030 Data 4 timer_1234.o(.data) + Ptr_TIM2_Voie2 0x20000034 Data 4 timer_1234.o(.data) + Ptr_TIM2_Voie3 0x20000038 Data 4 timer_1234.o(.data) + Ptr_TIM2_Voie4 0x2000003c Data 4 timer_1234.o(.data) + Ptr_TIM3_Voie1 0x20000040 Data 4 timer_1234.o(.data) + Ptr_TIM3_Voie2 0x20000044 Data 4 timer_1234.o(.data) + Ptr_TIM3_Voie3 0x20000048 Data 4 timer_1234.o(.data) + Ptr_TIM3_Voie4 0x2000004c Data 4 timer_1234.o(.data) + Ptr_TIM4_Voie1 0x20000050 Data 4 timer_1234.o(.data) + Ptr_TIM4_Voie2 0x20000054 Data 4 timer_1234.o(.data) + Ptr_TIM4_Voie3 0x20000058 Data 4 timer_1234.o(.data) + Ptr_TIM4_Voie4 0x2000005c Data 4 timer_1234.o(.data) + Duree_Pulse_T1 0x20000060 Data 8 timer_1234.o(.data) + Duree_Pulse_T2 0x20000068 Data 8 timer_1234.o(.data) + Duree_Pulse_T3 0x20000070 Data 8 timer_1234.o(.data) + Duree_Pulse_T4 0x20000078 Data 8 timer_1234.o(.data) + Date_T1 0x20000080 Data 8 timer_1234.o(.data) + Date_T2 0x20000088 Data 8 timer_1234.o(.data) + Date_T3 0x20000090 Data 8 timer_1234.o(.data) + Date_T4 0x20000098 Data 8 timer_1234.o(.data) + maram 0x200000a0 Section 8 gestionson.o(maram) + index 0x200000a4 Data 4 gestionson.o(maram) + STACK 0x200000a8 Section 1024 startup-rvds.o(STACK) + + Global Symbols + + Symbol Name Value Ov Type Size Object(Section) + + BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + __ARM_use_no_argv 0x00000000 Number 0 principal.o ABSOLUTE + __arm_fini_ - Undefined Weak Reference + __cpp_initialize__aeabi_ - Undefined Weak Reference + __cxa_finalize - Undefined Weak Reference + __decompress - Undefined Weak Reference + _clock_init - Undefined Weak Reference + _microlib_exit - Undefined Weak Reference + __Vectors_Size 0x000000ec Number 0 startup-rvds.o ABSOLUTE + __Vectors 0x08000000 Data 4 startup-rvds.o(RESET) + __Vectors_End 0x080000ec Data 0 startup-rvds.o(RESET) + __main 0x080000ed Thumb Code 0 entry.o(.ARM.Collect$$$$00000000) + _main_stk 0x080000ed Thumb Code 0 entry2.o(.ARM.Collect$$$$00000001) + _main_scatterload 0x080000f1 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + __main_after_scatterload 0x080000f5 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + _main_clock 0x080000f5 Thumb Code 0 entry7b.o(.ARM.Collect$$$$00000008) + _main_cpp_init 0x080000f5 Thumb Code 0 entry8b.o(.ARM.Collect$$$$0000000A) + _main_init 0x080000f5 Thumb Code 0 entry9a.o(.ARM.Collect$$$$0000000B) + __rt_lib_shutdown_fini 0x080000fd Thumb Code 0 entry12b.o(.ARM.Collect$$$$0000000E) + __rt_final_cpp 0x08000101 Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000F) + __rt_final_exit 0x08000101 Thumb Code 0 entry11a.o(.ARM.Collect$$$$00000011) + Reset_Handler 0x08000105 Thumb Code 34 startup-rvds.o(.text) + SystemInit 0x08000127 Thumb Code 2 startup-rvds.o(.text) + NMI_Handler 0x08000129 Thumb Code 2 startup-rvds.o(.text) + HardFault_Handler 0x0800012b Thumb Code 2 startup-rvds.o(.text) + MemManage_Handler 0x0800012d Thumb Code 2 startup-rvds.o(.text) + BusFault_Handler 0x0800012f Thumb Code 2 startup-rvds.o(.text) + UsageFault_Handler 0x08000131 Thumb Code 2 startup-rvds.o(.text) + SVC_Handler 0x08000133 Thumb Code 2 startup-rvds.o(.text) + DebugMon_Handler 0x08000135 Thumb Code 2 startup-rvds.o(.text) + PendSV_Handler 0x08000137 Thumb Code 2 startup-rvds.o(.text) + SysTick_Handler 0x08000139 Thumb Code 2 startup-rvds.o(.text) + ADC1_2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + CAN1_RX1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + CAN1_SCE_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel6_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel7_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI15_10_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI9_5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + FLASH_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C1_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C1_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C2_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C2_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + PVD_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + RCC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + RTCAlarm_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + RTC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + SPI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + SPI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TAMPER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM1_BRK_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM1_TRG_COM_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USART1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USART2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USART3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USBWakeUp_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USB_HP_CAN1_TX_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USB_LP_CAN1_RX0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + WWDG_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + __scatterload 0x08000151 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x08000151 Thumb Code 0 init.o(.text) + Active_IT_Debordement_Timer 0x08000175 Thumb Code 204 timer_1234.o(i.Active_IT_Debordement_Timer) + CLOCK_Configure 0x08000259 Thumb Code 104 clock.o(i.CLOCK_Configure) + CLOCK_GetHCLK 0x080002cd Thumb Code 4 clock.o(i.CLOCK_GetHCLK) + CLOCK_GetTIMCLK 0x080002d5 Thumb Code 22 clock.o(i.CLOCK_GetTIMCLK) + GPIOA_Clear 0x0800036d Thumb Code 10 gpio.o(i.GPIOA_Clear) + GPIOA_Set 0x0800037d Thumb Code 10 gpio.o(i.GPIOA_Set) + GPIOB_Clear 0x0800038d Thumb Code 10 gpio.o(i.GPIOB_Clear) + GPIOB_Set 0x0800039d Thumb Code 10 gpio.o(i.GPIOB_Set) + GPIOC_Clear 0x080003ad Thumb Code 10 gpio.o(i.GPIOC_Clear) + GPIOC_Set 0x080003bd Thumb Code 10 gpio.o(i.GPIOC_Set) + GPIO_Configure 0x080003cd Thumb Code 240 gpio.o(i.GPIO_Configure) + PWM_Init_ff 0x080004d5 Thumb Code 168 timer_1234.o(i.PWM_Init_ff) + PWM_Set_Value_TIM3_Ch3 0x08000581 Thumb Code 6 timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) + TIM1_CC_IRQHandler 0x0800058d Thumb Code 240 timer_1234.o(i.TIM1_CC_IRQHandler) + TIM1_UP_IRQHandler 0x08000699 Thumb Code 16 timer_1234.o(i.TIM1_UP_IRQHandler) + TIM2_IRQHandler 0x080006b1 Thumb Code 266 timer_1234.o(i.TIM2_IRQHandler) + TIM3_IRQHandler 0x080007c1 Thumb Code 272 timer_1234.o(i.TIM3_IRQHandler) + TIM4_IRQHandler 0x080008ed Thumb Code 272 timer_1234.o(i.TIM4_IRQHandler) + Timer_1234_Init_ff 0x08000a19 Thumb Code 106 timer_1234.o(i.Timer_1234_Init_ff) + __scatterload_copy 0x08000a95 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x08000aa3 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x08000aa5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + main 0x08000ab5 Thumb Code 52 principal.o(i.main) + CallbackSon 0x08000af9 Thumb Code 52 gestionson.o(moncode) + Region$$Table$$Base 0x08000b38 Number 0 anon$$obj.o(Region$$Table) + LongueurSon 0x08000b58 Data 4 bruitverre.o(SecSon) + Region$$Table$$Limit 0x08000b58 Number 0 anon$$obj.o(Region$$Table) + PeriodeSonMicroSec 0x08000b5c Data 4 bruitverre.o(SecSon) + Son 0x08000b60 Data 0 bruitverre.o(SecSon) + Enable_Fct_IT_Compare_Match_TIM1_Voie1 0x20000000 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM1_Voie2 0x20000001 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM1_Voie3 0x20000002 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM1_Voie4 0x20000003 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM2_Voie1 0x20000004 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM2_Voie2 0x20000005 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM2_Voie3 0x20000006 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM2_Voie4 0x20000007 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM3_Voie1 0x20000008 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM3_Voie2 0x20000009 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM3_Voie3 0x2000000a Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM3_Voie4 0x2000000b Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM4_Voie1 0x2000000c Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM4_Voie2 0x2000000d Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM4_Voie3 0x2000000e Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM4_Voie4 0x2000000f Data 1 timer_1234.o(.data) + SortieSon 0x200000a0 Data 2 gestionson.o(maram) + __initial_sp 0x200004a8 Data 0 startup-rvds.o(STACK) + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x080000ed + + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00003718, Max: 0x00020000, ABSOLUTE) + + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00003670, Max: 0x00020000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x08000000 0x08000000 0x000000ec Data RO 60 RESET startup-rvds.o + 0x080000ec 0x080000ec 0x00000000 Code RO 151 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 178 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 181 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 183 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 185 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 186 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 193 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) + 0x08000100 0x08000100 0x00000000 Code RO 188 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) + 0x08000100 0x08000100 0x00000000 Code RO 190 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) + 0x08000100 0x08000100 0x00000004 Code RO 179 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000104 0x08000104 0x0000004c Code RO 61 .text startup-rvds.o + 0x08000150 0x08000150 0x00000024 Code RO 203 .text mc_w.l(init.o) + 0x08000174 0x08000174 0x000000e4 Code RO 116 i.Active_IT_Debordement_Timer DriverJeuLaser.lib(timer_1234.o) + 0x08000258 0x08000258 0x00000074 Code RO 75 i.CLOCK_Configure DriverJeuLaser.lib(clock.o) + 0x080002cc 0x080002cc 0x00000008 Code RO 77 i.CLOCK_GetHCLK DriverJeuLaser.lib(clock.o) + 0x080002d4 0x080002d4 0x00000024 Code RO 80 i.CLOCK_GetTIMCLK DriverJeuLaser.lib(clock.o) + 0x080002f8 0x080002f8 0x00000074 Code RO 81 i.CLOCK_HPRECompute DriverJeuLaser.lib(clock.o) + 0x0800036c 0x0800036c 0x00000010 Code RO 95 i.GPIOA_Clear DriverJeuLaser.lib(gpio.o) + 0x0800037c 0x0800037c 0x00000010 Code RO 96 i.GPIOA_Set DriverJeuLaser.lib(gpio.o) + 0x0800038c 0x0800038c 0x00000010 Code RO 97 i.GPIOB_Clear DriverJeuLaser.lib(gpio.o) + 0x0800039c 0x0800039c 0x00000010 Code RO 98 i.GPIOB_Set DriverJeuLaser.lib(gpio.o) + 0x080003ac 0x080003ac 0x00000010 Code RO 99 i.GPIOC_Clear DriverJeuLaser.lib(gpio.o) + 0x080003bc 0x080003bc 0x00000010 Code RO 100 i.GPIOC_Set DriverJeuLaser.lib(gpio.o) + 0x080003cc 0x080003cc 0x00000108 Code RO 101 i.GPIO_Configure DriverJeuLaser.lib(gpio.o) + 0x080004d4 0x080004d4 0x000000ac Code RO 121 i.PWM_Init_ff DriverJeuLaser.lib(timer_1234.o) + 0x08000580 0x08000580 0x0000000c Code RO 122 i.PWM_Set_Value_TIM3_Ch3 DriverJeuLaser.lib(timer_1234.o) + 0x0800058c 0x0800058c 0x0000010c Code RO 123 i.TIM1_CC_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x08000698 0x08000698 0x00000018 Code RO 124 i.TIM1_UP_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x080006b0 0x080006b0 0x00000110 Code RO 125 i.TIM2_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x080007c0 0x080007c0 0x0000012c Code RO 126 i.TIM3_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x080008ec 0x080008ec 0x0000012c Code RO 127 i.TIM4_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x08000a18 0x08000a18 0x0000007c Code RO 129 i.Timer_1234_Init_ff DriverJeuLaser.lib(timer_1234.o) + 0x08000a94 0x08000a94 0x0000000e Code RO 209 i.__scatterload_copy mc_w.l(handlers.o) + 0x08000aa2 0x08000aa2 0x00000002 Code RO 210 i.__scatterload_null mc_w.l(handlers.o) + 0x08000aa4 0x08000aa4 0x0000000e Code RO 211 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x08000ab2 0x08000ab2 0x00000002 PAD + 0x08000ab4 0x08000ab4 0x00000044 Code RO 4 i.main principal.o + 0x08000af8 0x08000af8 0x00000040 Code RO 68 moncode gestionson.o + 0x08000b38 0x08000b38 0x00000020 Data RO 207 Region$$Table anon$$obj.o + 0x08000b58 0x08000b58 0x00002b18 Data RO 65 SecSon bruitverre.o + + + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08003670, Size: 0x000004a8, Max: 0x00005000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x20000000 0x08003670 0x000000a0 Data RW 131 .data DriverJeuLaser.lib(timer_1234.o) + 0x200000a0 0x08003710 0x00000008 Data RW 67 maram gestionson.o + 0x200000a8 - 0x00000400 Zero RW 58 STACK startup-rvds.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 0 0 11032 0 0 0 bruitverre.o + 64 12 0 8 0 372 gestionson.o + 68 16 0 0 0 1939 principal.o + 76 20 236 0 1024 840 startup-rvds.o + + ---------------------------------------------------------------------- + 208 48 11300 8 1024 3151 Object Totals + 0 0 32 0 0 0 (incl. Generated) + 0 0 0 0 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + + 276 30 0 0 0 284 clock.o + 360 60 0 0 0 492 gpio.o + 1700 150 0 160 0 740 timer_1234.o + 0 0 0 0 0 0 entry.o + 0 0 0 0 0 0 entry10a.o + 0 0 0 0 0 0 entry11a.o + 4 0 0 0 0 0 entry12b.o + 8 4 0 0 0 0 entry2.o + 4 0 0 0 0 0 entry5.o + 0 0 0 0 0 0 entry7b.o + 0 0 0 0 0 0 entry8b.o + 8 4 0 0 0 0 entry9a.o + 30 0 0 0 0 0 handlers.o + 36 8 0 0 0 68 init.o + + ---------------------------------------------------------------------- + 2428 256 0 160 0 1584 Library Totals + 2 0 0 0 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Name + + 2336 240 0 160 0 1516 DriverJeuLaser.lib + 90 16 0 0 0 68 mc_w.l + + ---------------------------------------------------------------------- + 2428 256 0 160 0 1584 Library Totals + + ---------------------------------------------------------------------- + +============================================================================== + + + Code (inc. data) RO Data RW Data ZI Data Debug + + 2636 304 11300 168 1024 3951 Grand Totals + 2636 304 11300 168 1024 3951 ELF Image Totals + 2636 304 11300 168 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 13936 ( 13.61kB) + Total RW Size (RW Data + ZI Data) 1192 ( 1.16kB) + Total ROM Size (Code + RO Data + RW Data) 14104 ( 13.77kB) + +============================================================================== + diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.sct b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.sct new file mode 100644 index 0000000..bbacbc6 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon.sct @@ -0,0 +1,16 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_IROM1 0x08000000 0x00020000 { ; load region size_region + ER_IROM1 0x08000000 0x00020000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x20000000 0x00005000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon_CibleSondeKEIL.dep b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon_CibleSondeKEIL.dep new file mode 100644 index 0000000..52991a4 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon_CibleSondeKEIL.dep @@ -0,0 +1,17 @@ +Dependencies for Project 'StepSon', Target 'CibleSondeKEIL': (DO NOT MODIFY !) +CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC +F (.\Src\principal.c)(0x623A0386)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\Driver --C99 -I.\RTE\_CibleSondeKEIL -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 -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DSTM32F103xB -DUSE_FULL_LL_DRIVER -o .\obj\principal.o --omf_browse .\obj\principal.crf --depend .\obj\principal.d) +I (.\Driver\DriverJeuLaser.h)(0x6037C015) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) +I (.\RTE\_CibleSondeKEIL\RTE_Components.h)(0x6239EE2C) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) +I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) +F (.\Src\startup-rvds.s)(0x5FE38AC6)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup-rvds.lst --xref -o .\obj\startup-rvds.o --depend .\obj\startup-rvds.d) +F (.\Driver\DriverJeuLaser.lib)(0x6037BEDF)() +F (.\Src\bruitverre.asm)(0x5ED5F990)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list bruitverre.lst --xref -o .\obj\bruitverre.o --depend .\obj\bruitverre.d) +F (.\Src\GestionSon.s)(0x6239FDC5)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list gestionson.lst --xref -o .\obj\gestionson.o --depend .\obj\gestionson.d) +I (.\Driver\DriverJeuLaser.inc)(0x6037BEDF) diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon_Simu.dep b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon_Simu.dep new file mode 100644 index 0000000..a678a5a --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/StepSon_Simu.dep @@ -0,0 +1,17 @@ +Dependencies for Project 'StepSon', Target 'Simu': (DO NOT MODIFY !) +CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC +F (.\Src\principal.c)(0x6239FAE7)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\Driver --C99 -I.\RTE\_Simu -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 -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DSTM32F103xB -DUSE_FULL_LL_DRIVER -o .\obj\principal.o --omf_browse .\obj\principal.crf --depend .\obj\principal.d) +I (.\Driver\DriverJeuLaser.h)(0x6037C015) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) +I (.\RTE\_Simu\RTE_Components.h)(0x6232FE54) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) +I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) +F (.\Src\startup-rvds.s)(0x5FE38AC6)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simu -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup-rvds.lst --xref -o .\obj\startup-rvds.o --depend .\obj\startup-rvds.d) +F (.\Driver\DriverJeuLaser.lib)(0x6037BEDF)() +F (.\Src\bruitverre.asm)(0x5ED5F990)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simu -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list bruitverre.lst --xref -o .\obj\bruitverre.o --depend .\obj\bruitverre.d) +F (.\Src\GestionSon.s)(0x6239FDC5)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_Simu -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list gestionson.lst --xref -o .\obj\gestionson.o --depend .\obj\gestionson.d) +I (.\Driver\DriverJeuLaser.inc)(0x6037BEDF) diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/bruitverre.d b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/bruitverre.d new file mode 100644 index 0000000..ab0db0c --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/bruitverre.d @@ -0,0 +1 @@ +.\obj\bruitverre.o: Src\bruitverre.asm diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/bruitverre.o b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/bruitverre.o new file mode 100644 index 0000000000000000000000000000000000000000..2ee6d351b42fa60e9ecdc563ead1e81dcb6862f1 GIT binary patch literal 12132 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 literal 0 HcmV?d00001 diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/gestionson.d b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/gestionson.d new file mode 100644 index 0000000..3a96494 --- /dev/null +++ b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/gestionson.d @@ -0,0 +1,2 @@ +.\obj\gestionson.o: Src\GestionSon.s +.\obj\gestionson.o: .\Driver\DriverJeuLaser.inc diff --git a/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/gestionson.o b/Partie son/PjtKEIL_StepSon/PjtKEIL_StepSon/Obj/gestionson.o new file mode 100644 index 0000000000000000000000000000000000000000..e11dd474f52f0b6583e2dd12b0a3dec3e7423040 GIT binary patch literal 2640 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

    +

    +

    +Function Pointers +

    +

    +

    +Global Symbols +

    +

    __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000)) +
    [Address Reference Count : 1]

    • startup-rvds.o(.text) +
    +

    _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) + +

    _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

    [Calls]

    • >>   __scatterload +
    + +

    __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

    [Called By]

    • >>   __scatterload +
    + +

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) + +

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) + +

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) + +

    __rt_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E)) + +

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F)) + +

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011)) + +

    Reset_Handler (Thumb, 34 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    SystemInit (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(.text) +
    +

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   NMI_Handler +
    +
    [Called By]
    • >>   NMI_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   HardFault_Handler +
    +
    [Called By]
    • >>   HardFault_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   MemManage_Handler +
    +
    [Called By]
    • >>   MemManage_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   BusFault_Handler +
    +
    [Called By]
    • >>   BusFault_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   UsageFault_Handler +
    +
    [Called By]
    • >>   UsageFault_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   SVC_Handler +
    +
    [Called By]
    • >>   SVC_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   DebugMon_Handler +
    +
    [Called By]
    • >>   DebugMon_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   PendSV_Handler +
    +
    [Called By]
    • >>   PendSV_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   SysTick_Handler +
    +
    [Called By]
    • >>   SysTick_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   ADC1_2_IRQHandler +
    +
    [Called By]
    • >>   ADC1_2_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI15_10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI9_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    RTCAlarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    RTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TAMPER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM1_BRK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM1_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM1_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM1_UP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USBWakeUp_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USB_HP_CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USB_LP_CAN1_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) +

    [Calls]

    • >>   __main_after_scatterload +
    +
    [Called By]
    • >>   _main_scatterload +
    + +

    __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) + +

    CLOCK_Configure (Thumb, 104 bytes, Stack size 16 bytes, clock.o(i.CLOCK_Configure)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = CLOCK_Configure +
    +
    [Calls]
    • >>   CLOCK_HPRECompute +
    +
    [Called By]
    • >>   main +
    + +

    GPIOB_Clear (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Clear)) +

    [Called By]

    • >>   main +
    + +

    GPIOB_Set (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Set)) +

    [Called By]

    • >>   main +
    + +

    GPIO_Configure (Thumb, 240 bytes, Stack size 20 bytes, gpio.o(i.GPIO_Configure)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = GPIO_Configure +
    +
    [Called By]
    • >>   main +
    + +

    __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) + +

    __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) + +

    __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) + +

    main (Thumb, 40 bytes, Stack size 0 bytes, principal.o(i.main)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = main ⇒ GPIO_Configure +
    +
    [Calls]
    • >>   GPIO_Configure +
    • >>   GPIOB_Set +
    • >>   GPIOB_Clear +
    • >>   Delay_100ms +
    • >>   CLOCK_Configure +
    +
    [Address Reference Count : 1]
    • entry9a.o(.ARM.Collect$$$$0000000B) +
    +

    Delay_100ms (Thumb, 16 bytes, Stack size 0 bytes, delay.o(moncode)) +

    [Called By]

    • >>   main +
    +

    +

    +Local Symbols +

    +

    CLOCK_HPRECompute (Thumb, 116 bytes, Stack size 0 bytes, clock.o(i.CLOCK_HPRECompute)) +

    [Called By]

    • >>   CLOCK_Configure +
    +

    +

    +Undefined Global Symbols +


    diff --git a/PjtKEIL_StepDeb_1/Obj/BacASable.lnp b/PjtKEIL_StepDeb_1/Obj/BacASable.lnp new file mode 100644 index 0000000..5f0e5de --- /dev/null +++ b/PjtKEIL_StepDeb_1/Obj/BacASable.lnp @@ -0,0 +1,9 @@ +--cpu Cortex-M3 +".\obj\principal.o" +".\obj\delay.o" +".\obj\startup-rvds.o" +".\Driver\DriverJeuLaser.lib" +--library_type=microlib --strict --scatter ".\Obj\BacASable.sct" +--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols +--info sizes --info totals --info unused --info veneers +--list "BacASable.map" -o .\Obj\BacASable.axf \ No newline at end of file diff --git a/PjtKEIL_StepDeb_1/Obj/BacASable.map b/PjtKEIL_StepDeb_1/Obj/BacASable.map new file mode 100644 index 0000000..5505790 --- /dev/null +++ b/PjtKEIL_StepDeb_1/Obj/BacASable.map @@ -0,0 +1,335 @@ +Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601] + +============================================================================== + +Section Cross References + + principal.o(i.main) refers to clock.o(i.CLOCK_Configure) for CLOCK_Configure + principal.o(i.main) refers to gpio.o(i.GPIO_Configure) for GPIO_Configure + principal.o(i.main) refers to delay.o(moncode) for Delay_100ms + principal.o(i.main) refers to gpio.o(i.GPIOB_Set) for GPIOB_Set + principal.o(i.main) refers to gpio.o(i.GPIOB_Clear) for GPIOB_Clear + delay.o(moncode) refers to delay.o(maram) for VarTime + startup-rvds.o(RESET) refers to startup-rvds.o(STACK) for __initial_sp + startup-rvds.o(RESET) refers to startup-rvds.o(.text) for Reset_Handler + startup-rvds.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main + clock.o(i.CLOCK_Configure) refers to clock.o(i.CLOCK_HPRECompute) for CLOCK_HPRECompute + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry8b.o(.ARM.Collect$$$$0000000A) for _main_cpp_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk + entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000 + entry2.o(.ARM.Collect$$$$00002712) refers to startup-rvds.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to startup-rvds.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to entry.o(.ARM.Collect$$$$00000000) for __main + entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload + entry9a.o(.ARM.Collect$$$$0000000B) refers to principal.o(i.main) for main + entry9b.o(.ARM.Collect$$$$0000000C) refers to principal.o(i.main) for main + init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload + + +============================================================================== + +Removing Unused input sections from the image. + + Removing principal.o(.rev16_text), (4 bytes). + Removing principal.o(.revsh_text), (4 bytes). + Removing principal.o(.rrx_text), (6 bytes). + Removing delay.o(mesdata), (0 bytes). + Removing startup-rvds.o(HEAP), (512 bytes). + Removing clock.o(.rev16_text), (4 bytes). + Removing clock.o(.revsh_text), (4 bytes). + Removing clock.o(.rrx_text), (6 bytes). + Removing clock.o(i.CLOCK_GetADCCLK), (8 bytes). + Removing clock.o(i.CLOCK_GetHCLK), (8 bytes). + Removing clock.o(i.CLOCK_GetPCLK1), (8 bytes). + Removing clock.o(i.CLOCK_GetPCLK2), (8 bytes). + Removing clock.o(i.CLOCK_GetTIMCLK), (36 bytes). + Removing gpio.o(.rev16_text), (4 bytes). + Removing gpio.o(.revsh_text), (4 bytes). + Removing gpio.o(.rrx_text), (6 bytes). + Removing gpio.o(i.GPIOA_Clear), (16 bytes). + Removing gpio.o(i.GPIOA_Set), (16 bytes). + Removing gpio.o(i.GPIOC_Clear), (16 bytes). + Removing gpio.o(i.GPIOC_Set), (16 bytes). + +20 unused section(s) (total 686 bytes) removed from the image. + +============================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Ov Type Size Object(Section) + + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + Lib\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE + Lib\\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE + Lib\\clock.c 0x00000000 Number 0 clock.o ABSOLUTE + Lib\clock.c 0x00000000 Number 0 clock.o ABSOLUTE + Src\Delay.s 0x00000000 Number 0 delay.o ABSOLUTE + Src\\principal.c 0x00000000 Number 0 principal.o ABSOLUTE + Src\principal.c 0x00000000 Number 0 principal.o ABSOLUTE + Src\startup-rvds.s 0x00000000 Number 0 startup-rvds.o ABSOLUTE + dc.s 0x00000000 Number 0 dc.o ABSOLUTE + handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE + init.s 0x00000000 Number 0 init.o ABSOLUTE + RESET 0x08000000 Section 236 startup-rvds.o(RESET) + .ARM.Collect$$$$00000000 0x080000ec Section 0 entry.o(.ARM.Collect$$$$00000000) + .ARM.Collect$$$$00000001 0x080000ec Section 4 entry2.o(.ARM.Collect$$$$00000001) + .ARM.Collect$$$$00000004 0x080000f0 Section 4 entry5.o(.ARM.Collect$$$$00000004) + .ARM.Collect$$$$00000008 0x080000f4 Section 0 entry7b.o(.ARM.Collect$$$$00000008) + .ARM.Collect$$$$0000000A 0x080000f4 Section 0 entry8b.o(.ARM.Collect$$$$0000000A) + .ARM.Collect$$$$0000000B 0x080000f4 Section 8 entry9a.o(.ARM.Collect$$$$0000000B) + .ARM.Collect$$$$0000000E 0x080000fc Section 4 entry12b.o(.ARM.Collect$$$$0000000E) + .ARM.Collect$$$$0000000F 0x08000100 Section 0 entry10a.o(.ARM.Collect$$$$0000000F) + .ARM.Collect$$$$00000011 0x08000100 Section 0 entry11a.o(.ARM.Collect$$$$00000011) + .ARM.Collect$$$$00002712 0x08000100 Section 4 entry2.o(.ARM.Collect$$$$00002712) + __lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712) + .text 0x08000104 Section 76 startup-rvds.o(.text) + .text 0x08000150 Section 36 init.o(.text) + i.CLOCK_Configure 0x08000174 Section 0 clock.o(i.CLOCK_Configure) + i.CLOCK_HPRECompute 0x080001e8 Section 0 clock.o(i.CLOCK_HPRECompute) + CLOCK_HPRECompute 0x080001e9 Thumb Code 116 clock.o(i.CLOCK_HPRECompute) + i.GPIOB_Clear 0x0800025c Section 0 gpio.o(i.GPIOB_Clear) + i.GPIOB_Set 0x0800026c Section 0 gpio.o(i.GPIOB_Set) + i.GPIO_Configure 0x0800027c Section 0 gpio.o(i.GPIO_Configure) + i.__scatterload_copy 0x08000384 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x08000392 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x08000394 Section 14 handlers.o(i.__scatterload_zeroinit) + i.main 0x080003a4 Section 0 principal.o(i.main) + moncode 0x080003d0 Section 24 delay.o(moncode) + maram 0x20000000 Section 4 delay.o(maram) + STACK 0x20000008 Section 1024 startup-rvds.o(STACK) + + Global Symbols + + Symbol Name Value Ov Type Size Object(Section) + + BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + __ARM_use_no_argv 0x00000000 Number 0 principal.o ABSOLUTE + __arm_fini_ - Undefined Weak Reference + __cpp_initialize__aeabi_ - Undefined Weak Reference + __cxa_finalize - Undefined Weak Reference + __decompress - Undefined Weak Reference + _clock_init - Undefined Weak Reference + _microlib_exit - Undefined Weak Reference + __Vectors_Size 0x000000ec Number 0 startup-rvds.o ABSOLUTE + __Vectors 0x08000000 Data 4 startup-rvds.o(RESET) + __Vectors_End 0x080000ec Data 0 startup-rvds.o(RESET) + __main 0x080000ed Thumb Code 0 entry.o(.ARM.Collect$$$$00000000) + _main_stk 0x080000ed Thumb Code 0 entry2.o(.ARM.Collect$$$$00000001) + _main_scatterload 0x080000f1 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + __main_after_scatterload 0x080000f5 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + _main_clock 0x080000f5 Thumb Code 0 entry7b.o(.ARM.Collect$$$$00000008) + _main_cpp_init 0x080000f5 Thumb Code 0 entry8b.o(.ARM.Collect$$$$0000000A) + _main_init 0x080000f5 Thumb Code 0 entry9a.o(.ARM.Collect$$$$0000000B) + __rt_lib_shutdown_fini 0x080000fd Thumb Code 0 entry12b.o(.ARM.Collect$$$$0000000E) + __rt_final_cpp 0x08000101 Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000F) + __rt_final_exit 0x08000101 Thumb Code 0 entry11a.o(.ARM.Collect$$$$00000011) + Reset_Handler 0x08000105 Thumb Code 34 startup-rvds.o(.text) + SystemInit 0x08000127 Thumb Code 2 startup-rvds.o(.text) + NMI_Handler 0x08000129 Thumb Code 2 startup-rvds.o(.text) + HardFault_Handler 0x0800012b Thumb Code 2 startup-rvds.o(.text) + MemManage_Handler 0x0800012d Thumb Code 2 startup-rvds.o(.text) + BusFault_Handler 0x0800012f Thumb Code 2 startup-rvds.o(.text) + UsageFault_Handler 0x08000131 Thumb Code 2 startup-rvds.o(.text) + SVC_Handler 0x08000133 Thumb Code 2 startup-rvds.o(.text) + DebugMon_Handler 0x08000135 Thumb Code 2 startup-rvds.o(.text) + PendSV_Handler 0x08000137 Thumb Code 2 startup-rvds.o(.text) + SysTick_Handler 0x08000139 Thumb Code 2 startup-rvds.o(.text) + ADC1_2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + CAN1_RX1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + CAN1_SCE_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel6_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel7_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI15_10_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI9_5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + FLASH_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C1_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C1_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C2_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C2_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + PVD_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + RCC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + RTCAlarm_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + RTC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + SPI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + SPI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TAMPER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM1_BRK_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM1_CC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM1_TRG_COM_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM1_UP_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USART1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USART2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USART3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USBWakeUp_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USB_HP_CAN1_TX_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USB_LP_CAN1_RX0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + WWDG_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + __scatterload 0x08000151 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x08000151 Thumb Code 0 init.o(.text) + CLOCK_Configure 0x08000175 Thumb Code 104 clock.o(i.CLOCK_Configure) + GPIOB_Clear 0x0800025d Thumb Code 10 gpio.o(i.GPIOB_Clear) + GPIOB_Set 0x0800026d Thumb Code 10 gpio.o(i.GPIOB_Set) + GPIO_Configure 0x0800027d Thumb Code 240 gpio.o(i.GPIO_Configure) + __scatterload_copy 0x08000385 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x08000393 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x08000395 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + main 0x080003a5 Thumb Code 40 principal.o(i.main) + Delay_100ms 0x080003d1 Thumb Code 16 delay.o(moncode) + Region$$Table$$Base 0x080003e8 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08000408 Number 0 anon$$obj.o(Region$$Table) + VarTime 0x20000000 Data 4 delay.o(maram) + __initial_sp 0x20000408 Data 0 startup-rvds.o(STACK) + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x080000ed + + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000040c, Max: 0x00020000, ABSOLUTE) + + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000408, Max: 0x00020000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x08000000 0x08000000 0x000000ec Data RO 65 RESET startup-rvds.o + 0x080000ec 0x080000ec 0x00000000 Code RO 110 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 113 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 116 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 118 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 120 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 121 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 128 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) + 0x08000100 0x08000100 0x00000000 Code RO 123 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) + 0x08000100 0x08000100 0x00000000 Code RO 125 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) + 0x08000100 0x08000100 0x00000004 Code RO 114 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000104 0x08000104 0x0000004c Code RO 66 .text startup-rvds.o + 0x08000150 0x08000150 0x00000024 Code RO 129 .text mc_w.l(init.o) + 0x08000174 0x08000174 0x00000074 Code RO 73 i.CLOCK_Configure DriverJeuLaser.lib(clock.o) + 0x080001e8 0x080001e8 0x00000074 Code RO 79 i.CLOCK_HPRECompute DriverJeuLaser.lib(clock.o) + 0x0800025c 0x0800025c 0x00000010 Code RO 95 i.GPIOB_Clear DriverJeuLaser.lib(gpio.o) + 0x0800026c 0x0800026c 0x00000010 Code RO 96 i.GPIOB_Set DriverJeuLaser.lib(gpio.o) + 0x0800027c 0x0800027c 0x00000108 Code RO 99 i.GPIO_Configure DriverJeuLaser.lib(gpio.o) + 0x08000384 0x08000384 0x0000000e Code RO 133 i.__scatterload_copy mc_w.l(handlers.o) + 0x08000392 0x08000392 0x00000002 Code RO 134 i.__scatterload_null mc_w.l(handlers.o) + 0x08000394 0x08000394 0x0000000e Code RO 135 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x080003a2 0x080003a2 0x00000002 PAD + 0x080003a4 0x080003a4 0x0000002c Code RO 4 i.main principal.o + 0x080003d0 0x080003d0 0x00000018 Code RO 59 moncode delay.o + 0x080003e8 0x080003e8 0x00000020 Data RO 131 Region$$Table anon$$obj.o + + + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000408, Size: 0x00000408, Max: 0x00005000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x20000000 0x08000408 0x00000004 Data RW 58 maram delay.o + 0x20000004 0x0800040c 0x00000004 PAD + 0x20000008 - 0x00000400 Zero RW 63 STACK startup-rvds.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 24 8 0 4 0 328 delay.o + 44 4 0 0 0 1919 principal.o + 76 20 236 0 1024 812 startup-rvds.o + + ---------------------------------------------------------------------- + 144 32 268 4 1028 3059 Object Totals + 0 0 32 0 0 0 (incl. Generated) + 0 0 0 0 4 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + + 232 12 0 0 0 148 clock.o + 296 36 0 0 0 220 gpio.o + 0 0 0 0 0 0 entry.o + 0 0 0 0 0 0 entry10a.o + 0 0 0 0 0 0 entry11a.o + 4 0 0 0 0 0 entry12b.o + 8 4 0 0 0 0 entry2.o + 4 0 0 0 0 0 entry5.o + 0 0 0 0 0 0 entry7b.o + 0 0 0 0 0 0 entry8b.o + 8 4 0 0 0 0 entry9a.o + 30 0 0 0 0 0 handlers.o + 36 8 0 0 0 68 init.o + + ---------------------------------------------------------------------- + 620 64 0 0 0 436 Library Totals + 2 0 0 0 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Name + + 528 48 0 0 0 368 DriverJeuLaser.lib + 90 16 0 0 0 68 mc_w.l + + ---------------------------------------------------------------------- + 620 64 0 0 0 436 Library Totals + + ---------------------------------------------------------------------- + +============================================================================== + + + Code (inc. data) RO Data RW Data ZI Data Debug + + 764 96 268 4 1028 3387 Grand Totals + 764 96 268 4 1028 3387 ELF Image Totals + 764 96 268 4 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 1032 ( 1.01kB) + Total RW Size (RW Data + ZI Data) 1032 ( 1.01kB) + Total ROM Size (Code + RO Data + RW Data) 1036 ( 1.01kB) + +============================================================================== + diff --git a/PjtKEIL_StepDeb_1/Obj/BacASable.sct b/PjtKEIL_StepDeb_1/Obj/BacASable.sct new file mode 100644 index 0000000..bbacbc6 --- /dev/null +++ b/PjtKEIL_StepDeb_1/Obj/BacASable.sct @@ -0,0 +1,16 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_IROM1 0x08000000 0x00020000 { ; load region size_region + ER_IROM1 0x08000000 0x00020000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x20000000 0x00005000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/PjtKEIL_StepDeb_1/Obj/BacASable_CibleSondeKEIL.dep b/PjtKEIL_StepDeb_1/Obj/BacASable_CibleSondeKEIL.dep new file mode 100644 index 0000000..0756da2 --- /dev/null +++ b/PjtKEIL_StepDeb_1/Obj/BacASable_CibleSondeKEIL.dep @@ -0,0 +1,15 @@ +Dependencies for Project 'BacASable', Target 'CibleSondeKEIL': (DO NOT MODIFY !) +CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC +F (.\Src\principal.c)(0x6037E575)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\Driver --C99 -I.\RTE\_CibleSondeKEIL -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 -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DSTM32F103xB -DUSE_FULL_LL_DRIVER -o .\obj\principal.o --omf_browse .\obj\principal.crf --depend .\obj\principal.d) +I (.\Driver\DriverJeuLaser.h)(0x6037C015) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) +I (.\RTE\_CibleSondeKEIL\RTE_Components.h)(0x62286AC2) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) +I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) +F (.\Src\Delay.s)(0x62286BE5)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list delay.lst --xref -o .\obj\delay.o --depend .\obj\delay.d) +F (.\Src\startup-rvds.s)(0x5FE38AC6)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup-rvds.lst --xref -o .\obj\startup-rvds.o --depend .\obj\startup-rvds.d) +F (.\Driver\DriverJeuLaser.lib)(0x6037BEDF)() diff --git a/PjtKEIL_StepDeb_1/Obj/ExtDll.iex b/PjtKEIL_StepDeb_1/Obj/ExtDll.iex new file mode 100644 index 0000000..6c0896e --- /dev/null +++ b/PjtKEIL_StepDeb_1/Obj/ExtDll.iex @@ -0,0 +1,2 @@ +[EXTDLL] +Count=0 diff --git a/PjtKEIL_StepDeb_1/Obj/delay.d b/PjtKEIL_StepDeb_1/Obj/delay.d new file mode 100644 index 0000000..50a9e0a --- /dev/null +++ b/PjtKEIL_StepDeb_1/Obj/delay.d @@ -0,0 +1 @@ +.\obj\delay.o: Src\Delay.s diff --git a/PjtKEIL_StepDeb_1/Obj/delay.o b/PjtKEIL_StepDeb_1/Obj/delay.o new file mode 100644 index 0000000000000000000000000000000000000000..d6f33b64ef16ab23cc3e1df12327770698dc6409 GIT binary patch literal 2280 zcmcIlPj4GV6o0d8$D1^ck_bdd5L%T*Dk@p|PySj2)v>q4imh5%r&MCmW^GSWw_dN= zU58Yv5Fda82M!1!gb?BjaNtl5mEeMeRB`6W7oaB&J*4l=?m7+!89IgM=6;aDf1pri3QFCfGGtgawdrti%)Ky;O}IvAb-W9X#!Cs&H>bjoWP)EbA6LNJ^z1AM} z`dxK*y$hVsJ!hNGwx6P0btGsRJg-_%qktE!*^SPWG2tlF%3SXK9_=5Nhz*jNQol{B)KAdfFuDT$!SU@$k*A*@+&LL%PW#Jg)?#}qrJ!k8L$N= zE3Ydn$^u(t^XQSJgDe0lk;wiWNyg-KI@f_coLkI71~M!oWn?9#q?IWpqbSO>GNW9{ z%qnvL7}A(1*ez^Q8sIJBwCUgI$plWp)AL^^Fh%?e;&IaA6DJcDn=GOrgyCb8;ffej z_ZXWDxN%I8J_A3+IE7rsihGn82+Ty@Nwg%e3_5`^Jw1OB_golbfGkz5G?t_YE`l7p zjAt}i0k<8$)pI%6HrA$%^`>`udvszu?Y7TP^*roSS(d}l@3luE4>YZ{*RX45`E*Td zYE^At+tp01X=vqAy-+x;ujLQxg}ipBRL|!%6D1}}OqA3N!@&Ms?a(yL+Z)4MOgJ z==t|)79a9KcSpCp_C2dBUWKl@>P=!#U9IWXLCdi0N)NBG=?%J^ZZXO$C9COsCm1os zZte44-$Dnirqj6}Sa@t!rD4`gYhB;ebMYAc;Z|+X>5sbnUzZRonyp5$a5H~)W>;@E zt%6?E@vfEM#JY00)9wMgio^6cPMDg>G^V8m_JZ^hdzrnOy2_~H&>LXWIGDrx3wm%j z2>sA$gN_Q_8CMbL9nYnQ3{7H#;DIX)ecq2t@E9ZJaH$^uxlHwodHvo1r(NLQ;Mfy* zTt%XKl3GG%|0~gpc!}rcUymEAh0lUxfCW{A#u+T(uf|uxqKy>dj*M280p(GppDj#3XJJ6c4=CTvKQ45|bY z62eH+MALqhJZmBJ?K?W&wT| zRwC(m%yiTVX<`uXo;cCO(EkvMmBcRLES_70p|Gak;o`@Lm2W53G5=r^lMPKxNBR8@ F;5i_7U912A literal 0 HcmV?d00001 diff --git a/PjtKEIL_StepDeb_1/Obj/principal.crf b/PjtKEIL_StepDeb_1/Obj/principal.crf new file mode 100644 index 0000000000000000000000000000000000000000..6c15ce3d0db6adcbeea4bc0473994e90be83f850 GIT binary patch literal 239788 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⪚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

    oDr;26_q%Pyr1`{qwlNd&sE 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 Ni~r|ef8npd{||U7YXSfO literal 0 HcmV?d00001 diff --git a/PjtKEIL_StepDeb_1/Obj/principal.d b/PjtKEIL_StepDeb_1/Obj/principal.d new file mode 100644 index 0000000..fa36d01 --- /dev/null +++ b/PjtKEIL_StepDeb_1/Obj/principal.d @@ -0,0 +1,10 @@ +.\obj\principal.o: Src\principal.c +.\obj\principal.o: .\Driver\DriverJeuLaser.h +.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h +.\obj\principal.o: .\RTE\_CibleSondeKEIL\RTE_Components.h +.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h +.\obj\principal.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h +.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h +.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h +.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h +.\obj\principal.o: C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h diff --git a/PjtKEIL_StepDeb_1/Obj/principal.o b/PjtKEIL_StepDeb_1/Obj/principal.o new file mode 100644 index 0000000000000000000000000000000000000000..97ca3c4a8739a60585d17d11e23176c5b656bda9 GIT binary patch literal 254984 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 a7p~7=@Ag{ShZpR7^JB099#DMk>;DG%VYJc! literal 0 HcmV?d00001 diff --git a/PjtKEIL_StepDeb_1/RTE/_CibleSondeKEIL/RTE_Components.h b/PjtKEIL_StepDeb_1/RTE/_CibleSondeKEIL/RTE_Components.h new file mode 100644 index 0000000..e0e1553 --- /dev/null +++ b/PjtKEIL_StepDeb_1/RTE/_CibleSondeKEIL/RTE_Components.h @@ -0,0 +1,21 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'BacASable' + * Target: 'CibleSondeKEIL' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f10x.h" + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/PjtKEIL_StepDeb_1/RTE/_Simu/RTE_Components.h b/PjtKEIL_StepDeb_1/RTE/_Simu/RTE_Components.h new file mode 100644 index 0000000..b403f03 --- /dev/null +++ b/PjtKEIL_StepDeb_1/RTE/_Simu/RTE_Components.h @@ -0,0 +1,21 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'BacASable' + * Target: 'Simu' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f10x.h" + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/PjtKEIL_StepDeb_1/Src/Delay.s b/PjtKEIL_StepDeb_1/Src/Delay.s new file mode 100644 index 0000000..e000322 --- /dev/null +++ b/PjtKEIL_StepDeb_1/Src/Delay.s @@ -0,0 +1,60 @@ + PRESERVE8 + THUMB + + +; ====================== zone de réservation de données, ====================================== +;Section RAM (read only) : + area mesdata,data,readonly + + +;Section RAM (read write): + area maram,data,readwrite + +VarTime dcd 0 + export VarTime + +; =============================================================================================== + +;constantes (équivalent du #define en C) +TimeValue equ 900000 + + + EXPORT Delay_100ms ; la fonction Delay_100ms est rendue publique donc utilisable par d'autres modules. + + +;Section ROM code (read only) : + area moncode,code,readonly + + + +; REMARQUE IMPORTANTE +; Cette manière de créer une temporisation n'est clairement pas la bonne manière de procéder : +; - elle est peu précise +; - la fonction prend tout le temps CPU pour... ne rien faire... +; +; Pour autant, la fonction montre : +; - les boucles en ASM +; - l'accés écr/lec de variable en RAM +; - le mécanisme d'appel / retour sous programme +; +; et donc possède un intérêt pour débuter en ASM pur + +Delay_100ms proc + + ldr r0,=VarTime + + ldr r1,=TimeValue + str r1,[r0] + +BoucleTempo + ldr r1,[r0] + + subs r1,#1 + str r1,[r0] + bne BoucleTempo + + bx lr + endp + + + END \ No newline at end of file diff --git a/PjtKEIL_StepDeb_1/Src/principal.c b/PjtKEIL_StepDeb_1/Src/principal.c new file mode 100644 index 0000000..a2e1f67 --- /dev/null +++ b/PjtKEIL_StepDeb_1/Src/principal.c @@ -0,0 +1,32 @@ +#include "DriverJeuLaser.h" + +extern void Delay_100ms(void); + + +int main(void) +{ + +// =========================================================================== +// ============= INIT PERIPH (faites qu'une seule fois) ===================== +// =========================================================================== + +// Après exécution : le coeur CPU est clocké à 72MHz ainsi que tous les timers +CLOCK_Configure(); + +// configuration de PortB.1 (PB1) en sortie push-pull +GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL); + + + + +//============================================================================ + + +while (1) + { + Delay_100ms(); + GPIOB_Set(1); + Delay_100ms(); + GPIOB_Clear(1); + } +} diff --git a/PjtKEIL_StepDeb_1/Src/startup-rvds.s b/PjtKEIL_StepDeb_1/Src/startup-rvds.s new file mode 100644 index 0000000..a7b631a --- /dev/null +++ b/PjtKEIL_StepDeb_1/Src/startup-rvds.s @@ -0,0 +1,335 @@ +;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** +;* File Name : startup_stm32f10x_md.s +;* Author : MCD Application Team +;* Version : V3.5.0 +;* Date : 11-March-2011 +;* Description : STM32F10x Medium Density Devices vector table for MDK-ARM +;* toolchain. +;* This module performs: +;* - Set the initial SP +;* - Set the initial PC == Reset_Handler +;* - Set the vector table entries with the exceptions ISR address +;* - Configure the clock system +;* - Branches to __main in the C library (which eventually +;* calls main()). +;* After Reset the CortexM3 processor is in Thread mode, +;* priority is Privileged, and the Stack is set to Main. +;* <<< Use Configuration Wizard in Context Menu >>> +;******************************************************************************* +; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS +; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. +; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, +; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE +; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING +; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. +;******************************************************************************* + +; Amount of memory (in bytes) allocated for Stack +; Tailor this value to your application needs +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000200 + + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; NMI Handler + DCD HardFault_Handler ; Hard Fault Handler + DCD MemManage_Handler ; MPU Fault Handler + DCD BusFault_Handler ; Bus Fault Handler + DCD UsageFault_Handler ; Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; SVCall Handler + DCD DebugMon_Handler ; Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; PendSV Handler + DCD SysTick_Handler ; SysTick Handler + + ; External Interrupts + DCD WWDG_IRQHandler ; Window Watchdog + DCD PVD_IRQHandler ; PVD through EXTI Line detect + DCD TAMPER_IRQHandler ; Tamper + DCD RTC_IRQHandler ; RTC + DCD FLASH_IRQHandler ; Flash + DCD RCC_IRQHandler ; RCC + DCD EXTI0_IRQHandler ; EXTI Line 0 + DCD EXTI1_IRQHandler ; EXTI Line 1 + DCD EXTI2_IRQHandler ; EXTI Line 2 + DCD EXTI3_IRQHandler ; EXTI Line 3 + DCD EXTI4_IRQHandler ; EXTI Line 4 + DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 + DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 + DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 + DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 + DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 + DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 + DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 + DCD ADC1_2_IRQHandler ; ADC1_2 + DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX + DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 + DCD CAN1_RX1_IRQHandler ; CAN1 RX1 + DCD CAN1_SCE_IRQHandler ; CAN1 SCE + DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 + DCD TIM1_BRK_IRQHandler ; TIM1 Break + DCD TIM1_UP_IRQHandler ; TIM1 Update + DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation + DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare + DCD TIM2_IRQHandler ; TIM2 + DCD TIM3_IRQHandler ; TIM3 + DCD TIM4_IRQHandler ; TIM4 + DCD I2C1_EV_IRQHandler ; I2C1 Event + DCD I2C1_ER_IRQHandler ; I2C1 Error + DCD I2C2_EV_IRQHandler ; I2C2 Event + DCD I2C2_ER_IRQHandler ; I2C2 Error + DCD SPI1_IRQHandler ; SPI1 + DCD SPI2_IRQHandler ; SPI2 + DCD USART1_IRQHandler ; USART1 + DCD USART2_IRQHandler ; USART2 + DCD USART3_IRQHandler ; USART3 + DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 + DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line + DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + +; Reset handler +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + +; +; Enable UsageFault, MemFault and Busfault interrupts +; +_SHCSR EQU 0xE000ED24 ; SHCSR is located at address 0xE000ED24 + LDR.W R0, =_SHCSR + LDR R1, [R0] ; Read CPACR + ORR R1, R1, #(0x7 << 16) ; Set bits 16,17,18 to enable usagefault, busfault, memfault interrupts + STR R1, [R0] ; Write back the modified value to the CPACR + DSB ; Wait for store to complete + +; +; Set priority grouping (PRIGROUP) in AIRCR to 3 (16 levels for group priority and 0 for subpriority) +; +_AIRCR EQU 0xE000ED0C +_AIRCR_VAL EQU 0x05FA0300 + LDR.W R0, =_AIRCR + LDR.W R1, =_AIRCR_VAL + STR R1,[R0] + +; +; Finaly, jump to main function (void main (void)) +; + LDR R0, =__main + BX R0 + ENDP + +SystemInit PROC + EXPORT SystemInit [WEAK] + BX LR + ENDP + +; Dummy Exception Handlers (infinite loops which can be modified) + +NMI_Handler PROC + EXPORT NMI_Handler [WEAK] + B . + ENDP +HardFault_Handler\ + PROC + EXPORT HardFault_Handler [WEAK] + B . + ENDP +MemManage_Handler\ + PROC + EXPORT MemManage_Handler [WEAK] + B . + ENDP +BusFault_Handler\ + PROC + EXPORT BusFault_Handler [WEAK] + B . + ENDP +UsageFault_Handler\ + PROC + EXPORT UsageFault_Handler [WEAK] + B . + ENDP +SVC_Handler PROC + EXPORT SVC_Handler [WEAK] + B . + ENDP +DebugMon_Handler\ + PROC + EXPORT DebugMon_Handler [WEAK] + B . + ENDP +PendSV_Handler PROC + EXPORT PendSV_Handler [WEAK] + B . + ENDP +SysTick_Handler PROC + EXPORT SysTick_Handler [WEAK] + B . + ENDP + +Default_Handler PROC + + EXPORT WWDG_IRQHandler [WEAK] + EXPORT PVD_IRQHandler [WEAK] + EXPORT TAMPER_IRQHandler [WEAK] + EXPORT RTC_IRQHandler [WEAK] + EXPORT FLASH_IRQHandler [WEAK] + EXPORT RCC_IRQHandler [WEAK] + EXPORT EXTI0_IRQHandler [WEAK] + EXPORT EXTI1_IRQHandler [WEAK] + EXPORT EXTI2_IRQHandler [WEAK] + EXPORT EXTI3_IRQHandler [WEAK] + EXPORT EXTI4_IRQHandler [WEAK] + EXPORT DMA1_Channel1_IRQHandler [WEAK] + EXPORT DMA1_Channel2_IRQHandler [WEAK] + EXPORT DMA1_Channel3_IRQHandler [WEAK] + EXPORT DMA1_Channel4_IRQHandler [WEAK] + EXPORT DMA1_Channel5_IRQHandler [WEAK] + EXPORT DMA1_Channel6_IRQHandler [WEAK] + EXPORT DMA1_Channel7_IRQHandler [WEAK] + EXPORT ADC1_2_IRQHandler [WEAK] + EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK] + EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK] + EXPORT CAN1_RX1_IRQHandler [WEAK] + EXPORT CAN1_SCE_IRQHandler [WEAK] + EXPORT EXTI9_5_IRQHandler [WEAK] + EXPORT TIM1_BRK_IRQHandler [WEAK] + EXPORT TIM1_UP_IRQHandler [WEAK] + EXPORT TIM1_TRG_COM_IRQHandler [WEAK] + EXPORT TIM1_CC_IRQHandler [WEAK] + EXPORT TIM2_IRQHandler [WEAK] + EXPORT TIM3_IRQHandler [WEAK] + EXPORT TIM4_IRQHandler [WEAK] + EXPORT I2C1_EV_IRQHandler [WEAK] + EXPORT I2C1_ER_IRQHandler [WEAK] + EXPORT I2C2_EV_IRQHandler [WEAK] + EXPORT I2C2_ER_IRQHandler [WEAK] + EXPORT SPI1_IRQHandler [WEAK] + EXPORT SPI2_IRQHandler [WEAK] + EXPORT USART1_IRQHandler [WEAK] + EXPORT USART2_IRQHandler [WEAK] + EXPORT USART3_IRQHandler [WEAK] + EXPORT EXTI15_10_IRQHandler [WEAK] + EXPORT RTCAlarm_IRQHandler [WEAK] + EXPORT USBWakeUp_IRQHandler [WEAK] + +WWDG_IRQHandler +PVD_IRQHandler +TAMPER_IRQHandler +RTC_IRQHandler +FLASH_IRQHandler +RCC_IRQHandler +EXTI0_IRQHandler +EXTI1_IRQHandler +EXTI2_IRQHandler +EXTI3_IRQHandler +EXTI4_IRQHandler +DMA1_Channel1_IRQHandler +DMA1_Channel2_IRQHandler +DMA1_Channel3_IRQHandler +DMA1_Channel4_IRQHandler +DMA1_Channel5_IRQHandler +DMA1_Channel6_IRQHandler +DMA1_Channel7_IRQHandler +ADC1_2_IRQHandler +USB_HP_CAN1_TX_IRQHandler +USB_LP_CAN1_RX0_IRQHandler +CAN1_RX1_IRQHandler +CAN1_SCE_IRQHandler +EXTI9_5_IRQHandler +TIM1_BRK_IRQHandler +TIM1_UP_IRQHandler +TIM1_TRG_COM_IRQHandler +TIM1_CC_IRQHandler +TIM2_IRQHandler +TIM3_IRQHandler +TIM4_IRQHandler +I2C1_EV_IRQHandler +I2C1_ER_IRQHandler +I2C2_EV_IRQHandler +I2C2_ER_IRQHandler +SPI1_IRQHandler +SPI2_IRQHandler +USART1_IRQHandler +USART2_IRQHandler +USART3_IRQHandler +EXTI15_10_IRQHandler +RTCAlarm_IRQHandler +USBWakeUp_IRQHandler + + B . + + ENDP + + ALIGN + +;******************************************************************************* +; User Stack and Heap initialization +;******************************************************************************* + IF :DEF:__MICROLIB + + EXPORT __initial_sp + EXPORT __heap_base + EXPORT __heap_limit + + ELSE + + IMPORT __use_two_region_memory + EXPORT __user_initial_stackheap + +__user_initial_stackheap + + LDR R0, = Heap_Mem + LDR R1, =(Stack_Mem + Stack_Size) + LDR R2, = (Heap_Mem + Heap_Size) + LDR R3, = Stack_Mem + BX LR + + ALIGN + + ENDIF + + END + +;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/PjtKEIL_StepDeb_1/delay.lst b/PjtKEIL_StepDeb_1/delay.lst new file mode 100644 index 0000000..bd1ed7f --- /dev/null +++ b/PjtKEIL_StepDeb_1/delay.lst @@ -0,0 +1,179 @@ + + + +ARM Macro Assembler Page 1 + + + 1 00000000 PRESERVE8 + 2 00000000 THUMB + 3 00000000 + 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 + 13 00000000 00000000 + VarTime dcd 0 + 14 00000004 export VarTime + 15 00000004 + 16 00000004 ; ====================================================== + ========================================= + 17 00000004 + 18 00000004 ;constantes (équivalent du #define en C) + 19 00000004 000DBBA0 + TimeValue + equ 900000 + 20 00000004 + 21 00000004 + 22 00000004 EXPORT Delay_100ms ; la fonction Delay + _100ms est rendue p + ublique donc utilis + able par d'autres m + odules. + 23 00000004 + 24 00000004 + 25 00000004 ;Section ROM code (read only) : + 26 00000004 area moncode,code,readonly + 27 00000000 + 28 00000000 + 29 00000000 + 30 00000000 ; REMARQUE IMPORTANTE + 31 00000000 ; Cette manière de créer une temporisation n'est clairem + ent pas la bonne manière de procéder : + 32 00000000 ; - elle est peu précise + 33 00000000 ; - la fonction prend tout le temps CPU pour... ne rien + faire... + 34 00000000 ; + 35 00000000 ; Pour autant, la fonction montre : + 36 00000000 ; - les boucles en ASM + 37 00000000 ; - l'accés écr/lec de variable en RAM + 38 00000000 ; - le mécanisme d'appel / retour sous programme + 39 00000000 ; + 40 00000000 ; et donc possède un intérêt pour débuter en ASM pur + 41 00000000 + 42 00000000 Delay_100ms + proc + 43 00000000 + 44 00000000 4803 ldr r0,=VarTime + 45 00000002 + 46 00000002 4904 ldr r1,=TimeValue + 47 00000004 6001 str r1,[r0] + + + +ARM Macro Assembler Page 2 + + + 48 00000006 + 49 00000006 BoucleTempo + 50 00000006 6801 ldr r1,[r0] + 51 00000008 + 52 00000008 3901 subs r1,#1 + 53 0000000A 6001 str r1,[r0] + 54 0000000C D1FB bne BoucleTempo + 55 0000000E + 56 0000000E 4770 bx lr + 57 00000010 endp + 58 00000010 + 59 00000010 + 60 00000010 END + 00000000 + 000DBBA0 +Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw +ork --depend=.\obj\delay.d -o.\obj\delay.o -I.\RTE\_CibleSondeKEIL -IC:\Program +data\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Ar +m\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL SETA 1" --p +redefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534" --predefi +ne="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_RTE_ SETA 1" +--list=delay.lst Src\Delay.s + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +mesdata 00000000 + +Symbol: mesdata + Definitions + At line 7 in file Src\Delay.s + Uses + None +Comment: mesdata unused +1 symbol + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +VarTime 00000000 + +Symbol: VarTime + Definitions + At line 13 in file Src\Delay.s + Uses + At line 14 in file Src\Delay.s + At line 44 in file Src\Delay.s + +maram 00000000 + +Symbol: maram + Definitions + At line 11 in file Src\Delay.s + Uses + None +Comment: maram unused +2 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +BoucleTempo 00000006 + +Symbol: BoucleTempo + Definitions + At line 49 in file Src\Delay.s + Uses + At line 54 in file Src\Delay.s +Comment: BoucleTempo used once +Delay_100ms 00000000 + +Symbol: Delay_100ms + Definitions + At line 42 in file Src\Delay.s + Uses + At line 22 in file Src\Delay.s +Comment: Delay_100ms used once +moncode 00000000 + +Symbol: moncode + Definitions + At line 26 in file Src\Delay.s + Uses + None +Comment: moncode unused +3 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Absolute symbols + +TimeValue 000DBBA0 + +Symbol: TimeValue + Definitions + At line 19 in file Src\Delay.s + Uses + At line 46 in file Src\Delay.s +Comment: TimeValue used once +1 symbol +344 symbols in table diff --git a/PjtKEIL_StepDeb_1/startup-rvds.lst b/PjtKEIL_StepDeb_1/startup-rvds.lst new file mode 100644 index 0000000..0bf0fea --- /dev/null +++ b/PjtKEIL_StepDeb_1/startup-rvds.lst @@ -0,0 +1,1251 @@ + + + +ARM Macro Assembler Page 1 + + + 1 00000000 ;******************** (C) COPYRIGHT 2011 STMicroelectron + ics ******************** + 2 00000000 ;* File Name : startup_stm32f10x_md.s + 3 00000000 ;* Author : MCD Application Team + 4 00000000 ;* Version : V3.5.0 + 5 00000000 ;* Date : 11-March-2011 + 6 00000000 ;* Description : STM32F10x Medium Density Devices + vector table for MDK-ARM + 7 00000000 ;* toolchain. + 8 00000000 ;* This module performs: + 9 00000000 ;* - Set the initial SP + 10 00000000 ;* - Set the initial PC == Reset_Ha + ndler + 11 00000000 ;* - Set the vector table entries w + ith the exceptions ISR address + 12 00000000 ;* - Configure the clock system + 13 00000000 ;* - Branches to __main in the C li + brary (which eventually + 14 00000000 ;* calls main()). + 15 00000000 ;* After Reset the CortexM3 process + or is in Thread mode, + 16 00000000 ;* priority is Privileged, and the + Stack is set to Main. + 17 00000000 ;* <<< Use Configuration Wizard in Context Menu >>> + 18 00000000 ;******************************************************* + ************************ + 19 00000000 ; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS A + T PROVIDING CUSTOMERS + 20 00000000 ; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN OR + DER FOR THEM TO SAVE TIME. + 21 00000000 ; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIAB + LE FOR ANY DIRECT, + 22 00000000 ; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY + CLAIMS ARISING FROM THE + 23 00000000 ; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOM + ERS OF THE CODING + 24 00000000 ; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR + PRODUCTS. + 25 00000000 ;******************************************************* + ************************ + 26 00000000 + 27 00000000 ; Amount of memory (in bytes) allocated for Stack + 28 00000000 ; Tailor this value to your application needs + 29 00000000 ; Stack Configuration + 30 00000000 ; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> + 31 00000000 ; + 32 00000000 + 33 00000000 00000400 + Stack_Size + EQU 0x00000400 + 34 00000000 + 35 00000000 AREA STACK, NOINIT, READWRITE, ALIGN +=3 + 36 00000000 Stack_Mem + SPACE Stack_Size + 37 00000400 __initial_sp + 38 00000400 + 39 00000400 + 40 00000400 ; Heap Configuration + + + +ARM Macro Assembler Page 2 + + + 41 00000400 ; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> + 42 00000400 ; + 43 00000400 + 44 00000400 00000200 + Heap_Size + EQU 0x00000200 + 45 00000400 + 46 00000400 AREA HEAP, NOINIT, READWRITE, ALIGN= +3 + 47 00000000 __heap_base + 48 00000000 Heap_Mem + SPACE Heap_Size + 49 00000200 __heap_limit + 50 00000200 + 51 00000200 PRESERVE8 + 52 00000200 THUMB + 53 00000200 + 54 00000200 + 55 00000200 ; Vector Table Mapped to Address 0 at Reset + 56 00000200 AREA RESET, DATA, READONLY + 57 00000000 EXPORT __Vectors + 58 00000000 EXPORT __Vectors_End + 59 00000000 EXPORT __Vectors_Size + 60 00000000 + 61 00000000 00000000 + __Vectors + DCD __initial_sp ; Top of Stack + 62 00000004 00000000 DCD Reset_Handler ; Reset Handler + 63 00000008 00000000 DCD NMI_Handler ; NMI Handler + 64 0000000C 00000000 DCD HardFault_Handler ; Hard Fault + Handler + 65 00000010 00000000 DCD MemManage_Handler + ; MPU Fault Handler + + 66 00000014 00000000 DCD BusFault_Handler + ; Bus Fault Handler + + 67 00000018 00000000 DCD UsageFault_Handler ; Usage Faul + t Handler + 68 0000001C 00000000 DCD 0 ; Reserved + 69 00000020 00000000 DCD 0 ; Reserved + 70 00000024 00000000 DCD 0 ; Reserved + 71 00000028 00000000 DCD 0 ; Reserved + 72 0000002C 00000000 DCD SVC_Handler ; SVCall Handler + 73 00000030 00000000 DCD DebugMon_Handler ; Debug Monito + r Handler + 74 00000034 00000000 DCD 0 ; Reserved + 75 00000038 00000000 DCD PendSV_Handler ; PendSV Handler + + 76 0000003C 00000000 DCD SysTick_Handler + ; SysTick Handler + 77 00000040 + 78 00000040 ; External Interrupts + 79 00000040 00000000 DCD WWDG_IRQHandler + ; Window Watchdog + 80 00000044 00000000 DCD PVD_IRQHandler ; PVD through EX + TI Line detect + 81 00000048 00000000 DCD TAMPER_IRQHandler ; Tamper + 82 0000004C 00000000 DCD RTC_IRQHandler ; RTC + + + +ARM Macro Assembler Page 3 + + + 83 00000050 00000000 DCD FLASH_IRQHandler ; Flash + 84 00000054 00000000 DCD RCC_IRQHandler ; RCC + 85 00000058 00000000 DCD EXTI0_IRQHandler ; EXTI Line 0 + 86 0000005C 00000000 DCD EXTI1_IRQHandler ; EXTI Line 1 + 87 00000060 00000000 DCD EXTI2_IRQHandler ; EXTI Line 2 + 88 00000064 00000000 DCD EXTI3_IRQHandler ; EXTI Line 3 + 89 00000068 00000000 DCD EXTI4_IRQHandler ; EXTI Line 4 + 90 0000006C 00000000 DCD DMA1_Channel1_IRQHandler + ; DMA1 Channel 1 + 91 00000070 00000000 DCD DMA1_Channel2_IRQHandler + ; DMA1 Channel 2 + 92 00000074 00000000 DCD DMA1_Channel3_IRQHandler + ; DMA1 Channel 3 + 93 00000078 00000000 DCD DMA1_Channel4_IRQHandler + ; DMA1 Channel 4 + 94 0000007C 00000000 DCD DMA1_Channel5_IRQHandler + ; DMA1 Channel 5 + 95 00000080 00000000 DCD DMA1_Channel6_IRQHandler + ; DMA1 Channel 6 + 96 00000084 00000000 DCD DMA1_Channel7_IRQHandler + ; DMA1 Channel 7 + 97 00000088 00000000 DCD ADC1_2_IRQHandler ; ADC1_2 + 98 0000008C 00000000 DCD USB_HP_CAN1_TX_IRQHandler ; USB + High Priority or C + AN1 TX + 99 00000090 00000000 DCD USB_LP_CAN1_RX0_IRQHandler ; US + B Low Priority or + CAN1 RX0 + 100 00000094 00000000 DCD CAN1_RX1_IRQHandler ; CAN1 RX1 + 101 00000098 00000000 DCD CAN1_SCE_IRQHandler ; CAN1 SCE + 102 0000009C 00000000 DCD EXTI9_5_IRQHandler + ; EXTI Line 9..5 + 103 000000A0 00000000 DCD TIM1_BRK_IRQHandler + ; TIM1 Break + 104 000000A4 00000000 DCD TIM1_UP_IRQHandler + ; TIM1 Update + 105 000000A8 00000000 DCD TIM1_TRG_COM_IRQHandler ; TIM1 + Trigger and Commuta + tion + 106 000000AC 00000000 DCD TIM1_CC_IRQHandler ; TIM1 Captu + re Compare + 107 000000B0 00000000 DCD TIM2_IRQHandler ; TIM2 + 108 000000B4 00000000 DCD TIM3_IRQHandler ; TIM3 + 109 000000B8 00000000 DCD TIM4_IRQHandler ; TIM4 + 110 000000BC 00000000 DCD I2C1_EV_IRQHandler ; I2C1 Event + + 111 000000C0 00000000 DCD I2C1_ER_IRQHandler ; I2C1 Error + + 112 000000C4 00000000 DCD I2C2_EV_IRQHandler ; I2C2 Event + + 113 000000C8 00000000 DCD I2C2_ER_IRQHandler ; I2C2 Error + + 114 000000CC 00000000 DCD SPI1_IRQHandler ; SPI1 + 115 000000D0 00000000 DCD SPI2_IRQHandler ; SPI2 + 116 000000D4 00000000 DCD USART1_IRQHandler ; USART1 + 117 000000D8 00000000 DCD USART2_IRQHandler ; USART2 + 118 000000DC 00000000 DCD USART3_IRQHandler ; USART3 + 119 000000E0 00000000 DCD EXTI15_10_IRQHandler + ; EXTI Line 15..10 + + + +ARM Macro Assembler Page 4 + + + 120 000000E4 00000000 DCD RTCAlarm_IRQHandler ; RTC Alarm + through EXTI Line + 121 000000E8 00000000 DCD USBWakeUp_IRQHandler ; USB Wake + up from suspend + 122 000000EC __Vectors_End + 123 000000EC + 124 000000EC 000000EC + __Vectors_Size + EQU __Vectors_End - __Vectors + 125 000000EC + 126 000000EC AREA |.text|, CODE, READONLY + 127 00000000 + 128 00000000 ; Reset handler + 129 00000000 Reset_Handler + PROC + 130 00000000 EXPORT Reset_Handler [WEAK +] + 131 00000000 IMPORT __main + 132 00000000 + 133 00000000 480D LDR R0, =SystemInit + 134 00000002 4780 BLX R0 + 135 00000004 + 136 00000004 ; + 137 00000004 ; Enable UsageFault, MemFault and Busfault interrupts + 138 00000004 ; + 139 00000004 E000ED24 + _SHCSR EQU 0xE000ED24 ; SHCSR is located + at address 0xE000ED + 24 + 140 00000004 F8DF 0034 LDR.W R0, =_SHCSR + 141 00000008 6801 LDR R1, [R0] ; Read CPACR + 142 0000000A F441 21E0 ORR R1, R1, #(0x7 << 16) ; Set bits + 16,17,18 to enable + usagefault, busfau + lt, memfault interr + upts + 143 0000000E 6001 STR R1, [R0] ; Write back the mo + dified value to the + CPACR + 144 00000010 F3BF 8F4F DSB ; Wait for store to + complete + 145 00000014 + 146 00000014 ; + 147 00000014 ; Set priority grouping (PRIGROUP) in AIRCR to 3 (16 lev + els for group priority and 0 for subpriority) + 148 00000014 ; + 149 00000014 E000ED0C + _AIRCR EQU 0xE000ED0C + 150 00000014 05FA0300 + _AIRCR_VAL + EQU 0x05FA0300 + 151 00000014 F8DF 0028 LDR.W R0, =_AIRCR + 152 00000018 F8DF 1028 LDR.W R1, =_AIRCR_VAL + 153 0000001C 6001 STR R1,[R0] + 154 0000001E + 155 0000001E ; + 156 0000001E ; Finaly, jump to main function (void main (void)) + 157 0000001E ; + 158 0000001E 480A LDR R0, =__main + + + +ARM Macro Assembler Page 5 + + + 159 00000020 4700 BX R0 + 160 00000022 ENDP + 161 00000022 + 162 00000022 SystemInit + PROC + 163 00000022 EXPORT SystemInit [ +WEAK] + 164 00000022 4770 BX LR + 165 00000024 ENDP + 166 00000024 + 167 00000024 ; Dummy Exception Handlers (infinite loops which can be + modified) + 168 00000024 + 169 00000024 NMI_Handler + PROC + 170 00000024 EXPORT NMI_Handler [WEA +K] + 171 00000024 E7FE B . + 172 00000026 ENDP + 174 00000026 HardFault_Handler + PROC + 175 00000026 EXPORT HardFault_Handler [WEA +K] + 176 00000026 E7FE B . + 177 00000028 ENDP + 179 00000028 MemManage_Handler + PROC + 180 00000028 EXPORT MemManage_Handler [WEA +K] + 181 00000028 E7FE B . + 182 0000002A ENDP + 184 0000002A BusFault_Handler + PROC + 185 0000002A EXPORT BusFault_Handler [WEA +K] + 186 0000002A E7FE B . + 187 0000002C ENDP + 189 0000002C UsageFault_Handler + PROC + 190 0000002C EXPORT UsageFault_Handler [WEA +K] + 191 0000002C E7FE B . + 192 0000002E ENDP + 193 0000002E SVC_Handler + PROC + 194 0000002E EXPORT SVC_Handler [WEA +K] + 195 0000002E E7FE B . + 196 00000030 ENDP + 198 00000030 DebugMon_Handler + PROC + 199 00000030 EXPORT DebugMon_Handler [WEA +K] + 200 00000030 E7FE B . + 201 00000032 ENDP + 202 00000032 PendSV_Handler + PROC + 203 00000032 EXPORT PendSV_Handler [WEA +K] + + + +ARM Macro Assembler Page 6 + + + 204 00000032 E7FE B . + 205 00000034 ENDP + 206 00000034 SysTick_Handler + PROC + 207 00000034 EXPORT SysTick_Handler [WEA +K] + 208 00000034 E7FE B . + 209 00000036 ENDP + 210 00000036 + 211 00000036 Default_Handler + PROC + 212 00000036 + 213 00000036 EXPORT WWDG_IRQHandler [WEA +K] + 214 00000036 EXPORT PVD_IRQHandler [WEA +K] + 215 00000036 EXPORT TAMPER_IRQHandler [WEA +K] + 216 00000036 EXPORT RTC_IRQHandler [WEA +K] + 217 00000036 EXPORT FLASH_IRQHandler [WEA +K] + 218 00000036 EXPORT RCC_IRQHandler [WEA +K] + 219 00000036 EXPORT EXTI0_IRQHandler [WEA +K] + 220 00000036 EXPORT EXTI1_IRQHandler [WEA +K] + 221 00000036 EXPORT EXTI2_IRQHandler [WEA +K] + 222 00000036 EXPORT EXTI3_IRQHandler [WEA +K] + 223 00000036 EXPORT EXTI4_IRQHandler [WEA +K] + 224 00000036 EXPORT DMA1_Channel1_IRQHandler [WEA +K] + 225 00000036 EXPORT DMA1_Channel2_IRQHandler [WEA +K] + 226 00000036 EXPORT DMA1_Channel3_IRQHandler [WEA +K] + 227 00000036 EXPORT DMA1_Channel4_IRQHandler [WEA +K] + 228 00000036 EXPORT DMA1_Channel5_IRQHandler [WEA +K] + 229 00000036 EXPORT DMA1_Channel6_IRQHandler [WEA +K] + 230 00000036 EXPORT DMA1_Channel7_IRQHandler [WEA +K] + 231 00000036 EXPORT ADC1_2_IRQHandler [WEA +K] + 232 00000036 EXPORT USB_HP_CAN1_TX_IRQHandler [WEA +K] + 233 00000036 EXPORT USB_LP_CAN1_RX0_IRQHandler [WEA +K] + 234 00000036 EXPORT CAN1_RX1_IRQHandler [WEA +K] + 235 00000036 EXPORT CAN1_SCE_IRQHandler [WEA +K] + 236 00000036 EXPORT EXTI9_5_IRQHandler [WEA + + + +ARM Macro Assembler Page 7 + + +K] + 237 00000036 EXPORT TIM1_BRK_IRQHandler [WEA +K] + 238 00000036 EXPORT TIM1_UP_IRQHandler [WEA +K] + 239 00000036 EXPORT TIM1_TRG_COM_IRQHandler [WEA +K] + 240 00000036 EXPORT TIM1_CC_IRQHandler [WEA +K] + 241 00000036 EXPORT TIM2_IRQHandler [WEA +K] + 242 00000036 EXPORT TIM3_IRQHandler [WEA +K] + 243 00000036 EXPORT TIM4_IRQHandler [WEA +K] + 244 00000036 EXPORT I2C1_EV_IRQHandler [WEA +K] + 245 00000036 EXPORT I2C1_ER_IRQHandler [WEA +K] + 246 00000036 EXPORT I2C2_EV_IRQHandler [WEA +K] + 247 00000036 EXPORT I2C2_ER_IRQHandler [WEA +K] + 248 00000036 EXPORT SPI1_IRQHandler [WEA +K] + 249 00000036 EXPORT SPI2_IRQHandler [WEA +K] + 250 00000036 EXPORT USART1_IRQHandler [WEA +K] + 251 00000036 EXPORT USART2_IRQHandler [WEA +K] + 252 00000036 EXPORT USART3_IRQHandler [WEA +K] + 253 00000036 EXPORT EXTI15_10_IRQHandler [WEA +K] + 254 00000036 EXPORT RTCAlarm_IRQHandler [WEA +K] + 255 00000036 EXPORT USBWakeUp_IRQHandler [WEA +K] + 256 00000036 + 257 00000036 WWDG_IRQHandler + 258 00000036 PVD_IRQHandler + 259 00000036 TAMPER_IRQHandler + 260 00000036 RTC_IRQHandler + 261 00000036 FLASH_IRQHandler + 262 00000036 RCC_IRQHandler + 263 00000036 EXTI0_IRQHandler + 264 00000036 EXTI1_IRQHandler + 265 00000036 EXTI2_IRQHandler + 266 00000036 EXTI3_IRQHandler + 267 00000036 EXTI4_IRQHandler + 268 00000036 DMA1_Channel1_IRQHandler + 269 00000036 DMA1_Channel2_IRQHandler + 270 00000036 DMA1_Channel3_IRQHandler + 271 00000036 DMA1_Channel4_IRQHandler + 272 00000036 DMA1_Channel5_IRQHandler + 273 00000036 DMA1_Channel6_IRQHandler + 274 00000036 DMA1_Channel7_IRQHandler + 275 00000036 ADC1_2_IRQHandler + + + +ARM Macro Assembler Page 8 + + + 276 00000036 USB_HP_CAN1_TX_IRQHandler + 277 00000036 USB_LP_CAN1_RX0_IRQHandler + 278 00000036 CAN1_RX1_IRQHandler + 279 00000036 CAN1_SCE_IRQHandler + 280 00000036 EXTI9_5_IRQHandler + 281 00000036 TIM1_BRK_IRQHandler + 282 00000036 TIM1_UP_IRQHandler + 283 00000036 TIM1_TRG_COM_IRQHandler + 284 00000036 TIM1_CC_IRQHandler + 285 00000036 TIM2_IRQHandler + 286 00000036 TIM3_IRQHandler + 287 00000036 TIM4_IRQHandler + 288 00000036 I2C1_EV_IRQHandler + 289 00000036 I2C1_ER_IRQHandler + 290 00000036 I2C2_EV_IRQHandler + 291 00000036 I2C2_ER_IRQHandler + 292 00000036 SPI1_IRQHandler + 293 00000036 SPI2_IRQHandler + 294 00000036 USART1_IRQHandler + 295 00000036 USART2_IRQHandler + 296 00000036 USART3_IRQHandler + 297 00000036 EXTI15_10_IRQHandler + 298 00000036 RTCAlarm_IRQHandler + 299 00000036 USBWakeUp_IRQHandler + 300 00000036 + 301 00000036 E7FE B . + 302 00000038 + 303 00000038 ENDP + 304 00000038 + 305 00000038 ALIGN + 306 00000038 + 307 00000038 ;******************************************************* + ************************ + 308 00000038 ; User Stack and Heap initialization + 309 00000038 ;******************************************************* + ************************ + 310 00000038 IF :DEF:__MICROLIB + 311 00000038 + 312 00000038 EXPORT __initial_sp + 313 00000038 EXPORT __heap_base + 314 00000038 EXPORT __heap_limit + 315 00000038 + 316 00000038 ELSE + 331 ENDIF + 332 00000038 + 333 00000038 END + 00000000 + E000ED24 + E000ED0C + 05FA0300 + 00000000 +Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw +ork --depend=.\obj\startup-rvds.d -o.\obj\startup-rvds.o -I.\RTE\_CibleSondeKEI +L -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Progr +amdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EV +AL SETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA +534" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine=" +_RTE_ SETA 1" --list=startup-rvds.lst Src\startup-rvds.s + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +STACK 00000000 + +Symbol: STACK + Definitions + At line 35 in file Src\startup-rvds.s + Uses + None +Comment: STACK unused +Stack_Mem 00000000 + +Symbol: Stack_Mem + Definitions + At line 36 in file Src\startup-rvds.s + Uses + None +Comment: Stack_Mem unused +__initial_sp 00000400 + +Symbol: __initial_sp + Definitions + At line 37 in file Src\startup-rvds.s + Uses + At line 61 in file Src\startup-rvds.s + At line 312 in file Src\startup-rvds.s + +3 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +HEAP 00000000 + +Symbol: HEAP + Definitions + At line 46 in file Src\startup-rvds.s + Uses + None +Comment: HEAP unused +Heap_Mem 00000000 + +Symbol: Heap_Mem + Definitions + At line 48 in file Src\startup-rvds.s + Uses + None +Comment: Heap_Mem unused +__heap_base 00000000 + +Symbol: __heap_base + Definitions + At line 47 in file Src\startup-rvds.s + Uses + At line 313 in file Src\startup-rvds.s +Comment: __heap_base used once +__heap_limit 00000200 + +Symbol: __heap_limit + Definitions + At line 49 in file Src\startup-rvds.s + Uses + At line 314 in file Src\startup-rvds.s +Comment: __heap_limit used once +4 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +RESET 00000000 + +Symbol: RESET + Definitions + At line 56 in file Src\startup-rvds.s + Uses + None +Comment: RESET unused +__Vectors 00000000 + +Symbol: __Vectors + Definitions + At line 61 in file Src\startup-rvds.s + Uses + At line 57 in file Src\startup-rvds.s + At line 124 in file Src\startup-rvds.s + +__Vectors_End 000000EC + +Symbol: __Vectors_End + Definitions + At line 122 in file Src\startup-rvds.s + Uses + At line 58 in file Src\startup-rvds.s + At line 124 in file Src\startup-rvds.s + +3 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +.text 00000000 + +Symbol: .text + Definitions + At line 126 in file Src\startup-rvds.s + Uses + None +Comment: .text unused +ADC1_2_IRQHandler 00000036 + +Symbol: ADC1_2_IRQHandler + Definitions + At line 275 in file Src\startup-rvds.s + Uses + At line 97 in file Src\startup-rvds.s + At line 231 in file Src\startup-rvds.s + +BusFault_Handler 0000002A + +Symbol: BusFault_Handler + Definitions + At line 184 in file Src\startup-rvds.s + Uses + At line 66 in file Src\startup-rvds.s + At line 185 in file Src\startup-rvds.s + +CAN1_RX1_IRQHandler 00000036 + +Symbol: CAN1_RX1_IRQHandler + Definitions + At line 278 in file Src\startup-rvds.s + Uses + At line 100 in file Src\startup-rvds.s + At line 234 in file Src\startup-rvds.s + +CAN1_SCE_IRQHandler 00000036 + +Symbol: CAN1_SCE_IRQHandler + Definitions + At line 279 in file Src\startup-rvds.s + Uses + At line 101 in file Src\startup-rvds.s + At line 235 in file Src\startup-rvds.s + +DMA1_Channel1_IRQHandler 00000036 + +Symbol: DMA1_Channel1_IRQHandler + Definitions + At line 268 in file Src\startup-rvds.s + Uses + At line 90 in file Src\startup-rvds.s + At line 224 in file Src\startup-rvds.s + +DMA1_Channel2_IRQHandler 00000036 + +Symbol: DMA1_Channel2_IRQHandler + Definitions + At line 269 in file Src\startup-rvds.s + Uses + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +Relocatable symbols + + At line 91 in file Src\startup-rvds.s + At line 225 in file Src\startup-rvds.s + +DMA1_Channel3_IRQHandler 00000036 + +Symbol: DMA1_Channel3_IRQHandler + Definitions + At line 270 in file Src\startup-rvds.s + Uses + At line 92 in file Src\startup-rvds.s + At line 226 in file Src\startup-rvds.s + +DMA1_Channel4_IRQHandler 00000036 + +Symbol: DMA1_Channel4_IRQHandler + Definitions + At line 271 in file Src\startup-rvds.s + Uses + At line 93 in file Src\startup-rvds.s + At line 227 in file Src\startup-rvds.s + +DMA1_Channel5_IRQHandler 00000036 + +Symbol: DMA1_Channel5_IRQHandler + Definitions + At line 272 in file Src\startup-rvds.s + Uses + At line 94 in file Src\startup-rvds.s + At line 228 in file Src\startup-rvds.s + +DMA1_Channel6_IRQHandler 00000036 + +Symbol: DMA1_Channel6_IRQHandler + Definitions + At line 273 in file Src\startup-rvds.s + Uses + At line 95 in file Src\startup-rvds.s + At line 229 in file Src\startup-rvds.s + +DMA1_Channel7_IRQHandler 00000036 + +Symbol: DMA1_Channel7_IRQHandler + Definitions + At line 274 in file Src\startup-rvds.s + Uses + At line 96 in file Src\startup-rvds.s + At line 230 in file Src\startup-rvds.s + +DebugMon_Handler 00000030 + +Symbol: DebugMon_Handler + Definitions + At line 198 in file Src\startup-rvds.s + Uses + At line 73 in file Src\startup-rvds.s + At line 199 in file Src\startup-rvds.s + +Default_Handler 00000036 + + + + +ARM Macro Assembler Page 3 Alphabetic symbol ordering +Relocatable symbols + +Symbol: Default_Handler + Definitions + At line 211 in file Src\startup-rvds.s + Uses + None +Comment: Default_Handler unused +EXTI0_IRQHandler 00000036 + +Symbol: EXTI0_IRQHandler + Definitions + At line 263 in file Src\startup-rvds.s + Uses + At line 85 in file Src\startup-rvds.s + At line 219 in file Src\startup-rvds.s + +EXTI15_10_IRQHandler 00000036 + +Symbol: EXTI15_10_IRQHandler + Definitions + At line 297 in file Src\startup-rvds.s + Uses + At line 119 in file Src\startup-rvds.s + At line 253 in file Src\startup-rvds.s + +EXTI1_IRQHandler 00000036 + +Symbol: EXTI1_IRQHandler + Definitions + At line 264 in file Src\startup-rvds.s + Uses + At line 86 in file Src\startup-rvds.s + At line 220 in file Src\startup-rvds.s + +EXTI2_IRQHandler 00000036 + +Symbol: EXTI2_IRQHandler + Definitions + At line 265 in file Src\startup-rvds.s + Uses + At line 87 in file Src\startup-rvds.s + At line 221 in file Src\startup-rvds.s + +EXTI3_IRQHandler 00000036 + +Symbol: EXTI3_IRQHandler + Definitions + At line 266 in file Src\startup-rvds.s + Uses + At line 88 in file Src\startup-rvds.s + At line 222 in file Src\startup-rvds.s + +EXTI4_IRQHandler 00000036 + +Symbol: EXTI4_IRQHandler + Definitions + At line 267 in file Src\startup-rvds.s + Uses + At line 89 in file Src\startup-rvds.s + At line 223 in file Src\startup-rvds.s + + + +ARM Macro Assembler Page 4 Alphabetic symbol ordering +Relocatable symbols + + +EXTI9_5_IRQHandler 00000036 + +Symbol: EXTI9_5_IRQHandler + Definitions + At line 280 in file Src\startup-rvds.s + Uses + At line 102 in file Src\startup-rvds.s + At line 236 in file Src\startup-rvds.s + +FLASH_IRQHandler 00000036 + +Symbol: FLASH_IRQHandler + Definitions + At line 261 in file Src\startup-rvds.s + Uses + At line 83 in file Src\startup-rvds.s + At line 217 in file Src\startup-rvds.s + +HardFault_Handler 00000026 + +Symbol: HardFault_Handler + Definitions + At line 174 in file Src\startup-rvds.s + Uses + At line 64 in file Src\startup-rvds.s + At line 175 in file Src\startup-rvds.s + +I2C1_ER_IRQHandler 00000036 + +Symbol: I2C1_ER_IRQHandler + Definitions + At line 289 in file Src\startup-rvds.s + Uses + At line 111 in file Src\startup-rvds.s + At line 245 in file Src\startup-rvds.s + +I2C1_EV_IRQHandler 00000036 + +Symbol: I2C1_EV_IRQHandler + Definitions + At line 288 in file Src\startup-rvds.s + Uses + At line 110 in file Src\startup-rvds.s + At line 244 in file Src\startup-rvds.s + +I2C2_ER_IRQHandler 00000036 + +Symbol: I2C2_ER_IRQHandler + Definitions + At line 291 in file Src\startup-rvds.s + Uses + At line 113 in file Src\startup-rvds.s + At line 247 in file Src\startup-rvds.s + +I2C2_EV_IRQHandler 00000036 + +Symbol: I2C2_EV_IRQHandler + Definitions + + + +ARM Macro Assembler Page 5 Alphabetic symbol ordering +Relocatable symbols + + At line 290 in file Src\startup-rvds.s + Uses + At line 112 in file Src\startup-rvds.s + At line 246 in file Src\startup-rvds.s + +MemManage_Handler 00000028 + +Symbol: MemManage_Handler + Definitions + At line 179 in file Src\startup-rvds.s + Uses + At line 65 in file Src\startup-rvds.s + At line 180 in file Src\startup-rvds.s + +NMI_Handler 00000024 + +Symbol: NMI_Handler + Definitions + At line 169 in file Src\startup-rvds.s + Uses + At line 63 in file Src\startup-rvds.s + At line 170 in file Src\startup-rvds.s + +PVD_IRQHandler 00000036 + +Symbol: PVD_IRQHandler + Definitions + At line 258 in file Src\startup-rvds.s + Uses + At line 80 in file Src\startup-rvds.s + At line 214 in file Src\startup-rvds.s + +PendSV_Handler 00000032 + +Symbol: PendSV_Handler + Definitions + At line 202 in file Src\startup-rvds.s + Uses + At line 75 in file Src\startup-rvds.s + At line 203 in file Src\startup-rvds.s + +RCC_IRQHandler 00000036 + +Symbol: RCC_IRQHandler + Definitions + At line 262 in file Src\startup-rvds.s + Uses + At line 84 in file Src\startup-rvds.s + At line 218 in file Src\startup-rvds.s + +RTCAlarm_IRQHandler 00000036 + +Symbol: RTCAlarm_IRQHandler + Definitions + At line 298 in file Src\startup-rvds.s + Uses + At line 120 in file Src\startup-rvds.s + At line 254 in file Src\startup-rvds.s + + + + +ARM Macro Assembler Page 6 Alphabetic symbol ordering +Relocatable symbols + +RTC_IRQHandler 00000036 + +Symbol: RTC_IRQHandler + Definitions + At line 260 in file Src\startup-rvds.s + Uses + At line 82 in file Src\startup-rvds.s + At line 216 in file Src\startup-rvds.s + +Reset_Handler 00000000 + +Symbol: Reset_Handler + Definitions + At line 129 in file Src\startup-rvds.s + Uses + At line 62 in file Src\startup-rvds.s + At line 130 in file Src\startup-rvds.s + +SPI1_IRQHandler 00000036 + +Symbol: SPI1_IRQHandler + Definitions + At line 292 in file Src\startup-rvds.s + Uses + At line 114 in file Src\startup-rvds.s + At line 248 in file Src\startup-rvds.s + +SPI2_IRQHandler 00000036 + +Symbol: SPI2_IRQHandler + Definitions + At line 293 in file Src\startup-rvds.s + Uses + At line 115 in file Src\startup-rvds.s + At line 249 in file Src\startup-rvds.s + +SVC_Handler 0000002E + +Symbol: SVC_Handler + Definitions + At line 193 in file Src\startup-rvds.s + Uses + At line 72 in file Src\startup-rvds.s + At line 194 in file Src\startup-rvds.s + +SysTick_Handler 00000034 + +Symbol: SysTick_Handler + Definitions + At line 206 in file Src\startup-rvds.s + Uses + At line 76 in file Src\startup-rvds.s + At line 207 in file Src\startup-rvds.s + +SystemInit 00000022 + +Symbol: SystemInit + Definitions + At line 162 in file Src\startup-rvds.s + + + +ARM Macro Assembler Page 7 Alphabetic symbol ordering +Relocatable symbols + + Uses + At line 133 in file Src\startup-rvds.s + At line 163 in file Src\startup-rvds.s + +TAMPER_IRQHandler 00000036 + +Symbol: TAMPER_IRQHandler + Definitions + At line 259 in file Src\startup-rvds.s + Uses + At line 81 in file Src\startup-rvds.s + At line 215 in file Src\startup-rvds.s + +TIM1_BRK_IRQHandler 00000036 + +Symbol: TIM1_BRK_IRQHandler + Definitions + At line 281 in file Src\startup-rvds.s + Uses + At line 103 in file Src\startup-rvds.s + At line 237 in file Src\startup-rvds.s + +TIM1_CC_IRQHandler 00000036 + +Symbol: TIM1_CC_IRQHandler + Definitions + At line 284 in file Src\startup-rvds.s + Uses + At line 106 in file Src\startup-rvds.s + At line 240 in file Src\startup-rvds.s + +TIM1_TRG_COM_IRQHandler 00000036 + +Symbol: TIM1_TRG_COM_IRQHandler + Definitions + At line 283 in file Src\startup-rvds.s + Uses + At line 105 in file Src\startup-rvds.s + At line 239 in file Src\startup-rvds.s + +TIM1_UP_IRQHandler 00000036 + +Symbol: TIM1_UP_IRQHandler + Definitions + At line 282 in file Src\startup-rvds.s + Uses + At line 104 in file Src\startup-rvds.s + At line 238 in file Src\startup-rvds.s + +TIM2_IRQHandler 00000036 + +Symbol: TIM2_IRQHandler + Definitions + At line 285 in file Src\startup-rvds.s + Uses + At line 107 in file Src\startup-rvds.s + At line 241 in file Src\startup-rvds.s + +TIM3_IRQHandler 00000036 + + + +ARM Macro Assembler Page 8 Alphabetic symbol ordering +Relocatable symbols + + +Symbol: TIM3_IRQHandler + Definitions + At line 286 in file Src\startup-rvds.s + Uses + At line 108 in file Src\startup-rvds.s + At line 242 in file Src\startup-rvds.s + +TIM4_IRQHandler 00000036 + +Symbol: TIM4_IRQHandler + Definitions + At line 287 in file Src\startup-rvds.s + Uses + At line 109 in file Src\startup-rvds.s + At line 243 in file Src\startup-rvds.s + +USART1_IRQHandler 00000036 + +Symbol: USART1_IRQHandler + Definitions + At line 294 in file Src\startup-rvds.s + Uses + At line 116 in file Src\startup-rvds.s + At line 250 in file Src\startup-rvds.s + +USART2_IRQHandler 00000036 + +Symbol: USART2_IRQHandler + Definitions + At line 295 in file Src\startup-rvds.s + Uses + At line 117 in file Src\startup-rvds.s + At line 251 in file Src\startup-rvds.s + +USART3_IRQHandler 00000036 + +Symbol: USART3_IRQHandler + Definitions + At line 296 in file Src\startup-rvds.s + Uses + At line 118 in file Src\startup-rvds.s + At line 252 in file Src\startup-rvds.s + +USBWakeUp_IRQHandler 00000036 + +Symbol: USBWakeUp_IRQHandler + Definitions + At line 299 in file Src\startup-rvds.s + Uses + At line 121 in file Src\startup-rvds.s + At line 255 in file Src\startup-rvds.s + +USB_HP_CAN1_TX_IRQHandler 00000036 + +Symbol: USB_HP_CAN1_TX_IRQHandler + Definitions + At line 276 in file Src\startup-rvds.s + Uses + + + +ARM Macro Assembler Page 9 Alphabetic symbol ordering +Relocatable symbols + + At line 98 in file Src\startup-rvds.s + At line 232 in file Src\startup-rvds.s + +USB_LP_CAN1_RX0_IRQHandler 00000036 + +Symbol: USB_LP_CAN1_RX0_IRQHandler + Definitions + At line 277 in file Src\startup-rvds.s + Uses + At line 99 in file Src\startup-rvds.s + At line 233 in file Src\startup-rvds.s + +UsageFault_Handler 0000002C + +Symbol: UsageFault_Handler + Definitions + At line 189 in file Src\startup-rvds.s + Uses + At line 67 in file Src\startup-rvds.s + At line 190 in file Src\startup-rvds.s + +WWDG_IRQHandler 00000036 + +Symbol: WWDG_IRQHandler + Definitions + At line 257 in file Src\startup-rvds.s + Uses + At line 79 in file Src\startup-rvds.s + At line 213 in file Src\startup-rvds.s + +56 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Absolute symbols + +Heap_Size 00000200 + +Symbol: Heap_Size + Definitions + At line 44 in file Src\startup-rvds.s + Uses + At line 48 in file Src\startup-rvds.s +Comment: Heap_Size used once +Stack_Size 00000400 + +Symbol: Stack_Size + Definitions + At line 33 in file Src\startup-rvds.s + Uses + At line 36 in file Src\startup-rvds.s +Comment: Stack_Size used once +_AIRCR E000ED0C + +Symbol: _AIRCR + Definitions + At line 149 in file Src\startup-rvds.s + Uses + At line 151 in file Src\startup-rvds.s +Comment: _AIRCR used once +_AIRCR_VAL 05FA0300 + +Symbol: _AIRCR_VAL + Definitions + At line 150 in file Src\startup-rvds.s + Uses + At line 152 in file Src\startup-rvds.s +Comment: _AIRCR_VAL used once +_SHCSR E000ED24 + +Symbol: _SHCSR + Definitions + At line 139 in file Src\startup-rvds.s + Uses + At line 140 in file Src\startup-rvds.s +Comment: _SHCSR used once +__Vectors_Size 000000EC + +Symbol: __Vectors_Size + Definitions + At line 124 in file Src\startup-rvds.s + Uses + At line 59 in file Src\startup-rvds.s +Comment: __Vectors_Size used once +6 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +External symbols + +__main 00000000 + +Symbol: __main + Definitions + At line 131 in file Src\startup-rvds.s + Uses + At line 158 in file Src\startup-rvds.s +Comment: __main used once +1 symbol +410 symbols in table diff --git a/PjtKEIL_StepDeb_2/BacASable.uvguix.alejeune b/PjtKEIL_StepDeb_2/BacASable.uvguix.alejeune new file mode 100644 index 0000000..c231aa4 --- /dev/null +++ b/PjtKEIL_StepDeb_2/BacASable.uvguix.alejeune @@ -0,0 +1,3637 @@ + + + + -6.1 + +

    ### uVision Project, (C) Keil Software
    + + + + + + + + + + 38003 + Registers + 140 90 + + + 346 + Code Coverage + 1010 160 + + + 204 + Performance Analyzer + 1170 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + FiltIdx=0;DescrEn=0;DescrHeight=4;FuncTrc=1;FindType=8;ColWidths=004B00870082005F004600E600C80096 + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser + 500 + 166 + + + + + + + + 0 + 0 + 0 + 50 + 22 + + + + + + + 44 + 0 + 1 + + -1 + -1 + + + -1 + -1 + + + 319 + 240 + 1680 + 1078 + + + + 0 + + 478 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000003000000000000000100000049553A5C446F63756D656E74735C334D49435C53325C42455F434854495C417373656D626C6575725C506A744B45494C5F537465704465625F325C5372635C7072696E636970616C2E63000000000B7072696E636970616C2E6300000000C5D4F200FFFFFFFF4C553A5C446F63756D656E74735C334D49435C53325C42455F434854495C417373656D626C6575725C506A744B45494C5F537465704465625F325C5372635C737461727475702D727664732E73000000000E737461727475702D727664732E7300000000FFDC7800FFFFFFFF46553A5C446F63756D656E74735C334D49435C53325C42455F434854495C417373656D626C6575725C506A744B45494C5F537465704465625F325C5372635C436C69676E6F2E730000000008436C69676E6F2E7300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EC010000AD01000088060000F7020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000090050000DF000000 + + + 16 + E4020000780200008007000008030000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000080010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000080010000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000080010000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000080010000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000B101000090050000BD020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000B4010000BB030000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000A0020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000B4010000BB030000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000B4010000BB030000A4020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000B4010000BB030000A4020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000B4010000BB030000A4020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000BD02000090050000D0020000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000E4020000780200008007000008030000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000090060000780200008007000052040000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000099010000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000F001000078020000E0020000E2040000000000004F000000F0000000990100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000F00100004204000080070000E6040000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000099010000900500009D0100000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000F0010000E6040000AE05000006060000000000009D01000090050000BD0200000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 1014 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050010000000E4369626C65536F6E64654B45494C960000000000000003000453696D750E4369626C65536F6E64654B45494C0C4369626C65536F6E646553540000000000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F0000008007000056010000 + + + 16 + F400000066000000800700006D010000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + A4000000BB0000009401000086010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D0700003D010000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1936 + 1936 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000042030000C0030000E6030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F7000000660000007D0700003D010000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D0700003D010000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D0700003D010000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D0700003D010000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D0700003D010000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35824 + 35824 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D0700003D010000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000009401000086010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000009401000086010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D0700003D010000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E603000080070000F9030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 0 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 1 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 000000001C0000006F02000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + A4000000BB0000009401000086010000 + + + + 3311 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFF400000056010000800700005A0100000100000001000010040000000100000072FFFFFF56020000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F400000066000000800700006D010000F40000004F00000080070000560100000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657201000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF03000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000003E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000055030000000000004F000000F00000003E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000003E030000800700004203000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000C40300005903000080070000FD030000C40300004203000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFFC003000042030000C4030000E603000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004402000090050000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + .\Src\principal.c + 25 + 4 + 19 + 1 + + 0 + + + .\Src\startup-rvds.s + 0 + 125 + 133 + 1 + + 0 + + + .\Src\Cligno.s + 0 + 17 + 18 + 1 + + 0 + + + + + diff --git a/PjtKEIL_StepDeb_2/BacASable.uvoptx b/PjtKEIL_StepDeb_2/BacASable.uvoptx new file mode 100644 index 0000000..70205e6 --- /dev/null +++ b/PjtKEIL_StepDeb_2/BacASable.uvoptx @@ -0,0 +1,696 @@ + + + + 1.0 + +
    ### uVision Project, (C) Keil Software
    + + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc; *.md + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + Simu + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 18 + + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 6 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + DLGDARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=75,104,496,531,0)(121=859,154,1280,581,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=614,0,1208,751,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + -T0 + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)) + + + 0 + ST-LINKIII-KEIL_SWO + -U066CFF574857847167074929 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM) + + + + + + 0 + 1 + FlagCligno + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + 0 + ((portb & 0x00000002) >> 1 & 0x2) >> 1 + FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F160000000000000000000000000000000000000096020008 + + + + 1 + 0 + 0 + 2 + 10000000 + + + + + + CibleSondeKEIL + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 18 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + + + + + + + + + + + BIN\UL2CM3.DLL + + + + 0 + DLGDARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=75,104,496,531,0)(121=859,154,1280,581,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + -T0 + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UAny -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM) + + + 0 + ST-LINKIII-KEIL_SWO + -U066CFF574857847167074929 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM) + + + + + + 1 + 257 + r0 + 0 + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 0 + 0 + 2 + 10000000 + + + + + + CibleSondeST + 0x4 + ARM-ADS + + 8000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 18 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 6 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + DLGDARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=75,104,496,531,0)(121=859,154,1280,581,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + -T0 + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)) + + + 0 + ST-LINKIII-KEIL_SWO + -U066CFF574857847167074929 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM) + + + + + + 1 + 257 + r0 + 0 + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + 0 + ((portb & 0x00000002) >> 1 & 0x2) >> 1 + FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F100000000000000000000000000000000000000096020008 + + + + 1 + 0 + 0 + 2 + 10000000 + + + + + + Sources + 1 + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + .\Src\principal.c + principal.c + 0 + 0 + + + 1 + 2 + 2 + 0 + 0 + 0 + .\Src\Cligno.s + Cligno.s + 0 + 0 + + + + + Sys + 1 + 0 + 0 + 0 + + 2 + 3 + 2 + 0 + 0 + 0 + .\Src\startup-rvds.s + startup-rvds.s + 0 + 0 + + + + + Driver + 1 + 0 + 0 + 0 + + 3 + 4 + 4 + 0 + 0 + 0 + .\Driver\DriverJeuLaser.lib + DriverJeuLaser.lib + 0 + 0 + + + + + ::CMSIS + 0 + 0 + 0 + 1 + + +
    diff --git a/PjtKEIL_StepDeb_2/BacASable.uvprojx b/PjtKEIL_StepDeb_2/BacASable.uvprojx new file mode 100644 index 0000000..2c5376a --- /dev/null +++ b/PjtKEIL_StepDeb_2/BacASable.uvprojx @@ -0,0 +1,1347 @@ + + + + 2.1 + +
    ### uVision Project, (C) Keil Software
    + + + + Simu + 0x4 + ARM-ADS + 5060960::V5.06 update 7 (build 960)::.\ARMCC + 0 + + + STM32F103RB + STMicroelectronics + Keil.STM32F1xx_DFP.2.3.0 + http://www.keil.com/pack/ + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + + + + + + + + + + + + + + $$Device:STM32F103RB$SVD\STM32F103xx.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\Obj\ + BacASable + 1 + 0 + 1 + 1 + 1 + + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP + DARMSTM.DLL + -pSTM32F103RB + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4100 + + 1 + STLink\ST-LINKIII-KEIL_SWO.dll + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + --C99 + STM32F103xB,USE_FULL_LL_DRIVER + + .\Driver + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + + + + + .\Driver + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + + Sources + + + principal.c + 1 + .\Src\principal.c + + + Cligno.s + 2 + .\Src\Cligno.s + + + + + Sys + + + startup-rvds.s + 2 + .\Src\startup-rvds.s + + + + + Driver + + + DriverJeuLaser.lib + 4 + .\Driver\DriverJeuLaser.lib + + + + + ::CMSIS + + + + + CibleSondeKEIL + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::.\ARMCC + 0 + + + STM32F103RB + STMicroelectronics + Keil.STM32F1xx_DFP.2.3.0 + http://www.keil.com/pack/ + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + + + + + + + + + + + + + + $$Device:STM32F103RB$SVD\STM32F103xx.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\Obj\ + BacASable + 1 + 0 + 1 + 1 + 1 + + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP + DARMSTM.DLL + -pSTM32F103RB + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4100 + + 1 + STLink\ST-LINKIII-KEIL_SWO.dll + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + --C99 + STM32F103xB,USE_FULL_LL_DRIVER + + .\Driver + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + + Sources + + + principal.c + 1 + .\Src\principal.c + + + Cligno.s + 2 + .\Src\Cligno.s + + + + + Sys + + + startup-rvds.s + 2 + .\Src\startup-rvds.s + + + + + Driver + + + DriverJeuLaser.lib + 4 + .\Driver\DriverJeuLaser.lib + + + + + ::CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + + + + + + + + + + + + + + CibleSondeST + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::.\ARMCC + 0 + + + STM32F103RB + STMicroelectronics + Keil.STM32F1xx_DFP.2.3.0 + http://www.keil.com/pack/ + IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + + + + + + + + + + + + + + $$Device:STM32F103RB$SVD\STM32F103xx.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\Obj\ + BacASable + 1 + 0 + 1 + 1 + 1 + + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP + DARMSTM.DLL + -pSTM32F103RB + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4100 + + 1 + STLink\ST-LINKIII-KEIL_SWO.dll + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 1 + 0x8000000 + 0x20000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x20000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x5000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + --C99 + STM32F103xB,USE_FULL_LL_DRIVER + + .\Driver + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + + Sources + + + principal.c + 1 + .\Src\principal.c + + + Cligno.s + 2 + .\Src\Cligno.s + + + + + Sys + + + startup-rvds.s + 2 + .\Src\startup-rvds.s + + + + + Driver + + + DriverJeuLaser.lib + 4 + .\Driver\DriverJeuLaser.lib + + + + + ::CMSIS + + + + + + + + + + + + + + + + + + + + + + + + <Project Info> + 0 + 1 + + + + +
    diff --git a/PjtKEIL_StepDeb_2/DebugConfig/CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf b/PjtKEIL_StepDeb_2/DebugConfig/CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf new file mode 100644 index 0000000..66e10b6 --- /dev/null +++ b/PjtKEIL_StepDeb_2/DebugConfig/CibleSondeKEIL_STM32F103RB_1.0.0.dbgconf @@ -0,0 +1,36 @@ +// File: STM32F101_102_103_105_107.dbgconf +// Version: 1.0.0 +// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008) +// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets + +// <<< Use Configuration Wizard in Context Menu >>> + +// Debug MCU configuration register (DBGMCU_CR) +// Reserved bits must be kept at reset value +// DBG_TIM11_STOP TIM11 counter stopped when core is halted +// DBG_TIM10_STOP TIM10 counter stopped when core is halted +// DBG_TIM9_STOP TIM9 counter stopped when core is halted +// DBG_TIM14_STOP TIM14 counter stopped when core is halted +// DBG_TIM13_STOP TIM13 counter stopped when core is halted +// DBG_TIM12_STOP TIM12 counter stopped when core is halted +// DBG_CAN2_STOP Debug CAN2 stopped when core is halted +// DBG_TIM7_STOP TIM7 counter stopped when core is halted +// DBG_TIM6_STOP TIM6 counter stopped when core is halted +// DBG_TIM5_STOP TIM5 counter stopped when core is halted +// DBG_TIM8_STOP TIM8 counter stopped when core is halted +// DBG_I2C2_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_I2C1_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_CAN1_STOP Debug CAN1 stopped when Core is halted +// DBG_TIM4_STOP TIM4 counter stopped when core is halted +// DBG_TIM3_STOP TIM3 counter stopped when core is halted +// DBG_TIM2_STOP TIM2 counter stopped when core is halted +// DBG_TIM1_STOP TIM1 counter stopped when core is halted +// DBG_WWDG_STOP Debug window watchdog stopped when core is halted +// DBG_IWDG_STOP Debug independent watchdog stopped when core is halted +// DBG_STANDBY Debug standby mode +// DBG_STOP Debug stop mode +// DBG_SLEEP Debug sleep mode +// +DbgMCU_CR = 0x00000007; + +// <<< end of configuration section >>> diff --git a/PjtKEIL_StepDeb_2/DebugConfig/Simu_STM32F103RB_1.0.0.dbgconf b/PjtKEIL_StepDeb_2/DebugConfig/Simu_STM32F103RB_1.0.0.dbgconf new file mode 100644 index 0000000..66e10b6 --- /dev/null +++ b/PjtKEIL_StepDeb_2/DebugConfig/Simu_STM32F103RB_1.0.0.dbgconf @@ -0,0 +1,36 @@ +// File: STM32F101_102_103_105_107.dbgconf +// Version: 1.0.0 +// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008) +// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets + +// <<< Use Configuration Wizard in Context Menu >>> + +// Debug MCU configuration register (DBGMCU_CR) +// Reserved bits must be kept at reset value +// DBG_TIM11_STOP TIM11 counter stopped when core is halted +// DBG_TIM10_STOP TIM10 counter stopped when core is halted +// DBG_TIM9_STOP TIM9 counter stopped when core is halted +// DBG_TIM14_STOP TIM14 counter stopped when core is halted +// DBG_TIM13_STOP TIM13 counter stopped when core is halted +// DBG_TIM12_STOP TIM12 counter stopped when core is halted +// DBG_CAN2_STOP Debug CAN2 stopped when core is halted +// DBG_TIM7_STOP TIM7 counter stopped when core is halted +// DBG_TIM6_STOP TIM6 counter stopped when core is halted +// DBG_TIM5_STOP TIM5 counter stopped when core is halted +// DBG_TIM8_STOP TIM8 counter stopped when core is halted +// DBG_I2C2_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_I2C1_SMBUS_TIMEOUT SMBUS timeout mode stopped when core is halted +// DBG_CAN1_STOP Debug CAN1 stopped when Core is halted +// DBG_TIM4_STOP TIM4 counter stopped when core is halted +// DBG_TIM3_STOP TIM3 counter stopped when core is halted +// DBG_TIM2_STOP TIM2 counter stopped when core is halted +// DBG_TIM1_STOP TIM1 counter stopped when core is halted +// DBG_WWDG_STOP Debug window watchdog stopped when core is halted +// DBG_IWDG_STOP Debug independent watchdog stopped when core is halted +// DBG_STANDBY Debug standby mode +// DBG_STOP Debug stop mode +// DBG_SLEEP Debug sleep mode +// +DbgMCU_CR = 0x00000007; + +// <<< end of configuration section >>> diff --git a/PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.h b/PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.h new file mode 100644 index 0000000..bc9b3bd --- /dev/null +++ b/PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.h @@ -0,0 +1,345 @@ +/** + * Bibliotheque DriverJeuLaser (ancienne gassp72 adaptée 2021 - TR) + * + * GPIO - ADC - Sequenceur - System Timer - PWM - 72 MHz + * Modifs : + * enlèvement de tout ce qui est inutile dans le .h + * ajout de fonctions GPIO dans le .c pour utilisation en ASM ou en C : + * - GPIOA_Set(char Broche), GPIOB_Set(char Broche), GPIOC_Set(char Broche) + * - GPIOA_Clear(char Broche), GPIOB_Clear(char Broche), GPIOC_Clear(char Broche) + * + * ajout d'une fonction qui impose une valeur de PWM (TIM3_CCR3) + * PWM_Set_Value_On_TIM3_C3( int Val) + * permet en ASM ou en C de fixer la valeur de PWM + + * Ajout de commentaires + + */ +#ifndef DRIVERJEULASER_H__ +#define DRIVERJEULASER_H__ + +#include "stm32f10x.h" + +//********************************************************************************************************** +//--------------------- CONFIGURATION CLOCK DU STM32 -------------------------------------- +//********************************************************************************************************** + +/** + * @brief Configure l'ensemble des horloges du uC + * @note horloge systeme (config statique a 72 MHz pour le STM32F103) + * @param None + * @retval None + */ +void CLOCK_Configure(void); + + + + + + + + + + +//********************************************************************************************************** +//--------------------- LES TIMERS GENERAL PURPOSE TIM1 à TIM 4 ------------------------------ +//********************************************************************************************************** + +/** + * @brief Configure un Timer TIM1 à TIM4 avec une périodicité donnée + * @note L' horloge des 4 timers a une fréquence de 72MHz + * @param *Timer = TIM1 ou TIM2 ou TIM3 ou TIM4 + * @param Durée_ticks : nombre de pas (tick) comptés à 72 MHz pour faire déborder le timer + * La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000 + * @retval None + */ +void Timer_1234_Init_ff( TIM_TypeDef *Timer, u32 Duree_ticks ); + +/** + * Macros de base pour utiliser les timers + */ + // bloque le timer +#define Bloque_Timer(Timer) Timer->CR1=(Timer->CR1)&~(1<<0) +// Lance timer +#define Run_Timer(Timer) Timer->CR1=(Timer->CR1)|(1<<0) + + + +/** + * @brief Associe une fonction d'interruption (callback) lors du débordement d'un timer + * @note + * @param *Timer = TIM1 ou TIM2 ou TIM3 ou TIM4 + * @param Prio : niveau de priorité de l'interruption (0 -> priorité max, 15 -> priorité min) + * @param IT_function : le nom de la fonction Callback à appeler lors de l'interruption + * @retval None + */ +void Active_IT_Debordement_Timer( TIM_TypeDef *Timer, char Prio, void (*IT_function)(void) ); + + + + + + + + + + + +//********************************************************************************************************* +//--------------------- PWM TIM1 to TIM 4 ------------------------------ +//********************************************************************************************************* + +/** + * @brief Configure un timer en PWM + * @note + * @param *Timer = TIM1 ou TIM2 ou TIM3 ou TIM4 + * @param voie : un des 4 canaux possibles 1 à 4. + * @param Periode_ticks : nombre de pas (tick) comptés à 72 MHz pour faire déborder le timer + * La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000 + * @retval Retourne la période en tick (normalement la même que le param d'entrée sauf si PSC utilisé + */ +unsigned short int PWM_Init_ff( TIM_TypeDef *Timer, char Voie, u32 Periode_ticks ); + + + +/** + * @brief Fixe une valeur de PWM, Val, en tick horloge. La rapport cyclique effectif + * est donc : rcy = Thaut_ticks / Periode_ticks + * @note spécifique Jeu Laser, PWM liée exclusivement au TIM3, chan3 + * @param Thaut_ticks : durée de l'état haut d'une impulsion en Ticks + * @retval None + */ +void PWM_Set_Value_TIM3_Ch3( unsigned short int Thaut_ticks); + + + + + + + + + +//********************************************************************************************************** +//--------------------- LE SYSTICK TIMER, Part of Cortex M3 ------------------------------ +//********************************************************************************************************** + +/** + * @brief Configure le timer Systick avec une périodicité donnée + * @note Ce timer ne peut servir qu'à créer des temporisations ou générer des interruption + * ce n'est pas à proprement parler un périphérique, il fait partie du Cortex M3 + * Ce timer est un 24 bits + * @param Periode_ticks : nombre de pas (tick) comptés à 72 MHz pour établir la périodicité + * La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000 + * @retval None + */ +void Systick_Period_ff( unsigned int Periode_ticks ); + + + +/** + * @brief Associe une fonction d'interruption (callback) lors du débordement du Systick + * @note + * @param Prio : niveau de priorité de l'interruption (0 -> priorité max, 15 -> priorité min) + * @param IT_function : le nom de la fonction Callback à appeler lors de l'interruption + * @retval None + */ +void Systick_Prio_IT( char Prio, void (*Systick_function)(void) ); + + +/** + * Macros de base pour utiliser le Systick + */ +#define SysTick_On ((SysTick->CTRL)=(SysTick->CTRL)|1<<0) +#define SysTick_Off ((SysTick->CTRL)=(SysTick->CTRL)& ~(1<<0)) +#define SysTick_Enable_IT ((SysTick->CTRL)=(SysTick->CTRL)|1<<1) +#define SysTick_Disable_IT ((SysTick->CTRL)=(SysTick->CTRL)& ~(1<<1)) + + + + + + + + + + + + + + +//********************************************************************************************************** +//--------------------- LE SYSTICK TIMER, Part of Cortex M3 ------------------------------ +//********************************************************************************************************** + +/** + * @brief Active l'ADC du STM32, configure la durée de prélèvement de l'échantillon (temps + * de fermeture du switch d'acquisition + * @note + * @param ADC : précise de quel ADC il s'agit, ADC1 ou ADC2 + * @param Duree_Ech_ticks : dirée de fermeture du switch d'échantillonnage en Tick d'horloge CPU + * exemple pour 1µs on choisira 72. + * @retval Nombre de Tick réellement pris en compte + */ +unsigned int Init_TimingADC_ActiveADC_ff( ADC_TypeDef * ADC, u32 Duree_Ech_ticks ); + + +/** + * @brief Sélectionne la voie à convertir + * @note Attention, la voie va de 0 à 15 et n'est pas directement lié au n°de GPIO + * @param ADC : précise de quel ADC il s'agit, ADC1 ou ADC2 + * @param Voie_ADC : 1 à 15 + * @retval None + */ +void Single_Channel_ADC( ADC_TypeDef * ADC, char Voie_ADC ); + + + + + +/** + * @brief Permet lier le déclenchement au débordement d'un timer, spécifie également + * la période de débordement du timer + * @note pas besoin de régler le timer avec une autre fonction dédiée timer + * @param ADC : précise de quel ADC il s'agit, ADC1 ou ADC2 + * @param Source : indique le timer qui déclenche l'ADC choix dans les define ci-dessous + * @param Periode_ticks : nombre de pas (tick) comptés à 72 MHz pour faire déborder le timer + * La période de débordement du Timer est donc T = Durée_ticks * Tck, avec Tck = 1/72 000 000 + * @retval None + */ + +// param pour Source : +#define TIM1_CC1 0 +#define TIM1_CC2 1 +#define TIM1_CC3 2 +#define TIM2_CC2 3 +#define TIM4_CC4 5 +void Init_Conversion_On_Trig_Timer_ff( ADC_TypeDef * ADC, char Source, u32 Periode_ticks ); + + + + + + + + + + + + + + + +//********************************************************************************************************** +//--------------------- ANALOG INPUT ADC & DMA ------------------------------ +//********************************************************************************************************** + +/** + * @brief Permer de lier l'ADC à un tableau en RAM pour une DMA + * @note + * @param Circ : circular. Si '0', en fin de DMA le ptr d'@ reste inchangé + * si '1' le ptr d'@ se recale à celle du début. + * @param Ptr_Table_DMA : contient l'@ de début de zone RAM à écrire + * @retval None + */ +void Init_ADC1_DMA1(char Circ, short int *Ptr_Table_DMA); + + + + + +/** + * @brief Lance une DMA sur le nombre de points spécifie. Les resultats seront stockes + * dans la zone de RAM écrite est indiquée lors de l'appel de la fonction Init_ADC1_DMA1 + * @note + * @param NbEchDMA est le nombre d'échantillons à stocker. + * @retval None + */ +void Start_DMA1( u16 NbEchDMA ); + +// arret DMA +#define Stop_DMA1 DMA1_Channel1->CCR =(DMA1_Channel1->CCR) &~0x1; + + +/** + * @brief Attend la fin d'un cycle de DMA. la duree depend de la periode d'acquisition + * et du nombre d'echantillons + * @note fonction d'attente (bloquante) + * @param None + * @retval None + */ +void Wait_On_End_Of_DMA1(void); + + + + + + + + +//********************************************************************************************************** +//--------------------- GPIO ------------------------------ +//********************************************************************************************************** + +/** + * @brief Initialisation d'un GPIO (A à C), pin x. + * peut être configuré : + * -> Input ou output + * -> architecture technologique (push-pull, open drain...) + + * @note + * @param Port : GPIOA, GPIOB, GPIOC + * @param Broche : 0 à 15 + * @param Sens : INPUT ou OUTPUT + * @param Techno : voir define ci dessous + * @retval 1 erreur, 0 si OK + */ + +// Sens +#define INPUT 'i' +#define OUTPUT 'o' + +// Techno pour pin en entrée (INPUT) +#define ANALOG 0 +#define INPUT_FLOATING 1 +#define INPUT_PULL_DOWN_UP 2 + +// Techno pour pin en sortie (OUTPUT) +#define OUTPUT_PPULL 0 +#define OUTPUT_OPDRAIN 1 +#define ALT_PPULL 2 +#define ALT_OPDRAIN 3 + +// Exemple : +// Port_IO_Init(GPIOB, 8, OUTPUT, OUTPUT_PPULL); +// Place le bit 8 du port B en sortie Push-pull +char GPIO_Configure(GPIO_TypeDef * Port, int Broche, int Sens, int Techno); + + +/** + * @brief Mise à 1 d'une broche GPIO + * @note Une fonction par GPIO + * @param Broche : 0 à 15 + * @retval None + */ + +void GPIOA_Set(char Broche); +void GPIOB_Set(char Broche); +void GPIOC_Set(char Broche); + + + +/** + * @brief Mise à 0 d'une broche GPIO + * @note Une fonction par GPIO + * @param Broche : 0 à 15 + * @retval None + */ + +void GPIOA_Clear(char Broche); +void GPIOB_Clear(char Broche); +void GPIOC_Clear(char Broche); + + +#endif + + diff --git a/PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.inc b/PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.inc new file mode 100644 index 0000000..48d5e50 --- /dev/null +++ b/PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.inc @@ -0,0 +1,56 @@ + +; Bibliotheque DriverJeuLaser (ancienne gassp72 adaptée 2021 - TR) +; Accès en aux fonctions suivantes : +; GPIO : +; GPIOA_Set(char Broche), GPIOB_Set(char Broche), GPIOC_Set(char Broche) +; GPIOA_Clear(char Broche), GPIOB_Clear(char Broche), GPIOC_Clear(char Broche) + +; PWM : +;/** +; * @brief Fixe une valeur de PWM, Val, en tick horloge. La rapport cyclique effectif +; * est donc : rcy = Thaut_ticks / Periode_ticks +; * @note spécifique Jeu Laser, PWM liée exclusivement au TIM3, chan3 +; * @param Thaut_ticks : durée de l'état haut d'une impulsion en Ticks +; * @retval None +; */ + +;void PWM_Set_Value_TIM3_Ch3( unsigned short int Thaut_ticks); + import PWM_Set_Value_TIM3_Ch3 + + + +;/** +; * @brief Mise à 1 d'une broche GPIO +; * @note Une fonction par GPIO +; * @param Broche : 0 à 15 +; * @retval None +; */ + +;void GPIOA_Set(char Broche); + import GPIOA_Set + +;void GPIOB_Set(char Broche); + import GPIOB_Set + +;void GPIOC_Set(char Broche); + import GPIOC_Set + + + +;/** +; * @brief Mise à 0 d'une broche GPIO +; * @note Une fonction par GPIO +; * @param Broche : 0 à 15 +; * @retval None +; */ + +;void GPIOA_Clear(char Broche); + import GPIOA_Clear + +;void GPIOB_Clear(char Broche); + import GPIOB_Clear + +;void GPIOC_Clear(char Broche); + import GPIOC_Clear + + end diff --git a/PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.lib b/PjtKEIL_StepDeb_2/Driver/DriverJeuLaser.lib new file mode 100644 index 0000000000000000000000000000000000000000..b26c40df2f294e9fa6cd17e4d3440493c7223999 GIT binary patch literal 44472 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 Rn0md%VsR{Wl@KT|{69|st#AMU literal 0 HcmV?d00001 diff --git a/PjtKEIL_StepDeb_2/EventRecorderStub.scvd b/PjtKEIL_StepDeb_2/EventRecorderStub.scvd new file mode 100644 index 0000000..2956b29 --- /dev/null +++ b/PjtKEIL_StepDeb_2/EventRecorderStub.scvd @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/PjtKEIL_StepDeb_2/Obj/BacASable.axf b/PjtKEIL_StepDeb_2/Obj/BacASable.axf new file mode 100644 index 0000000000000000000000000000000000000000..731771f53f7d7ba56078ccb3ffdaa7ca8378fb55 GIT binary patch literal 21088 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 literal 0 HcmV?d00001 diff --git a/PjtKEIL_StepDeb_2/Obj/BacASable.build_log.htm b/PjtKEIL_StepDeb_2/Obj/BacASable.build_log.htm new file mode 100644 index 0000000..7fb1a1e --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/BacASable.build_log.htm @@ -0,0 +1,62 @@ + + +
    +

    µVision Build Log

    +

    Tool Versions:

    +IDE-Version: µVision V5.34.0.0 +Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: CSN CSN, INSA de Toulouse, LIC=---- + +Tool Versions: +Toolchain: MDK-Lite Version: 5.34.0.0 +Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin +C Compiler: Armcc.exe V5.06 update 7 (build 960) +Assembler: Armasm.exe V5.06 update 7 (build 960) +Linker/Locator: ArmLink.exe V5.06 update 7 (build 960) +Library Manager: ArmAr.exe V5.06 update 7 (build 960) +Hex Converter: FromElf.exe V5.06 update 7 (build 960) +CPU DLL: SARMCM3.DLL V5.34.0.0 +Dialog DLL: DARMSTM.DLL V1.68.0.0 +Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.8.0 +Dialog DLL: TCM.DLL V1.48.0.0 + +

    Project:

    +U:\Documents\3MIC\S2\BE_CHTI\Assembleur\PjtKEIL_StepDeb_2\BacASable.uvprojx +Project File Date: 03/22/2022 + +

    Output:

    +*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' +Build target 'Simu' +assembling Cligno.s... +Src\Cligno.s(78): warning: A1581W: Added 2 bytes of padding at address 0x26 +compiling principal.c... +linking... +Program Size: Code=2432 RO-data=268 RW-data=164 ZI-data=1028 +FromELF: creating hex file... +".\Obj\BacASable.axf" - 0 Error(s), 1 Warning(s). + +

    Software Packages used:

    + +Package Vendor: ARM + http://www.keil.com/pack/ARM.CMSIS.5.7.0.pack + ARM.CMSIS.5.7.0 + CMSIS (Cortex Microcontroller Software Interface Standard) + * Component: CORE Version: 5.4.0 + +Package Vendor: Keil + http://www.keil.com/pack/Keil.STM32F1xx_DFP.2.3.0.pack + Keil.STM32F1xx_DFP.2.3.0 + STMicroelectronics STM32F1 Series Device Support, Drivers and Examples + +

    Collection of Component include folders:

    + .\RTE\_Simu + C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include + C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include + +

    Collection of Component Files used:

    + + * Component: ARM::CMSIS:CORE:5.4.0 +Build Time Elapsed: 00:00:02 +
    + + diff --git a/PjtKEIL_StepDeb_2/Obj/BacASable.hex b/PjtKEIL_StepDeb_2/Obj/BacASable.hex new file mode 100644 index 0000000..ac4fb1b --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/BacASable.hex @@ -0,0 +1,182 @@ +:020000040800F2 +:10000000A804002005010008290100082B010008B0 +:100010002D0100082F010008310100080000000038 +:100020000000000000000000000000003301000894 +:100030003501000800000000370100083901000800 +:100040003B0100083B0100083B0100083B010008A0 +:100050003B0100083B0100083B0100083B01000890 +:100060003B0100083B0100083B0100083B01000880 +:100070003B0100083B0100083B0100083B01000870 +:100080003B0100083B0100083B0100083B01000860 +:100090003B0100083B0100083B0100083B01000850 +:1000A0003B010008ED0500083B010008E1040008E1 +:1000B0000506000815070008410800083B01000874 +:1000C0003B0100083B0100083B0100083B01000820 +:1000D0003B0100083B0100083B0100083B01000810 +:1000E0003B0100083B0100083B010008DFF810D08D +:1000F00000F02EF800480047090A0008AFF300801E +:10010000A80400200D488047DFF83400016841F45E +:10011000E0210160BFF34F8FDFF82800DFF82810DF +:1001200001600A4800477047FEE7FEE7FEE7FEE78A +:10013000FEE7FEE7FEE7FEE7FEE7FEE72701000831 +:1001400024ED00E00CED00E00003FA05ED000008EE +:10015000064C074D06E0E06840F0010394E8070014 +:1001600098471034AC42F6D3FFF7C4FF6C0A00087E +:100170008C0A00082DE9F041DFF8C4C0314B60451E +:1001800003D19C6944F400649C614FF08046B04206 +:1001900003D1DC6944F00104DC612B4DA84203D19A +:1001A000DC6944F00204DC61284FB84203D1DC6909 +:1001B00044F00404DC61838943F0010383810F2947 +:1001C00000D90F21224C4FF0E02360450CD1226171 +:1001D000DFF880804FEA011C88F800C0D3F800C126 +:1001E0004CF0007CC3F800C1B0420DD16261DFF871 +:1001F00064C00E010CF1030C8CF80060D3F80061B0 +:1002000046F08056C3F80061A8420AD1A261114E9F +:100210000D01361D3570D3F8005145F00055C3F877 +:100220000051B8420AD1E26108010A49491D08702B +:10023000D3F8000140F08040C3F80001BDE8F08130 +:10024000002C014000100240000400400008004063 +:100250000000002019E400E070B5194C83202060F4 +:1002600000256560A56017486060012000F044F833 +:1002700061680843606014490D60086840F002003E +:100280000860206840F48030206020688003FCD53E +:10029000206840F08070206020688001FCD5606894 +:1002A00020F003006060606840F0020060606068F9 +:1002B00040F480006060086840F01000086070BD85 +:1002C0000010024000841D000020024000487047DA +:1002D00000A24A040549064A884202D005498842DC +:1002E00001D110467047104670470000002C0140B5 +:1002F00000A24A0400340140012804D0B0F5807FF8 +:1003000003DD012102E000202CE00021802801DD36 +:10031000012200E000220A44402801DD012100E022 +:1003200000210A44102801DD012100E000210A44D7 +:10033000082801DD012100E000210A44042801DD34 +:10034000012100E000210A44022801DD012100E032 +:1003500000211144012801DD012000E000200844B3 +:10036000C01D0001702800D100207047012181408C +:1003700001480160704700001408014001218140DC +:1003800001480160704700001008014001218140D0 +:100390000148016070470000140C014001218140B8 +:1003A0000148016070470000100C014001218140AC +:1003B0000148416170470000001001400121814067 +:1003C000014801617047000000100140F0B53B4E4C +:1003D0003B4CB04203D1A66946F00406A661394EF3 +:1003E000B04203D1A66946F00806A661364EB04277 +:1003F00003D1A66946F01006A661344EB04203D17F +:10040000A66946F02006A661314EB04203D1A66926 +:1004100046F04006A66100240F2900DD0124692A68 +:1004200001D0492A02D1032B00D10124032B00DD86 +:100430000124692A06D0492A04D06F2A02D04F2A03 +:1004400000D00124692A01D0492A00D100256F2A51 +:1004500001D04F2A00D1012503260222082915DAEE +:10046000076802EB810206FA02FC27EA0C07076024 +:10047000076893401F430760026889008E40B243BB +:10048000026002688D402A43026015E0083947681F +:1004900002EB810206FA02FC27EA0C074760476874 +:1004A00093401F434760426889008E40B2434260D8 +:1004B00042688D402A4342602046F0BD000801405A +:1004C00000100240000C01400010014000140140E7 +:1004D0000018014001490880704700003C040040BA +:1004E00070B53B4908883B4C82073B4DA4F1200680 +:1004F000A4F1800018D50A8822F002020A8001784F +:10050000012901D1006A804728888107334802D435 +:100510000088208003E000882188401A30802888E5 +:1005200080F00200288070BD0A88520718D50A881A +:1005300022F004020A804178012901D1406A8047F3 +:1005400028888106264802D40088608003E000885D +:100550006188401A7080288880F02000288070BD53 +:100560000A88120718D50A8822F008020A808178C2 +:10057000032901D1806A804728888105194802D45F +:100580000088A08003E00088A188401AB0802888F5 +:1005900080F40070288070BD0A88D206FBD50A88D6 +:1005A00022F010020A80C178012901D1C06A804777 +:1005B000288881040C4802D40088E08003E0008889 +:1005C000E188401AF080288880F40050288070BDAF +:1005D000102C014080000020202C0140342C0140D0 +:1005E000382C01403C2C0140402C0140034801883C +:1005F00021F001010180024800690047102C0140F0 +:100600000000002070B54FF08045288AC10740489F +:100610000AD0A989C90707D0298A21F001012982B6 +:100620004069BDE870400047298A394C8A0738493B +:1006300004F18804A4F12006497916D52A8A22F00B +:1006400002022A82012901D1006B8047288C800791 +:1006500002D4A88E208003E0A88E2188401A308022 +:10066000288C80F00200288470BD2A8A520716D593 +:100670002A8A22F004022A82012901D1406B804794 +:10068000288C800602D4288F608003E0288F618840 +:10069000401A7080288C80F02000288470BD298A40 +:1006A000090717D5298A21F00801298281790129B2 +:1006B00001D1806B8047288C800502D4A88FA08050 +:1006C00003E0A88FA188401AB080288C80F40070C5 +:1006D000288470BD298AC906FBD5298A21F010011A +:1006E0002982C179012901D1C06B8047288C8004FF +:1006F00003D4B5F84000E08004E0B5F84000E1889C +:10070000401AF080288C80F40050288470BD0000CE +:100710000000002070B543490888C20742480BD04A +:100720000A1F1288D20707D00A8822F001020A8025 +:100730008069BDE8704000470A883B4C3B4D04F19E +:1007400090049207A4F1200618D50A8822F002022C +:100750000A80017A012901D1006C8047288881072D +:10076000334802D40088208003E000882188401AA2 +:100770003080288880F00200288070BD0A885207E7 +:1007800018D50A8822F004020A80417A012901D191 +:10079000406C804728888106264802D40088608003 +:1007A00003E000886188401A7080288880F020006B +:1007B000288070BD0A88120718D50A8822F008021E +:1007C0000A80817A012901D1806C804728888105BF +:1007D000194802D40088A08003E00088A188401A4C +:1007E000B080288880F40070288070BD0A88D20606 +:1007F000FBD50A8822F010020A80C17A012901D1B2 +:10080000C06C8047288881040C4802D40088E080AE +:1008100003E00088E188401AF080288880F40050C6 +:10082000288070BD1004004000000020200400401B +:1008300034040040380400403C04004040040040C0 +:1008400070B543490888C20742480BD00A1F128876 +:10085000D20707D00A8822F001020A80C069BDE8E9 +:10086000704000470A883B4C3B4D04F198049207C6 +:10087000A4F1200618D50A8822F002020A80017B22 +:10088000012901D1006D804728888107334802D4AF +:100890000088208003E000882188401A3080288862 +:1008A00080F00200288070BD0A88520718D50A8897 +:1008B00022F004020A80417B012901D1406D80476A +:1008C00028888106264802D40088608003E00088DA +:1008D0006188401A7080288880F02000288070BDD0 +:1008E0000A88120718D50A8822F008020A80817B3C +:1008F000012901D1806D804728888105194802D4DB +:100900000088A08003E00088A188401AB080288871 +:1009100080F40070288070BD0A88D206FBD50A8852 +:1009200022F010020A80C17B012901D1C06D8047ED +:10093000288881040C4802D40088E08003E0008805 +:10094000E188401AF080288880F40050288070BD2B +:10095000100800400000002020080040340800403B +:10096000380800403C0800404008004070B504468C +:100970000D46194919488C4203D1816941F400613F +:100980008161B4F1804F03D1C16941F00101C161BE +:1009900013498C4203D1C16941F00201C16111497F +:1009A0008C4203D1C16941F00401C161FFF78EFCA3 +:1009B00006462046FFF78EFCB6FBF0F0B5FBF0F0E4 +:1009C000010C4A1CB0FBF2F02185401EA085A084DA +:1009D0001120208070BD0000002C0140001002405A +:1009E000000400400008004002E008C8121F08C1CF +:1009F000002AFAD170477047002001E001C1121FA0 +:100A0000002AFBD170470000FFF726FC084909487F +:100A1000FFF7ACFF084A02210648FFF7ABFB0023B3 +:100A20006F2201210548FFF7D1FC00BFFEE700005F +:100A300000DD6D0000080040410A0008000C014084 +:100A400000B509490A68013A07D14FF00000086073 +:100A50004FF00100FFF7A2FC04D14FF00100086045 +:100A6000FFF794FC00BD0000A00000208C0A0008E5 +:100A700000000020A4000000E8090008300B000876 +:100A8000A400002004040000F80900080000000091 +:100A90000000000000000000000000000000000056 +:100AA0000000000000000000000000000000000046 +:100AB0000000000000000000000000000000000036 +:100AC0000000000000000000000000000000000026 +:100AD0000000000000000000000000000000000016 +:100AE0000000000000000000000000000000000006 +:100AF00000000000000000000000000000000000F6 +:100B000000000000000000000000000000000000E5 +:100B100000000000000000000000000000000000D5 +:100B200000000000000000000000000000000000C5 +:04000005080000ED02 +:00000001FF diff --git a/PjtKEIL_StepDeb_2/Obj/BacASable.htm b/PjtKEIL_StepDeb_2/Obj/BacASable.htm new file mode 100644 index 0000000..2952cee --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/BacASable.htm @@ -0,0 +1,420 @@ + + +Static Call Graph - [.\Obj\BacASable.axf] +
    +

    Static Call Graph for image .\Obj\BacASable.axf


    +

    #<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Mar 22 16:09:34 2022 +

    +

    Maximum Stack Usage = 24 bytes + Unknown(Cycles, Untraceable Function Pointers)

    +Call chain for Maximum Stack Depth:

    +main ⇒ Active_IT_Debordement_Timer +

    +

    +Mutually Recursive functions +

  • NMI_Handler   ⇒   NMI_Handler
    +
  • HardFault_Handler   ⇒   HardFault_Handler
    +
  • MemManage_Handler   ⇒   MemManage_Handler
    +
  • BusFault_Handler   ⇒   BusFault_Handler
    +
  • UsageFault_Handler   ⇒   UsageFault_Handler
    +
  • SVC_Handler   ⇒   SVC_Handler
    +
  • DebugMon_Handler   ⇒   DebugMon_Handler
    +
  • PendSV_Handler   ⇒   PendSV_Handler
    +
  • SysTick_Handler   ⇒   SysTick_Handler
    +
  • ADC1_2_IRQHandler   ⇒   ADC1_2_IRQHandler
    + +

    +

    +Function Pointers +

      +
    • ADC1_2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • BusFault_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • CAN1_RX1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • CAN1_SCE_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel3_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel4_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel5_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel6_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DMA1_Channel7_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • DebugMon_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI0_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI15_10_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI3_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI4_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • EXTI9_5_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • FLASH_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • HardFault_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • I2C1_ER_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • I2C1_EV_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • I2C2_ER_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • I2C2_EV_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • MemManage_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • NMI_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • PVD_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • PendSV_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • RCC_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • RTCAlarm_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • RTC_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • Reset_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SPI1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SPI2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SVC_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SysTick_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • SystemInit from startup-rvds.o(.text) referenced from startup-rvds.o(.text) +
    • TAMPER_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • TIM1_BRK_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • TIM1_CC_IRQHandler from timer_1234.o(i.TIM1_CC_IRQHandler) referenced from startup-rvds.o(RESET) +
    • TIM1_TRG_COM_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • TIM1_UP_IRQHandler from timer_1234.o(i.TIM1_UP_IRQHandler) referenced from startup-rvds.o(RESET) +
    • TIM2_IRQHandler from timer_1234.o(i.TIM2_IRQHandler) referenced from startup-rvds.o(RESET) +
    • TIM3_IRQHandler from timer_1234.o(i.TIM3_IRQHandler) referenced from startup-rvds.o(RESET) +
    • TIM4_IRQHandler from timer_1234.o(i.TIM4_IRQHandler) referenced from startup-rvds.o(RESET) +
    • USART1_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USART2_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USART3_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USBWakeUp_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USB_HP_CAN1_TX_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • USB_LP_CAN1_RX0_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • UsageFault_Handler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • WWDG_IRQHandler from startup-rvds.o(.text) referenced from startup-rvds.o(RESET) +
    • __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup-rvds.o(.text) +
    • main from principal.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B) +
    • timer_callback from cligno.o(moncode) referenced from principal.o(i.main) +
    +

    +

    +Global Symbols +

    +

    __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000)) +
    [Address Reference Count : 1]

    • startup-rvds.o(.text) +
    +

    _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) + +

    _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

    [Calls]

    • >>   __scatterload +
    + +

    __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

    [Called By]

    • >>   __scatterload +
    + +

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) + +

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) + +

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) + +

    __rt_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E)) + +

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F)) + +

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011)) + +

    Reset_Handler (Thumb, 34 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    SystemInit (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(.text) +
    +

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   NMI_Handler +
    +
    [Called By]
    • >>   NMI_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   HardFault_Handler +
    +
    [Called By]
    • >>   HardFault_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   MemManage_Handler +
    +
    [Called By]
    • >>   MemManage_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   BusFault_Handler +
    +
    [Called By]
    • >>   BusFault_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   UsageFault_Handler +
    +
    [Called By]
    • >>   UsageFault_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   SVC_Handler +
    +
    [Called By]
    • >>   SVC_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   DebugMon_Handler +
    +
    [Called By]
    • >>   DebugMon_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   PendSV_Handler +
    +
    [Called By]
    • >>   PendSV_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   SysTick_Handler +
    +
    [Called By]
    • >>   SysTick_Handler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +

    [Calls]

    • >>   ADC1_2_IRQHandler +
    +
    [Called By]
    • >>   ADC1_2_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    DMA1_Channel7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI15_10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    EXTI9_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    RTCAlarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    RTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TAMPER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM1_BRK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM1_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USBWakeUp_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USB_HP_CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    USB_LP_CAN1_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup-rvds.o(.text)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) +

    [Calls]

    • >>   __main_after_scatterload +
    +
    [Called By]
    • >>   _main_scatterload +
    + +

    __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) + +

    Active_IT_Debordement_Timer (Thumb, 204 bytes, Stack size 24 bytes, timer_1234.o(i.Active_IT_Debordement_Timer)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = Active_IT_Debordement_Timer +
    +
    [Called By]
    • >>   main +
    + +

    CLOCK_Configure (Thumb, 104 bytes, Stack size 16 bytes, clock.o(i.CLOCK_Configure)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = CLOCK_Configure +
    +
    [Calls]
    • >>   CLOCK_HPRECompute +
    +
    [Called By]
    • >>   main +
    + +

    CLOCK_GetHCLK (Thumb, 4 bytes, Stack size 0 bytes, clock.o(i.CLOCK_GetHCLK)) +

    [Called By]

    • >>   Timer_1234_Init_ff +
    + +

    CLOCK_GetTIMCLK (Thumb, 22 bytes, Stack size 0 bytes, clock.o(i.CLOCK_GetTIMCLK)) +

    [Called By]

    • >>   Timer_1234_Init_ff +
    + +

    GPIOA_Clear (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOA_Clear), UNUSED) + +

    GPIOA_Set (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOA_Set), UNUSED) + +

    GPIOB_Clear (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Clear)) +

    [Called By]

    • >>   timer_callback +
    + +

    GPIOB_Set (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOB_Set)) +

    [Called By]

    • >>   timer_callback +
    + +

    GPIOC_Clear (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOC_Clear), UNUSED) + +

    GPIOC_Set (Thumb, 10 bytes, Stack size 0 bytes, gpio.o(i.GPIOC_Set), UNUSED) + +

    GPIO_Configure (Thumb, 240 bytes, Stack size 20 bytes, gpio.o(i.GPIO_Configure)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = GPIO_Configure +
    +
    [Called By]
    • >>   main +
    + +

    PWM_Set_Value_TIM3_Ch3 (Thumb, 6 bytes, Stack size 0 bytes, timer_1234.o(i.PWM_Set_Value_TIM3_Ch3), UNUSED) + +

    TIM1_CC_IRQHandler (Thumb, 240 bytes, Stack size 16 bytes, timer_1234.o(i.TIM1_CC_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM1_CC_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    TIM1_UP_IRQHandler (Thumb, 16 bytes, Stack size 0 bytes, timer_1234.o(i.TIM1_UP_IRQHandler)) +
    [Address Reference Count : 1]

    • startup-rvds.o(RESET) +
    +

    TIM2_IRQHandler (Thumb, 266 bytes, Stack size 16 bytes, timer_1234.o(i.TIM2_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM2_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    TIM3_IRQHandler (Thumb, 272 bytes, Stack size 16 bytes, timer_1234.o(i.TIM3_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM3_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    TIM4_IRQHandler (Thumb, 272 bytes, Stack size 16 bytes, timer_1234.o(i.TIM4_IRQHandler)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = TIM4_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup-rvds.o(RESET) +
    +

    Timer_1234_Init_ff (Thumb, 106 bytes, Stack size 16 bytes, timer_1234.o(i.Timer_1234_Init_ff)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = Timer_1234_Init_ff +
    +
    [Calls]
    • >>   CLOCK_GetTIMCLK +
    • >>   CLOCK_GetHCLK +
    +
    [Called By]
    • >>   main +
    + +

    __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) + +

    __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) + +

    __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) + +

    main (Thumb, 38 bytes, Stack size 0 bytes, principal.o(i.main)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = main ⇒ Active_IT_Debordement_Timer +
    +
    [Calls]
    • >>   Timer_1234_Init_ff +
    • >>   GPIO_Configure +
    • >>   CLOCK_Configure +
    • >>   Active_IT_Debordement_Timer +
    +
    [Address Reference Count : 1]
    • entry9a.o(.ARM.Collect$$$$0000000B) +
    +

    timer_callback (Thumb, 38 bytes, Stack size 0 bytes, cligno.o(moncode)) +

    [Calls]

    • >>   GPIOB_Set +
    • >>   GPIOB_Clear +
    +
    [Address Reference Count : 1]
    • principal.o(i.main) +

    +

    +Local Symbols +

    +

    CLOCK_HPRECompute (Thumb, 116 bytes, Stack size 0 bytes, clock.o(i.CLOCK_HPRECompute)) +

    [Called By]

    • >>   CLOCK_Configure +
    +

    +

    +Undefined Global Symbols +


    diff --git a/PjtKEIL_StepDeb_2/Obj/BacASable.lnp b/PjtKEIL_StepDeb_2/Obj/BacASable.lnp new file mode 100644 index 0000000..e080e1b --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/BacASable.lnp @@ -0,0 +1,9 @@ +--cpu Cortex-M3 +".\obj\principal.o" +".\obj\cligno.o" +".\obj\startup-rvds.o" +".\Driver\DriverJeuLaser.lib" +--library_type=microlib --strict --scatter ".\Obj\BacASable.sct" +--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols +--info sizes --info totals --info unused --info veneers +--list "BacASable.map" -o .\Obj\BacASable.axf \ No newline at end of file diff --git a/PjtKEIL_StepDeb_2/Obj/BacASable.map b/PjtKEIL_StepDeb_2/Obj/BacASable.map new file mode 100644 index 0000000..66170cb --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/BacASable.map @@ -0,0 +1,540 @@ +Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601] + +============================================================================== + +Section Cross References + + principal.o(i.main) refers to clock.o(i.CLOCK_Configure) for CLOCK_Configure + principal.o(i.main) refers to timer_1234.o(i.Timer_1234_Init_ff) for Timer_1234_Init_ff + principal.o(i.main) refers to timer_1234.o(i.Active_IT_Debordement_Timer) for Active_IT_Debordement_Timer + principal.o(i.main) refers to gpio.o(i.GPIO_Configure) for GPIO_Configure + principal.o(i.main) refers to cligno.o(moncode) for timer_callback + cligno.o(mesdata) refers (Special) to gpio.o(i.GPIOA_Clear) for GPIOA_Clear + cligno.o(mesdata) refers (Special) to gpio.o(i.GPIOA_Set) for GPIOA_Set + cligno.o(mesdata) refers (Special) to gpio.o(i.GPIOC_Clear) for GPIOC_Clear + cligno.o(mesdata) refers (Special) to gpio.o(i.GPIOC_Set) for GPIOC_Set + cligno.o(mesdata) refers (Special) to timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) for PWM_Set_Value_TIM3_Ch3 + cligno.o(maram) refers (Special) to gpio.o(i.GPIOA_Clear) for GPIOA_Clear + cligno.o(maram) refers (Special) to gpio.o(i.GPIOA_Set) for GPIOA_Set + cligno.o(maram) refers (Special) to gpio.o(i.GPIOC_Clear) for GPIOC_Clear + cligno.o(maram) refers (Special) to gpio.o(i.GPIOC_Set) for GPIOC_Set + cligno.o(maram) refers (Special) to timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) for PWM_Set_Value_TIM3_Ch3 + cligno.o(moncode) refers (Special) to gpio.o(i.GPIOA_Clear) for GPIOA_Clear + cligno.o(moncode) refers (Special) to gpio.o(i.GPIOA_Set) for GPIOA_Set + cligno.o(moncode) refers (Special) to gpio.o(i.GPIOC_Clear) for GPIOC_Clear + cligno.o(moncode) refers (Special) to gpio.o(i.GPIOC_Set) for GPIOC_Set + cligno.o(moncode) refers (Special) to timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) for PWM_Set_Value_TIM3_Ch3 + cligno.o(moncode) refers to gpio.o(i.GPIOB_Set) for GPIOB_Set + cligno.o(moncode) refers to gpio.o(i.GPIOB_Clear) for GPIOB_Clear + cligno.o(moncode) refers to cligno.o(maram) for FlagCligno + startup-rvds.o(RESET) refers to startup-rvds.o(STACK) for __initial_sp + startup-rvds.o(RESET) refers to startup-rvds.o(.text) for Reset_Handler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM1_UP_IRQHandler) for TIM1_UP_IRQHandler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM1_CC_IRQHandler) for TIM1_CC_IRQHandler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM2_IRQHandler) for TIM2_IRQHandler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM3_IRQHandler) for TIM3_IRQHandler + startup-rvds.o(RESET) refers to timer_1234.o(i.TIM4_IRQHandler) for TIM4_IRQHandler + startup-rvds.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main + clock.o(i.CLOCK_Configure) refers to clock.o(i.CLOCK_HPRECompute) for CLOCK_HPRECompute + timer_1234.o(i.Active_IT_Compare_Timer) refers to timer_1234.o(.data) for .data + timer_1234.o(i.Active_IT_Debordement_Timer) refers to timer_1234.o(.data) for .data + timer_1234.o(i.Capture_Init) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK + timer_1234.o(i.Capture_Init) refers to dfltui.o(.text) for __aeabi_ui2d + timer_1234.o(i.Capture_Init) refers to f2d.o(.text) for __aeabi_f2d + timer_1234.o(i.Capture_Init) refers to dmul.o(.text) for __aeabi_dmul + timer_1234.o(i.Capture_Init) refers to ddiv.o(.text) for __aeabi_ddiv + timer_1234.o(i.Capture_Init) refers to d2f.o(.text) for __aeabi_d2f + timer_1234.o(i.Capture_Init) refers to ffltui.o(.text) for __aeabi_ui2f + timer_1234.o(i.Capture_Init) refers to fmul.o(.text) for __aeabi_fmul + timer_1234.o(i.Capture_Init) refers to ffixui.o(.text) for __aeabi_f2uiz + timer_1234.o(i.Capture_Init) refers to ffixi.o(.text) for __aeabi_f2iz + timer_1234.o(i.Lire_Duree_Pulse) refers to timer_1234.o(.data) for .data + timer_1234.o(i.PWM_Init) refers to f2d.o(.text) for __aeabi_f2d + timer_1234.o(i.PWM_Init) refers to ddiv.o(.text) for __aeabi_ddiv + timer_1234.o(i.PWM_Init) refers to d2f.o(.text) for __aeabi_d2f + timer_1234.o(i.PWM_Init) refers to timer_1234.o(i.Timer_1234_Init) for Timer_1234_Init + timer_1234.o(i.PWM_Init_ff) refers to timer_1234.o(i.Timer_1234_Init_ff) for Timer_1234_Init_ff + timer_1234.o(i.TIM1_CC_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.TIM1_UP_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.TIM2_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.TIM3_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.TIM4_IRQHandler) refers to timer_1234.o(.data) for .data + timer_1234.o(i.Timer_1234_Init) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK + timer_1234.o(i.Timer_1234_Init) refers to ffltui.o(.text) for __aeabi_ui2f + timer_1234.o(i.Timer_1234_Init) refers to fmul.o(.text) for __aeabi_fmul + timer_1234.o(i.Timer_1234_Init) refers to f2d.o(.text) for __aeabi_f2d + timer_1234.o(i.Timer_1234_Init) refers to ddiv.o(.text) for __aeabi_ddiv + timer_1234.o(i.Timer_1234_Init) refers to d2f.o(.text) for __aeabi_d2f + timer_1234.o(i.Timer_1234_Init) refers to fscalb.o(.text) for __ARM_scalbnf + timer_1234.o(i.Timer_1234_Init) refers to ffixui.o(.text) for __aeabi_f2uiz + timer_1234.o(i.Timer_1234_Init) refers to fdiv.o(.text) for __aeabi_fdiv + timer_1234.o(i.Timer_1234_Init) refers to dfltui.o(.text) for __aeabi_ui2d + timer_1234.o(i.Timer_1234_Init) refers to dadd.o(.text) for __aeabi_dadd + timer_1234.o(i.Timer_1234_Init) refers to dmul.o(.text) for __aeabi_dmul + timer_1234.o(i.Timer_1234_Init_ff) refers to clock.o(i.CLOCK_GetHCLK) for CLOCK_GetHCLK + timer_1234.o(i.Timer_1234_Init_ff) refers to clock.o(i.CLOCK_GetTIMCLK) for CLOCK_GetTIMCLK + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000F) for __rt_final_cpp + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$00000011) for __rt_final_exit + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry12b.o(.ARM.Collect$$$$0000000E) for __rt_lib_shutdown_fini + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry8b.o(.ARM.Collect$$$$0000000A) for _main_cpp_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk + fmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + fdiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + fdiv.o(.text) refers to fepilogue.o(.text) for _float_round + fscalb.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dadd.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl + dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr + dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue + dmul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue + ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + ddiv.o(.text) refers to depilogue.o(.text) for _double_round + ffltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + ffltui.o(.text) refers to fepilogue.o(.text) for _float_epilogue + dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfltui.o(.text) refers to depilogue.o(.text) for _double_epilogue + ffixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + ffixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + f2d.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + d2f.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + d2f.o(.text) refers to fepilogue.o(.text) for _float_round + entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000 + entry2.o(.ARM.Collect$$$$00002712) refers to startup-rvds.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to startup-rvds.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to entry.o(.ARM.Collect$$$$00000000) for __main + entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload + entry9a.o(.ARM.Collect$$$$0000000B) refers to principal.o(i.main) for main + entry9b.o(.ARM.Collect$$$$0000000C) refers to principal.o(i.main) for main + depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl + depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr + init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload + + +============================================================================== + +Removing Unused input sections from the image. + + Removing principal.o(.rev16_text), (4 bytes). + Removing principal.o(.revsh_text), (4 bytes). + Removing principal.o(.rrx_text), (6 bytes). + Removing cligno.o(mesdata), (0 bytes). + Removing startup-rvds.o(HEAP), (512 bytes). + Removing clock.o(.rev16_text), (4 bytes). + Removing clock.o(.revsh_text), (4 bytes). + Removing clock.o(.rrx_text), (6 bytes). + Removing clock.o(i.CLOCK_GetADCCLK), (8 bytes). + Removing clock.o(i.CLOCK_GetPCLK1), (8 bytes). + Removing clock.o(i.CLOCK_GetPCLK2), (8 bytes). + Removing gpio.o(.rev16_text), (4 bytes). + Removing gpio.o(.revsh_text), (4 bytes). + Removing gpio.o(.rrx_text), (6 bytes). + Removing timer_1234.o(.rev16_text), (4 bytes). + Removing timer_1234.o(.revsh_text), (4 bytes). + Removing timer_1234.o(.rrx_text), (6 bytes). + Removing timer_1234.o(i.Active_IT_Compare_Timer), (492 bytes). + Removing timer_1234.o(i.Capture_Init), (484 bytes). + Removing timer_1234.o(i.Lire_Duree_Pulse), (96 bytes). + Removing timer_1234.o(i.PWM_Complementaire_Timer1), (60 bytes). + Removing timer_1234.o(i.PWM_Init), (200 bytes). + Removing timer_1234.o(i.PWM_Init_ff), (172 bytes). + Removing timer_1234.o(i.Timer_1234_Init), (268 bytes). + Removing timer_1234.o(i.Timer_Inc_Init), (180 bytes). + Removing fmul.o(.text), (100 bytes). + Removing fdiv.o(.text), (124 bytes). + Removing fscalb.o(.text), (24 bytes). + Removing dadd.o(.text), (334 bytes). + Removing dmul.o(.text), (228 bytes). + Removing ddiv.o(.text), (222 bytes). + Removing ffltui.o(.text), (10 bytes). + Removing dfltui.o(.text), (26 bytes). + Removing ffixi.o(.text), (50 bytes). + Removing ffixui.o(.text), (40 bytes). + Removing f2d.o(.text), (38 bytes). + Removing d2f.o(.text), (56 bytes). + Removing fepilogue.o(.text), (110 bytes). + Removing depilogue.o(.text), (186 bytes). + +39 unused section(s) (total 4092 bytes) removed from the image. + +============================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Ov Type Size Object(Section) + + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry12b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE + ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE + ../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE + ../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE + ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE + ../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE + ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE + ../fplib/microlib/fpscalb.c 0x00000000 Number 0 fscalb.o ABSOLUTE + Lib\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE + Lib\Timer_1234.c 0x00000000 Number 0 timer_1234.o ABSOLUTE + Lib\\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE + Lib\\Timer_1234.c 0x00000000 Number 0 timer_1234.o ABSOLUTE + Lib\\clock.c 0x00000000 Number 0 clock.o ABSOLUTE + Lib\clock.c 0x00000000 Number 0 clock.o ABSOLUTE + Src\Cligno.s 0x00000000 Number 0 cligno.o ABSOLUTE + Src\\principal.c 0x00000000 Number 0 principal.o ABSOLUTE + Src\principal.c 0x00000000 Number 0 principal.o ABSOLUTE + Src\startup-rvds.s 0x00000000 Number 0 startup-rvds.o ABSOLUTE + dc.s 0x00000000 Number 0 dc.o ABSOLUTE + handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE + init.s 0x00000000 Number 0 init.o ABSOLUTE + RESET 0x08000000 Section 236 startup-rvds.o(RESET) + .ARM.Collect$$$$00000000 0x080000ec Section 0 entry.o(.ARM.Collect$$$$00000000) + .ARM.Collect$$$$00000001 0x080000ec Section 4 entry2.o(.ARM.Collect$$$$00000001) + .ARM.Collect$$$$00000004 0x080000f0 Section 4 entry5.o(.ARM.Collect$$$$00000004) + .ARM.Collect$$$$00000008 0x080000f4 Section 0 entry7b.o(.ARM.Collect$$$$00000008) + .ARM.Collect$$$$0000000A 0x080000f4 Section 0 entry8b.o(.ARM.Collect$$$$0000000A) + .ARM.Collect$$$$0000000B 0x080000f4 Section 8 entry9a.o(.ARM.Collect$$$$0000000B) + .ARM.Collect$$$$0000000E 0x080000fc Section 4 entry12b.o(.ARM.Collect$$$$0000000E) + .ARM.Collect$$$$0000000F 0x08000100 Section 0 entry10a.o(.ARM.Collect$$$$0000000F) + .ARM.Collect$$$$00000011 0x08000100 Section 0 entry11a.o(.ARM.Collect$$$$00000011) + .ARM.Collect$$$$00002712 0x08000100 Section 4 entry2.o(.ARM.Collect$$$$00002712) + __lit__00000000 0x08000100 Data 4 entry2.o(.ARM.Collect$$$$00002712) + .text 0x08000104 Section 76 startup-rvds.o(.text) + .text 0x08000150 Section 36 init.o(.text) + i.Active_IT_Debordement_Timer 0x08000174 Section 0 timer_1234.o(i.Active_IT_Debordement_Timer) + i.CLOCK_Configure 0x08000258 Section 0 clock.o(i.CLOCK_Configure) + i.CLOCK_GetHCLK 0x080002cc Section 0 clock.o(i.CLOCK_GetHCLK) + i.CLOCK_GetTIMCLK 0x080002d4 Section 0 clock.o(i.CLOCK_GetTIMCLK) + i.CLOCK_HPRECompute 0x080002f8 Section 0 clock.o(i.CLOCK_HPRECompute) + CLOCK_HPRECompute 0x080002f9 Thumb Code 116 clock.o(i.CLOCK_HPRECompute) + i.GPIOA_Clear 0x0800036c Section 0 gpio.o(i.GPIOA_Clear) + i.GPIOA_Set 0x0800037c Section 0 gpio.o(i.GPIOA_Set) + i.GPIOB_Clear 0x0800038c Section 0 gpio.o(i.GPIOB_Clear) + i.GPIOB_Set 0x0800039c Section 0 gpio.o(i.GPIOB_Set) + i.GPIOC_Clear 0x080003ac Section 0 gpio.o(i.GPIOC_Clear) + i.GPIOC_Set 0x080003bc Section 0 gpio.o(i.GPIOC_Set) + i.GPIO_Configure 0x080003cc Section 0 gpio.o(i.GPIO_Configure) + i.PWM_Set_Value_TIM3_Ch3 0x080004d4 Section 0 timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) + i.TIM1_CC_IRQHandler 0x080004e0 Section 0 timer_1234.o(i.TIM1_CC_IRQHandler) + i.TIM1_UP_IRQHandler 0x080005ec Section 0 timer_1234.o(i.TIM1_UP_IRQHandler) + i.TIM2_IRQHandler 0x08000604 Section 0 timer_1234.o(i.TIM2_IRQHandler) + i.TIM3_IRQHandler 0x08000714 Section 0 timer_1234.o(i.TIM3_IRQHandler) + i.TIM4_IRQHandler 0x08000840 Section 0 timer_1234.o(i.TIM4_IRQHandler) + i.Timer_1234_Init_ff 0x0800096c Section 0 timer_1234.o(i.Timer_1234_Init_ff) + i.__scatterload_copy 0x080009e8 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x080009f6 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x080009f8 Section 14 handlers.o(i.__scatterload_zeroinit) + i.main 0x08000a08 Section 0 principal.o(i.main) + moncode 0x08000a40 Section 44 cligno.o(moncode) + .data 0x20000000 Section 160 timer_1234.o(.data) + Ptr_TIM1 0x20000010 Data 4 timer_1234.o(.data) + Ptr_TIM2 0x20000014 Data 4 timer_1234.o(.data) + Ptr_TIM3 0x20000018 Data 4 timer_1234.o(.data) + Ptr_TIM4 0x2000001c Data 4 timer_1234.o(.data) + Ptr_TIM1_Voie1 0x20000020 Data 4 timer_1234.o(.data) + Ptr_TIM1_Voie2 0x20000024 Data 4 timer_1234.o(.data) + Ptr_TIM1_Voie3 0x20000028 Data 4 timer_1234.o(.data) + Ptr_TIM1_Voie4 0x2000002c Data 4 timer_1234.o(.data) + Ptr_TIM2_Voie1 0x20000030 Data 4 timer_1234.o(.data) + Ptr_TIM2_Voie2 0x20000034 Data 4 timer_1234.o(.data) + Ptr_TIM2_Voie3 0x20000038 Data 4 timer_1234.o(.data) + Ptr_TIM2_Voie4 0x2000003c Data 4 timer_1234.o(.data) + Ptr_TIM3_Voie1 0x20000040 Data 4 timer_1234.o(.data) + Ptr_TIM3_Voie2 0x20000044 Data 4 timer_1234.o(.data) + Ptr_TIM3_Voie3 0x20000048 Data 4 timer_1234.o(.data) + Ptr_TIM3_Voie4 0x2000004c Data 4 timer_1234.o(.data) + Ptr_TIM4_Voie1 0x20000050 Data 4 timer_1234.o(.data) + Ptr_TIM4_Voie2 0x20000054 Data 4 timer_1234.o(.data) + Ptr_TIM4_Voie3 0x20000058 Data 4 timer_1234.o(.data) + Ptr_TIM4_Voie4 0x2000005c Data 4 timer_1234.o(.data) + Duree_Pulse_T1 0x20000060 Data 8 timer_1234.o(.data) + Duree_Pulse_T2 0x20000068 Data 8 timer_1234.o(.data) + Duree_Pulse_T3 0x20000070 Data 8 timer_1234.o(.data) + Duree_Pulse_T4 0x20000078 Data 8 timer_1234.o(.data) + Date_T1 0x20000080 Data 8 timer_1234.o(.data) + Date_T2 0x20000088 Data 8 timer_1234.o(.data) + Date_T3 0x20000090 Data 8 timer_1234.o(.data) + Date_T4 0x20000098 Data 8 timer_1234.o(.data) + maram 0x200000a0 Section 4 cligno.o(maram) + STACK 0x200000a8 Section 1024 startup-rvds.o(STACK) + + Global Symbols + + Symbol Name Value Ov Type Size Object(Section) + + BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + __ARM_use_no_argv 0x00000000 Number 0 principal.o ABSOLUTE + __arm_fini_ - Undefined Weak Reference + __cpp_initialize__aeabi_ - Undefined Weak Reference + __cxa_finalize - Undefined Weak Reference + __decompress - Undefined Weak Reference + _clock_init - Undefined Weak Reference + _microlib_exit - Undefined Weak Reference + __Vectors_Size 0x000000ec Number 0 startup-rvds.o ABSOLUTE + __Vectors 0x08000000 Data 4 startup-rvds.o(RESET) + __Vectors_End 0x080000ec Data 0 startup-rvds.o(RESET) + __main 0x080000ed Thumb Code 0 entry.o(.ARM.Collect$$$$00000000) + _main_stk 0x080000ed Thumb Code 0 entry2.o(.ARM.Collect$$$$00000001) + _main_scatterload 0x080000f1 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + __main_after_scatterload 0x080000f5 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + _main_clock 0x080000f5 Thumb Code 0 entry7b.o(.ARM.Collect$$$$00000008) + _main_cpp_init 0x080000f5 Thumb Code 0 entry8b.o(.ARM.Collect$$$$0000000A) + _main_init 0x080000f5 Thumb Code 0 entry9a.o(.ARM.Collect$$$$0000000B) + __rt_lib_shutdown_fini 0x080000fd Thumb Code 0 entry12b.o(.ARM.Collect$$$$0000000E) + __rt_final_cpp 0x08000101 Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000F) + __rt_final_exit 0x08000101 Thumb Code 0 entry11a.o(.ARM.Collect$$$$00000011) + Reset_Handler 0x08000105 Thumb Code 34 startup-rvds.o(.text) + SystemInit 0x08000127 Thumb Code 2 startup-rvds.o(.text) + NMI_Handler 0x08000129 Thumb Code 2 startup-rvds.o(.text) + HardFault_Handler 0x0800012b Thumb Code 2 startup-rvds.o(.text) + MemManage_Handler 0x0800012d Thumb Code 2 startup-rvds.o(.text) + BusFault_Handler 0x0800012f Thumb Code 2 startup-rvds.o(.text) + UsageFault_Handler 0x08000131 Thumb Code 2 startup-rvds.o(.text) + SVC_Handler 0x08000133 Thumb Code 2 startup-rvds.o(.text) + DebugMon_Handler 0x08000135 Thumb Code 2 startup-rvds.o(.text) + PendSV_Handler 0x08000137 Thumb Code 2 startup-rvds.o(.text) + SysTick_Handler 0x08000139 Thumb Code 2 startup-rvds.o(.text) + ADC1_2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + CAN1_RX1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + CAN1_SCE_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel6_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + DMA1_Channel7_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI15_10_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI4_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + EXTI9_5_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + FLASH_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C1_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C1_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C2_ER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + I2C2_EV_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + PVD_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + RCC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + RTCAlarm_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + RTC_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + SPI1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + SPI2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TAMPER_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM1_BRK_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + TIM1_TRG_COM_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USART1_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USART2_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USART3_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USBWakeUp_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USB_HP_CAN1_TX_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + USB_LP_CAN1_RX0_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + WWDG_IRQHandler 0x0800013b Thumb Code 0 startup-rvds.o(.text) + __scatterload 0x08000151 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x08000151 Thumb Code 0 init.o(.text) + Active_IT_Debordement_Timer 0x08000175 Thumb Code 204 timer_1234.o(i.Active_IT_Debordement_Timer) + CLOCK_Configure 0x08000259 Thumb Code 104 clock.o(i.CLOCK_Configure) + CLOCK_GetHCLK 0x080002cd Thumb Code 4 clock.o(i.CLOCK_GetHCLK) + CLOCK_GetTIMCLK 0x080002d5 Thumb Code 22 clock.o(i.CLOCK_GetTIMCLK) + GPIOA_Clear 0x0800036d Thumb Code 10 gpio.o(i.GPIOA_Clear) + GPIOA_Set 0x0800037d Thumb Code 10 gpio.o(i.GPIOA_Set) + GPIOB_Clear 0x0800038d Thumb Code 10 gpio.o(i.GPIOB_Clear) + GPIOB_Set 0x0800039d Thumb Code 10 gpio.o(i.GPIOB_Set) + GPIOC_Clear 0x080003ad Thumb Code 10 gpio.o(i.GPIOC_Clear) + GPIOC_Set 0x080003bd Thumb Code 10 gpio.o(i.GPIOC_Set) + GPIO_Configure 0x080003cd Thumb Code 240 gpio.o(i.GPIO_Configure) + PWM_Set_Value_TIM3_Ch3 0x080004d5 Thumb Code 6 timer_1234.o(i.PWM_Set_Value_TIM3_Ch3) + TIM1_CC_IRQHandler 0x080004e1 Thumb Code 240 timer_1234.o(i.TIM1_CC_IRQHandler) + TIM1_UP_IRQHandler 0x080005ed Thumb Code 16 timer_1234.o(i.TIM1_UP_IRQHandler) + TIM2_IRQHandler 0x08000605 Thumb Code 266 timer_1234.o(i.TIM2_IRQHandler) + TIM3_IRQHandler 0x08000715 Thumb Code 272 timer_1234.o(i.TIM3_IRQHandler) + TIM4_IRQHandler 0x08000841 Thumb Code 272 timer_1234.o(i.TIM4_IRQHandler) + Timer_1234_Init_ff 0x0800096d Thumb Code 106 timer_1234.o(i.Timer_1234_Init_ff) + __scatterload_copy 0x080009e9 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x080009f7 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x080009f9 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + main 0x08000a09 Thumb Code 38 principal.o(i.main) + timer_callback 0x08000a41 Thumb Code 38 cligno.o(moncode) + Region$$Table$$Base 0x08000a6c Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08000a8c Number 0 anon$$obj.o(Region$$Table) + Enable_Fct_IT_Compare_Match_TIM1_Voie1 0x20000000 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM1_Voie2 0x20000001 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM1_Voie3 0x20000002 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM1_Voie4 0x20000003 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM2_Voie1 0x20000004 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM2_Voie2 0x20000005 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM2_Voie3 0x20000006 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM2_Voie4 0x20000007 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM3_Voie1 0x20000008 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM3_Voie2 0x20000009 Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM3_Voie3 0x2000000a Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM3_Voie4 0x2000000b Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM4_Voie1 0x2000000c Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM4_Voie2 0x2000000d Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM4_Voie3 0x2000000e Data 1 timer_1234.o(.data) + Enable_Fct_IT_Compare_Match_TIM4_Voie4 0x2000000f Data 1 timer_1234.o(.data) + FlagCligno 0x200000a0 Data 4 cligno.o(maram) + __initial_sp 0x200004a8 Data 0 startup-rvds.o(STACK) + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x080000ed + + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000b30, Max: 0x00020000, ABSOLUTE) + + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000a8c, Max: 0x00020000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x08000000 0x08000000 0x000000ec Data RO 65 RESET startup-rvds.o + 0x080000ec 0x080000ec 0x00000000 Code RO 149 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 176 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 179 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 181 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 183 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 184 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 191 .ARM.Collect$$$$0000000E mc_w.l(entry12b.o) + 0x08000100 0x08000100 0x00000000 Code RO 186 .ARM.Collect$$$$0000000F mc_w.l(entry10a.o) + 0x08000100 0x08000100 0x00000000 Code RO 188 .ARM.Collect$$$$00000011 mc_w.l(entry11a.o) + 0x08000100 0x08000100 0x00000004 Code RO 177 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000104 0x08000104 0x0000004c Code RO 66 .text startup-rvds.o + 0x08000150 0x08000150 0x00000024 Code RO 201 .text mc_w.l(init.o) + 0x08000174 0x08000174 0x000000e4 Code RO 114 i.Active_IT_Debordement_Timer DriverJeuLaser.lib(timer_1234.o) + 0x08000258 0x08000258 0x00000074 Code RO 73 i.CLOCK_Configure DriverJeuLaser.lib(clock.o) + 0x080002cc 0x080002cc 0x00000008 Code RO 75 i.CLOCK_GetHCLK DriverJeuLaser.lib(clock.o) + 0x080002d4 0x080002d4 0x00000024 Code RO 78 i.CLOCK_GetTIMCLK DriverJeuLaser.lib(clock.o) + 0x080002f8 0x080002f8 0x00000074 Code RO 79 i.CLOCK_HPRECompute DriverJeuLaser.lib(clock.o) + 0x0800036c 0x0800036c 0x00000010 Code RO 93 i.GPIOA_Clear DriverJeuLaser.lib(gpio.o) + 0x0800037c 0x0800037c 0x00000010 Code RO 94 i.GPIOA_Set DriverJeuLaser.lib(gpio.o) + 0x0800038c 0x0800038c 0x00000010 Code RO 95 i.GPIOB_Clear DriverJeuLaser.lib(gpio.o) + 0x0800039c 0x0800039c 0x00000010 Code RO 96 i.GPIOB_Set DriverJeuLaser.lib(gpio.o) + 0x080003ac 0x080003ac 0x00000010 Code RO 97 i.GPIOC_Clear DriverJeuLaser.lib(gpio.o) + 0x080003bc 0x080003bc 0x00000010 Code RO 98 i.GPIOC_Set DriverJeuLaser.lib(gpio.o) + 0x080003cc 0x080003cc 0x00000108 Code RO 99 i.GPIO_Configure DriverJeuLaser.lib(gpio.o) + 0x080004d4 0x080004d4 0x0000000c Code RO 120 i.PWM_Set_Value_TIM3_Ch3 DriverJeuLaser.lib(timer_1234.o) + 0x080004e0 0x080004e0 0x0000010c Code RO 121 i.TIM1_CC_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x080005ec 0x080005ec 0x00000018 Code RO 122 i.TIM1_UP_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x08000604 0x08000604 0x00000110 Code RO 123 i.TIM2_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x08000714 0x08000714 0x0000012c Code RO 124 i.TIM3_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x08000840 0x08000840 0x0000012c Code RO 125 i.TIM4_IRQHandler DriverJeuLaser.lib(timer_1234.o) + 0x0800096c 0x0800096c 0x0000007c Code RO 127 i.Timer_1234_Init_ff DriverJeuLaser.lib(timer_1234.o) + 0x080009e8 0x080009e8 0x0000000e Code RO 207 i.__scatterload_copy mc_w.l(handlers.o) + 0x080009f6 0x080009f6 0x00000002 Code RO 208 i.__scatterload_null mc_w.l(handlers.o) + 0x080009f8 0x080009f8 0x0000000e Code RO 209 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x08000a06 0x08000a06 0x00000002 PAD + 0x08000a08 0x08000a08 0x00000038 Code RO 4 i.main principal.o + 0x08000a40 0x08000a40 0x0000002c Code RO 59 moncode cligno.o + 0x08000a6c 0x08000a6c 0x00000020 Data RO 205 Region$$Table anon$$obj.o + + + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000a8c, Size: 0x000004a8, Max: 0x00005000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x20000000 0x08000a8c 0x000000a0 Data RW 129 .data DriverJeuLaser.lib(timer_1234.o) + 0x200000a0 0x08000b2c 0x00000004 Data RW 58 maram cligno.o + 0x200000a4 0x08000b30 0x00000004 PAD + 0x200000a8 - 0x00000400 Zero RW 63 STACK startup-rvds.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 44 6 0 4 0 340 cligno.o + 56 18 0 0 0 1911 principal.o + 76 20 236 0 1024 812 startup-rvds.o + + ---------------------------------------------------------------------- + 176 44 268 4 1028 3063 Object Totals + 0 0 32 0 0 0 (incl. Generated) + 0 0 0 0 4 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + + 276 30 0 0 0 284 clock.o + 360 60 0 0 0 492 gpio.o + 1528 146 0 160 0 656 timer_1234.o + 0 0 0 0 0 0 entry.o + 0 0 0 0 0 0 entry10a.o + 0 0 0 0 0 0 entry11a.o + 4 0 0 0 0 0 entry12b.o + 8 4 0 0 0 0 entry2.o + 4 0 0 0 0 0 entry5.o + 0 0 0 0 0 0 entry7b.o + 0 0 0 0 0 0 entry8b.o + 8 4 0 0 0 0 entry9a.o + 30 0 0 0 0 0 handlers.o + 36 8 0 0 0 68 init.o + + ---------------------------------------------------------------------- + 2256 252 0 160 0 1500 Library Totals + 2 0 0 0 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Name + + 2164 236 0 160 0 1432 DriverJeuLaser.lib + 90 16 0 0 0 68 mc_w.l + + ---------------------------------------------------------------------- + 2256 252 0 160 0 1500 Library Totals + + ---------------------------------------------------------------------- + +============================================================================== + + + Code (inc. data) RO Data RW Data ZI Data Debug + + 2432 296 268 164 1028 3831 Grand Totals + 2432 296 268 164 1028 3831 ELF Image Totals + 2432 296 268 164 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 2700 ( 2.64kB) + Total RW Size (RW Data + ZI Data) 1192 ( 1.16kB) + Total ROM Size (Code + RO Data + RW Data) 2864 ( 2.80kB) + +============================================================================== + diff --git a/PjtKEIL_StepDeb_2/Obj/BacASable.sct b/PjtKEIL_StepDeb_2/Obj/BacASable.sct new file mode 100644 index 0000000..bbacbc6 --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/BacASable.sct @@ -0,0 +1,16 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_IROM1 0x08000000 0x00020000 { ; load region size_region + ER_IROM1 0x08000000 0x00020000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x20000000 0x00005000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/PjtKEIL_StepDeb_2/Obj/BacASable_CibleSondeKEIL.dep b/PjtKEIL_StepDeb_2/Obj/BacASable_CibleSondeKEIL.dep new file mode 100644 index 0000000..c397f7b --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/BacASable_CibleSondeKEIL.dep @@ -0,0 +1,15 @@ +Dependencies for Project 'BacASable', Target 'CibleSondeKEIL': (DO NOT MODIFY !) +CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC +F (.\Src\principal.c)(0x6232E6CF)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\Driver --C99 -I.\RTE\_CibleSondeKEIL -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 -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DSTM32F103xB -DUSE_FULL_LL_DRIVER -o .\obj\principal.o --omf_browse .\obj\principal.crf --depend .\obj\principal.d) +I (.\Driver\DriverJeuLaser.h)(0x6037C015) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) +I (.\RTE\_CibleSondeKEIL\RTE_Components.h)(0x6232FC51) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) +I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) +F (.\Src\Cligno.s)(0x6232FDBC)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list cligno.lst --xref -o .\obj\cligno.o --depend .\obj\cligno.d) +F (.\Src\startup-rvds.s)(0x5FE38AC6)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_CibleSondeKEIL -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup-rvds.lst --xref -o .\obj\startup-rvds.o --depend .\obj\startup-rvds.d) +F (.\Driver\DriverJeuLaser.lib)(0x6037BEDF)() diff --git a/PjtKEIL_StepDeb_2/Obj/BacASable_Simu.dep b/PjtKEIL_StepDeb_2/Obj/BacASable_Simu.dep new file mode 100644 index 0000000..015def0 --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/BacASable_Simu.dep @@ -0,0 +1,16 @@ +Dependencies for Project 'BacASable', Target 'Simu': (DO NOT MODIFY !) +CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARMCC +F (.\Src\principal.c)(0x6232E6CF)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I .\Driver --C99 -I.\RTE\_Simu -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 -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DSTM32F103xB -DUSE_FULL_LL_DRIVER -o .\obj\principal.o --omf_browse .\obj\principal.crf --depend .\obj\principal.d) +I (.\Driver\DriverJeuLaser.h)(0x6037C015) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\stm32f10x.h)(0x58258CCC) +I (.\RTE\_Simu\RTE_Components.h)(0x62287273) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\core_cm3.h)(0x5E8F2582) +I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E9122) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_version.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5E835B22) +I (C:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5E8F2582) +I (C:\Programdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h)(0x58258CCC) +F (.\Src\Cligno.s)(0x6232FDBC)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I .\Driver -I.\RTE\_Simu -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list cligno.lst --xref -o .\obj\cligno.o --depend .\obj\cligno.d) +I (.\Driver\DriverJeuLaser.inc)(0x6037BEDF) +F (.\Src\startup-rvds.s)(0x5FE38AC6)(--cpu Cortex-M3 --pd "__EVAL SETA 1" -g --apcs=interwork --pd "__MICROLIB SETA 1" -I .\Driver -I.\RTE\_Simu -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 --pd "__UVISION_VERSION SETA 534" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup-rvds.lst --xref -o .\obj\startup-rvds.o --depend .\obj\startup-rvds.d) +F (.\Driver\DriverJeuLaser.lib)(0x6037BEDF)() diff --git a/PjtKEIL_StepDeb_2/Obj/ExtDll.iex b/PjtKEIL_StepDeb_2/Obj/ExtDll.iex new file mode 100644 index 0000000..6c0896e --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/ExtDll.iex @@ -0,0 +1,2 @@ +[EXTDLL] +Count=0 diff --git a/PjtKEIL_StepDeb_2/Obj/cligno.d b/PjtKEIL_StepDeb_2/Obj/cligno.d new file mode 100644 index 0000000..cdd09ab --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/cligno.d @@ -0,0 +1,2 @@ +.\obj\cligno.o: Src\Cligno.s +.\obj\cligno.o: .\Driver\DriverJeuLaser.inc diff --git a/PjtKEIL_StepDeb_2/Obj/cligno.o b/PjtKEIL_StepDeb_2/Obj/cligno.o new file mode 100644 index 0000000000000000000000000000000000000000..b4900f09720046e8ea6d5a2e3dc0237ea909ced6 GIT binary patch literal 2536 zcmcIlUys{F5TCVkiSOF0no}i8qav#^?VKn)G`cKkI2=Ty3yEF5f-Sy1u zc=qY;o=ymXj0i|D(*VwwxMg93vsGAuG6*P3*@o{I+e`OJqx9SEV?^)mJ|=MT^skcw z>Uh>YCc{t3;&aHBRsdwi%K)p$g=K)Bk&8G03d9VDmhQQS<3No-5By0mrsKFFYkOUp zsjf#u`MSD(L!M4XPE6&S^6FsfdL#MPjrCXLeh_#K*$I6o^5u6oM)m6l&U>)muv)=z z>f=d~RqwWS%dA;V!`8R^ZA*(H>JL0R4XxgTc*kgWY%`{l79H3%?$l*IqpPv&)6gC| zo;PrY51+9?5mn(dz?Y0K0eqeEZy3iM{*dZFrhFT@2nx=a{Nggs*(LB40OU#Fx3R!- z4&p^psa&X3u2e2xzIdgwDhS0Q?yRDTeUq(32Bb_x>1C-RmB|V@i=GK8h+IJ<(mIY4 zBoXs899{+T=*-G8l%PaPLP?Yg(t=c!N|GckN=wqI(rM`o0EU(mOUNb;VFBPZ#@R=o zBXzEb3h?CQ>YUCZUqwAjYRDTB*J0ScIX0`FkyqSGiR#fr*XXEA!d2v9;| z3Ue7L#aX5j8$y`?DhQX7Wtmk-SDjB_GTW2@y}Mo8q_KU+@ut-7x4U&)zh8$pd+lAF z8B$62s1tIznWIg6hH5#grRZ~2ecN*mliCB@#=p+SKS>?Y!Sv8}27{0usa0sQA5M$o z&>c);8YxPDyKA>i?Px>kDJ^A3X)31DGZd}Ssnzy78`b?zt*X4;=v1qUiHM1aiAdWp z44m&O`=(*uxuJYy_ILE1R-)cSb-SbNnmtW76r-taD!o0!+*Ay$**>a)AB=~=h=NZe zYy=MYPU!fcj6jLuf9WDx=xf+j*4B77kRONifT^x?Xh+k@B&1Qab?a8Wir{cE-O__F zrpIgDI_l137;U-Zn1&w&;X}5IPUv{FrCPz@fi+Az-bh{xo&f@Rt*u(E&^^Mg$Hcw9 zVcDkZPf^nwRxb<=F=`gSwL@LcLLaRjHmAtKtF!d3**2}~>P>Y$mC+??wZ}tmI->u2 z1V7R2ck8v=)#GEkb-QQPQ~-_rLk@KYE)Z743wfMSTq<=Jg)%uOyg*(gFBL8k{Gk9{ z0kVj~8SF=(M)#vQjGY0fXi%NJj6fX*KI_rABwY}F=<|gk_0k$Vz;G!%Q;`2$r|N8< z=ZkeV4I(8JnbQg*il-6&2NGDojNeNJN{ RFAgSri-)|=1or67(ceGbjc@<} literal 0 HcmV?d00001 diff --git a/PjtKEIL_StepDeb_2/Obj/principal.crf b/PjtKEIL_StepDeb_2/Obj/principal.crf new file mode 100644 index 0000000000000000000000000000000000000000..f18169f363b5b2422004db9659a96af48fdd346f GIT binary patch literal 239824 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 IhI;aU08L3|9{>OV literal 0 HcmV?d00001 diff --git a/PjtKEIL_StepDeb_2/Obj/startup-rvds.d b/PjtKEIL_StepDeb_2/Obj/startup-rvds.d new file mode 100644 index 0000000..2c6855d --- /dev/null +++ b/PjtKEIL_StepDeb_2/Obj/startup-rvds.d @@ -0,0 +1 @@ +.\obj\startup-rvds.o: Src\startup-rvds.s diff --git a/PjtKEIL_StepDeb_2/Obj/startup-rvds.o b/PjtKEIL_StepDeb_2/Obj/startup-rvds.o new file mode 100644 index 0000000000000000000000000000000000000000..3b0bcfa4b2774a6eaf5780f6e4087ddb09cb1327 GIT binary patch literal 5968 zcmd^DU5p#m75-*y?|LDjyCf|nG>b7#*fd!a?@yd;6N=aCWZhj8k<%5)Y`NRaNmoB@mHHRa#N0w3O0TBK^*t zYwyf1sD0^EZ?gXG`OeRrd+(W1$P4%1@{1# z1@8bJ6dVH{65I7uL{lpzY_dB@S5Np@Va0Icth|Qa8+<0 z@V4L~;2pu^z}EQ(kH7Wd6pYo>`&Vx>&b;{76W@I6!!hu0*f?|DJdU@HfAss!|LBg` zpKx^x{}A|RNMweE`5C=7+nEz@kbo!<>~t2L(`nT{Vg7+Gso%3UXtjEpU>Rcn>V;e!YEMvBd5Z6;D~*UO!HC2OKIo3YdL#cV0n={WV}nzPm}%CW~oC5zfO48E|WT$?uQbB1;$l(me~|C85sxMk1s;Q3ImB0r-Jn7fXEolh@j;CbX?#rM;~JmS_!Esk z*Z50~XP8$&Ee#*`16#poJ~h%*2?HC7SSdrM7z7?NjGcjj9eZ}}*%=tzy=Twp&e6c& zj#0K??av`1F;?2)Br zWi&neu??~+T91DJ2E8gzk6u-#M^^RdkyRafWL18Y)w6_8l_Ts+eas6|UexkwEtj;s zs^yxNFKYR+mLJjb6)iue<;S)Bl$M{-^7C4LLCddb`Bg2yuH`qh{En92)iS}?4CdZz zLA-bEqhL=G4B=mt5A~^a;|RGxe>H&jmAtiY`5KETz*^|Fiqa3^Z#w>>l0*1&?|NL^ z09W{rT9$kR{P%WGPYm#;w0p7&{N6P}9`6C~!W<5Q;ufV4s}ZSZ-S&+jDCJ{v128I` z5mim{vz<~x<#_d@8msS7ex2tNa!V`K^Ijzj51}$&x=(o8 z@RGE5!-&f}Q#CCdp4ifn?bNBc<94=iZ*K#%WX;-(c{`oDCt(*( zAK0jx*Q(;_4VqKs^UhMsPo@gR$xY0}CMMx!irL)M2H6*bdS3*}341BO!6jiA3&-vB ziQFbWo!&&v78ZP5Dwod`yo{C4`mRaYmvf=$3raCn<2&0MqTs)7{^Xojo1I8c*qM`? zDPJ12N^G_w<+D1rn6l=*kus-?*~9kqM#?wKV&j`;A$(&N!Z&C|Oxp=xi3sT<=5nco zon9?B8cr?gO~I=;_(=+1(q0c=@?M2+5MG6EFkXdkP^#>$bjF*Iz7>3SsW~o%FC@iOmNO@A<@Ye(|4hY`b2rHelOTo^7h-n%!wpIO(i( zo9&LBX;juF_Ew#8%dS=HJO*iDx!iHs=h4mPaV%bu(}!JNUT!-V;)!)%+p2!W!K@tO zQr&L5y1dqPIX$L3-SvDugv%V%P#nZ=2TrNybl(&9uSc6w$pk%(Dj zEHW0EY$lW8@2S|5m9b79jD6KAE~FRcTro*;eld2!%BRwqSY|eLD3&i|tV6L(YBqae z0#-4VUI3X)5%ZZ;9`UYov5Qy*u`d3H2h>!%p5lRZd|b^D@nYLKD`K^L&hD(WT5YG( zIePf;WP;>MYwc*d*=Aa57#mi~&ICnH&YA)aJKT=mB&+fq7b zWv$Y5JQ+Wr`^?TMWg9ECwTkl}L#T*WF*nJLe`-J9Gi9f|T!kSoo=|_B7`SdQH)M_& z+s&Jd9mZ%dYVb7$ULVE~J2&uPgm`DQ(`|Rl%ZO7EFZZhn@s(y>j{h{#2AxZFW!QFV zx-!plj1GKd`pMNBU-zq38+2QjtBtcwS60O%8c#*JCB}^Z`xbUh)jqKIxiEOd69Cx9*G4OYLeTCXX^&gep zko35LUsQ}7hSZlmwaaxkE3#~C!PpgnuqU|tF^#00{nQYci2I*}yNzOpXBs^_^M^IU6Lh{m6J@t}saP8~5-;%@ee^8Cz6f7@N| Z!u9#<-Cj%k@Pd7BehfCi1B$PG{of4jw9^0p literal 0 HcmV?d00001 diff --git a/PjtKEIL_StepDeb_2/RTE/_CibleSondeKEIL/RTE_Components.h b/PjtKEIL_StepDeb_2/RTE/_CibleSondeKEIL/RTE_Components.h new file mode 100644 index 0000000..e0e1553 --- /dev/null +++ b/PjtKEIL_StepDeb_2/RTE/_CibleSondeKEIL/RTE_Components.h @@ -0,0 +1,21 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'BacASable' + * Target: 'CibleSondeKEIL' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f10x.h" + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/PjtKEIL_StepDeb_2/RTE/_Simu/RTE_Components.h b/PjtKEIL_StepDeb_2/RTE/_Simu/RTE_Components.h new file mode 100644 index 0000000..b403f03 --- /dev/null +++ b/PjtKEIL_StepDeb_2/RTE/_Simu/RTE_Components.h @@ -0,0 +1,21 @@ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'BacASable' + * Target: 'Simu' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f10x.h" + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/PjtKEIL_StepDeb_2/Src/Cligno.s b/PjtKEIL_StepDeb_2/Src/Cligno.s new file mode 100644 index 0000000..5fce029 --- /dev/null +++ b/PjtKEIL_StepDeb_2/Src/Cligno.s @@ -0,0 +1,78 @@ + PRESERVE8 + THUMB + include DriverJeuLaser.inc + +; ====================== zone de réservation de données, ====================================== +;Section RAM (read only) : + area mesdata,data,readonly + + +;Section RAM (read write): + area maram,data,readwrite +FlagCligno dcd 0 + + +; =============================================================================================== + + + + +;Section ROM code (read only) : + area moncode,code,readonly + + + export FlagCligno + export timer_callback + +; écrire le code ici +timer_callback proc + + push {lr} + ;r1 : &FlagCligno + ldr r1, =FlagCligno + ; r2 : * (&FlagCligno) + ldr r2, [r1] + subs r2, #1 + + bne Action1 + ; on met la valeur 0 dans r0 + mov r0, #0 + ; on stocke à l'adresse r1 la valeur dans r0 + str r0, [r1] + ;on prépare R0 pour l'appel de la fonction + mov r0, #1 + bl GPIOB_Set + bne Fin + +Action1 + ; on met la valeur 1 dans r0 + mov r0, #1 + ; on stocke à l'adresse r1 la valeur dans r0 + str r0, [r1] + ;on a r0 à 1 pour l'appel de la fonction + bl GPIOB_Clear + +Fin + pop {pc} + endp + + + + + +;/* +;void timer_callback(void) +;{ +; if (FlagCligno==1) +; { +; FlagCligno=0; +; GPIOB_Set(1); +; } +; else +; { +; FlagCligno=1; +; GPIOB_Clear(1); +; } +;}*/ + + END diff --git a/PjtKEIL_StepDeb_2/Src/principal.c b/PjtKEIL_StepDeb_2/Src/principal.c new file mode 100644 index 0000000..69cb954 --- /dev/null +++ b/PjtKEIL_StepDeb_2/Src/principal.c @@ -0,0 +1,46 @@ + + +#include "DriverJeuLaser.h" + +void timer_callback(void); + +int main(void) +{ + +// =========================================================================== +// ============= INIT PERIPH (faites qu'une seule fois) ===================== +// =========================================================================== + +// Après exécution : le coeur CPU est clocké à 72MHz ainsi que tous les timers +CLOCK_Configure(); + +// configuration du Timer 4 en débordement 100ms + +Timer_1234_Init_ff(TIM4, 7200000); + + +// Activation des interruptions issues du Timer 4 +// Association de la fonction à exécuter lors de l'interruption : timer_callback +// cette fonction (si écrite en ASM) doit être conforme à l'AAPCS + +Active_IT_Debordement_Timer(TIM4, 2, timer_callback); +//** Placez votre code là ** // + + + +// configuration de PortB.1 (PB1) en sortie push-pull +GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL); + + + + +//============================================================================ + + +while (1) + { + } +} + + + diff --git a/PjtKEIL_StepDeb_2/Src/startup-rvds.s b/PjtKEIL_StepDeb_2/Src/startup-rvds.s new file mode 100644 index 0000000..a7b631a --- /dev/null +++ b/PjtKEIL_StepDeb_2/Src/startup-rvds.s @@ -0,0 +1,335 @@ +;******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** +;* File Name : startup_stm32f10x_md.s +;* Author : MCD Application Team +;* Version : V3.5.0 +;* Date : 11-March-2011 +;* Description : STM32F10x Medium Density Devices vector table for MDK-ARM +;* toolchain. +;* This module performs: +;* - Set the initial SP +;* - Set the initial PC == Reset_Handler +;* - Set the vector table entries with the exceptions ISR address +;* - Configure the clock system +;* - Branches to __main in the C library (which eventually +;* calls main()). +;* After Reset the CortexM3 processor is in Thread mode, +;* priority is Privileged, and the Stack is set to Main. +;* <<< Use Configuration Wizard in Context Menu >>> +;******************************************************************************* +; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS +; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. +; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, +; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE +; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING +; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. +;******************************************************************************* + +; Amount of memory (in bytes) allocated for Stack +; Tailor this value to your application needs +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00000400 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000200 + + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ; Top of Stack + DCD Reset_Handler ; Reset Handler + DCD NMI_Handler ; NMI Handler + DCD HardFault_Handler ; Hard Fault Handler + DCD MemManage_Handler ; MPU Fault Handler + DCD BusFault_Handler ; Bus Fault Handler + DCD UsageFault_Handler ; Usage Fault Handler + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD 0 ; Reserved + DCD SVC_Handler ; SVCall Handler + DCD DebugMon_Handler ; Debug Monitor Handler + DCD 0 ; Reserved + DCD PendSV_Handler ; PendSV Handler + DCD SysTick_Handler ; SysTick Handler + + ; External Interrupts + DCD WWDG_IRQHandler ; Window Watchdog + DCD PVD_IRQHandler ; PVD through EXTI Line detect + DCD TAMPER_IRQHandler ; Tamper + DCD RTC_IRQHandler ; RTC + DCD FLASH_IRQHandler ; Flash + DCD RCC_IRQHandler ; RCC + DCD EXTI0_IRQHandler ; EXTI Line 0 + DCD EXTI1_IRQHandler ; EXTI Line 1 + DCD EXTI2_IRQHandler ; EXTI Line 2 + DCD EXTI3_IRQHandler ; EXTI Line 3 + DCD EXTI4_IRQHandler ; EXTI Line 4 + DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 + DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 + DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 + DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 + DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 + DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 + DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 + DCD ADC1_2_IRQHandler ; ADC1_2 + DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX + DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0 + DCD CAN1_RX1_IRQHandler ; CAN1 RX1 + DCD CAN1_SCE_IRQHandler ; CAN1 SCE + DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 + DCD TIM1_BRK_IRQHandler ; TIM1 Break + DCD TIM1_UP_IRQHandler ; TIM1 Update + DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation + DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare + DCD TIM2_IRQHandler ; TIM2 + DCD TIM3_IRQHandler ; TIM3 + DCD TIM4_IRQHandler ; TIM4 + DCD I2C1_EV_IRQHandler ; I2C1 Event + DCD I2C1_ER_IRQHandler ; I2C1 Error + DCD I2C2_EV_IRQHandler ; I2C2 Event + DCD I2C2_ER_IRQHandler ; I2C2 Error + DCD SPI1_IRQHandler ; SPI1 + DCD SPI2_IRQHandler ; SPI2 + DCD USART1_IRQHandler ; USART1 + DCD USART2_IRQHandler ; USART2 + DCD USART3_IRQHandler ; USART3 + DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 + DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line + DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + +; Reset handler +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT __main + + LDR R0, =SystemInit + BLX R0 + +; +; Enable UsageFault, MemFault and Busfault interrupts +; +_SHCSR EQU 0xE000ED24 ; SHCSR is located at address 0xE000ED24 + LDR.W R0, =_SHCSR + LDR R1, [R0] ; Read CPACR + ORR R1, R1, #(0x7 << 16) ; Set bits 16,17,18 to enable usagefault, busfault, memfault interrupts + STR R1, [R0] ; Write back the modified value to the CPACR + DSB ; Wait for store to complete + +; +; Set priority grouping (PRIGROUP) in AIRCR to 3 (16 levels for group priority and 0 for subpriority) +; +_AIRCR EQU 0xE000ED0C +_AIRCR_VAL EQU 0x05FA0300 + LDR.W R0, =_AIRCR + LDR.W R1, =_AIRCR_VAL + STR R1,[R0] + +; +; Finaly, jump to main function (void main (void)) +; + LDR R0, =__main + BX R0 + ENDP + +SystemInit PROC + EXPORT SystemInit [WEAK] + BX LR + ENDP + +; Dummy Exception Handlers (infinite loops which can be modified) + +NMI_Handler PROC + EXPORT NMI_Handler [WEAK] + B . + ENDP +HardFault_Handler\ + PROC + EXPORT HardFault_Handler [WEAK] + B . + ENDP +MemManage_Handler\ + PROC + EXPORT MemManage_Handler [WEAK] + B . + ENDP +BusFault_Handler\ + PROC + EXPORT BusFault_Handler [WEAK] + B . + ENDP +UsageFault_Handler\ + PROC + EXPORT UsageFault_Handler [WEAK] + B . + ENDP +SVC_Handler PROC + EXPORT SVC_Handler [WEAK] + B . + ENDP +DebugMon_Handler\ + PROC + EXPORT DebugMon_Handler [WEAK] + B . + ENDP +PendSV_Handler PROC + EXPORT PendSV_Handler [WEAK] + B . + ENDP +SysTick_Handler PROC + EXPORT SysTick_Handler [WEAK] + B . + ENDP + +Default_Handler PROC + + EXPORT WWDG_IRQHandler [WEAK] + EXPORT PVD_IRQHandler [WEAK] + EXPORT TAMPER_IRQHandler [WEAK] + EXPORT RTC_IRQHandler [WEAK] + EXPORT FLASH_IRQHandler [WEAK] + EXPORT RCC_IRQHandler [WEAK] + EXPORT EXTI0_IRQHandler [WEAK] + EXPORT EXTI1_IRQHandler [WEAK] + EXPORT EXTI2_IRQHandler [WEAK] + EXPORT EXTI3_IRQHandler [WEAK] + EXPORT EXTI4_IRQHandler [WEAK] + EXPORT DMA1_Channel1_IRQHandler [WEAK] + EXPORT DMA1_Channel2_IRQHandler [WEAK] + EXPORT DMA1_Channel3_IRQHandler [WEAK] + EXPORT DMA1_Channel4_IRQHandler [WEAK] + EXPORT DMA1_Channel5_IRQHandler [WEAK] + EXPORT DMA1_Channel6_IRQHandler [WEAK] + EXPORT DMA1_Channel7_IRQHandler [WEAK] + EXPORT ADC1_2_IRQHandler [WEAK] + EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK] + EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK] + EXPORT CAN1_RX1_IRQHandler [WEAK] + EXPORT CAN1_SCE_IRQHandler [WEAK] + EXPORT EXTI9_5_IRQHandler [WEAK] + EXPORT TIM1_BRK_IRQHandler [WEAK] + EXPORT TIM1_UP_IRQHandler [WEAK] + EXPORT TIM1_TRG_COM_IRQHandler [WEAK] + EXPORT TIM1_CC_IRQHandler [WEAK] + EXPORT TIM2_IRQHandler [WEAK] + EXPORT TIM3_IRQHandler [WEAK] + EXPORT TIM4_IRQHandler [WEAK] + EXPORT I2C1_EV_IRQHandler [WEAK] + EXPORT I2C1_ER_IRQHandler [WEAK] + EXPORT I2C2_EV_IRQHandler [WEAK] + EXPORT I2C2_ER_IRQHandler [WEAK] + EXPORT SPI1_IRQHandler [WEAK] + EXPORT SPI2_IRQHandler [WEAK] + EXPORT USART1_IRQHandler [WEAK] + EXPORT USART2_IRQHandler [WEAK] + EXPORT USART3_IRQHandler [WEAK] + EXPORT EXTI15_10_IRQHandler [WEAK] + EXPORT RTCAlarm_IRQHandler [WEAK] + EXPORT USBWakeUp_IRQHandler [WEAK] + +WWDG_IRQHandler +PVD_IRQHandler +TAMPER_IRQHandler +RTC_IRQHandler +FLASH_IRQHandler +RCC_IRQHandler +EXTI0_IRQHandler +EXTI1_IRQHandler +EXTI2_IRQHandler +EXTI3_IRQHandler +EXTI4_IRQHandler +DMA1_Channel1_IRQHandler +DMA1_Channel2_IRQHandler +DMA1_Channel3_IRQHandler +DMA1_Channel4_IRQHandler +DMA1_Channel5_IRQHandler +DMA1_Channel6_IRQHandler +DMA1_Channel7_IRQHandler +ADC1_2_IRQHandler +USB_HP_CAN1_TX_IRQHandler +USB_LP_CAN1_RX0_IRQHandler +CAN1_RX1_IRQHandler +CAN1_SCE_IRQHandler +EXTI9_5_IRQHandler +TIM1_BRK_IRQHandler +TIM1_UP_IRQHandler +TIM1_TRG_COM_IRQHandler +TIM1_CC_IRQHandler +TIM2_IRQHandler +TIM3_IRQHandler +TIM4_IRQHandler +I2C1_EV_IRQHandler +I2C1_ER_IRQHandler +I2C2_EV_IRQHandler +I2C2_ER_IRQHandler +SPI1_IRQHandler +SPI2_IRQHandler +USART1_IRQHandler +USART2_IRQHandler +USART3_IRQHandler +EXTI15_10_IRQHandler +RTCAlarm_IRQHandler +USBWakeUp_IRQHandler + + B . + + ENDP + + ALIGN + +;******************************************************************************* +; User Stack and Heap initialization +;******************************************************************************* + IF :DEF:__MICROLIB + + EXPORT __initial_sp + EXPORT __heap_base + EXPORT __heap_limit + + ELSE + + IMPORT __use_two_region_memory + EXPORT __user_initial_stackheap + +__user_initial_stackheap + + LDR R0, = Heap_Mem + LDR R1, =(Stack_Mem + Stack_Size) + LDR R2, = (Heap_Mem + Heap_Size) + LDR R3, = Stack_Mem + BX LR + + ALIGN + + ENDIF + + END + +;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE***** diff --git a/PjtKEIL_StepDeb_2/cligno.lst b/PjtKEIL_StepDeb_2/cligno.lst new file mode 100644 index 0000000..add2b1a --- /dev/null +++ b/PjtKEIL_StepDeb_2/cligno.lst @@ -0,0 +1,314 @@ + + + +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 diff --git a/PjtKEIL_StepDeb_2/startup-rvds.lst b/PjtKEIL_StepDeb_2/startup-rvds.lst new file mode 100644 index 0000000..0bf0fea --- /dev/null +++ b/PjtKEIL_StepDeb_2/startup-rvds.lst @@ -0,0 +1,1251 @@ + + + +ARM Macro Assembler Page 1 + + + 1 00000000 ;******************** (C) COPYRIGHT 2011 STMicroelectron + ics ******************** + 2 00000000 ;* File Name : startup_stm32f10x_md.s + 3 00000000 ;* Author : MCD Application Team + 4 00000000 ;* Version : V3.5.0 + 5 00000000 ;* Date : 11-March-2011 + 6 00000000 ;* Description : STM32F10x Medium Density Devices + vector table for MDK-ARM + 7 00000000 ;* toolchain. + 8 00000000 ;* This module performs: + 9 00000000 ;* - Set the initial SP + 10 00000000 ;* - Set the initial PC == Reset_Ha + ndler + 11 00000000 ;* - Set the vector table entries w + ith the exceptions ISR address + 12 00000000 ;* - Configure the clock system + 13 00000000 ;* - Branches to __main in the C li + brary (which eventually + 14 00000000 ;* calls main()). + 15 00000000 ;* After Reset the CortexM3 process + or is in Thread mode, + 16 00000000 ;* priority is Privileged, and the + Stack is set to Main. + 17 00000000 ;* <<< Use Configuration Wizard in Context Menu >>> + 18 00000000 ;******************************************************* + ************************ + 19 00000000 ; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS A + T PROVIDING CUSTOMERS + 20 00000000 ; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN OR + DER FOR THEM TO SAVE TIME. + 21 00000000 ; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIAB + LE FOR ANY DIRECT, + 22 00000000 ; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY + CLAIMS ARISING FROM THE + 23 00000000 ; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOM + ERS OF THE CODING + 24 00000000 ; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR + PRODUCTS. + 25 00000000 ;******************************************************* + ************************ + 26 00000000 + 27 00000000 ; Amount of memory (in bytes) allocated for Stack + 28 00000000 ; Tailor this value to your application needs + 29 00000000 ; Stack Configuration + 30 00000000 ; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> + 31 00000000 ; + 32 00000000 + 33 00000000 00000400 + Stack_Size + EQU 0x00000400 + 34 00000000 + 35 00000000 AREA STACK, NOINIT, READWRITE, ALIGN +=3 + 36 00000000 Stack_Mem + SPACE Stack_Size + 37 00000400 __initial_sp + 38 00000400 + 39 00000400 + 40 00000400 ; Heap Configuration + + + +ARM Macro Assembler Page 2 + + + 41 00000400 ; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> + 42 00000400 ; + 43 00000400 + 44 00000400 00000200 + Heap_Size + EQU 0x00000200 + 45 00000400 + 46 00000400 AREA HEAP, NOINIT, READWRITE, ALIGN= +3 + 47 00000000 __heap_base + 48 00000000 Heap_Mem + SPACE Heap_Size + 49 00000200 __heap_limit + 50 00000200 + 51 00000200 PRESERVE8 + 52 00000200 THUMB + 53 00000200 + 54 00000200 + 55 00000200 ; Vector Table Mapped to Address 0 at Reset + 56 00000200 AREA RESET, DATA, READONLY + 57 00000000 EXPORT __Vectors + 58 00000000 EXPORT __Vectors_End + 59 00000000 EXPORT __Vectors_Size + 60 00000000 + 61 00000000 00000000 + __Vectors + DCD __initial_sp ; Top of Stack + 62 00000004 00000000 DCD Reset_Handler ; Reset Handler + 63 00000008 00000000 DCD NMI_Handler ; NMI Handler + 64 0000000C 00000000 DCD HardFault_Handler ; Hard Fault + Handler + 65 00000010 00000000 DCD MemManage_Handler + ; MPU Fault Handler + + 66 00000014 00000000 DCD BusFault_Handler + ; Bus Fault Handler + + 67 00000018 00000000 DCD UsageFault_Handler ; Usage Faul + t Handler + 68 0000001C 00000000 DCD 0 ; Reserved + 69 00000020 00000000 DCD 0 ; Reserved + 70 00000024 00000000 DCD 0 ; Reserved + 71 00000028 00000000 DCD 0 ; Reserved + 72 0000002C 00000000 DCD SVC_Handler ; SVCall Handler + 73 00000030 00000000 DCD DebugMon_Handler ; Debug Monito + r Handler + 74 00000034 00000000 DCD 0 ; Reserved + 75 00000038 00000000 DCD PendSV_Handler ; PendSV Handler + + 76 0000003C 00000000 DCD SysTick_Handler + ; SysTick Handler + 77 00000040 + 78 00000040 ; External Interrupts + 79 00000040 00000000 DCD WWDG_IRQHandler + ; Window Watchdog + 80 00000044 00000000 DCD PVD_IRQHandler ; PVD through EX + TI Line detect + 81 00000048 00000000 DCD TAMPER_IRQHandler ; Tamper + 82 0000004C 00000000 DCD RTC_IRQHandler ; RTC + + + +ARM Macro Assembler Page 3 + + + 83 00000050 00000000 DCD FLASH_IRQHandler ; Flash + 84 00000054 00000000 DCD RCC_IRQHandler ; RCC + 85 00000058 00000000 DCD EXTI0_IRQHandler ; EXTI Line 0 + 86 0000005C 00000000 DCD EXTI1_IRQHandler ; EXTI Line 1 + 87 00000060 00000000 DCD EXTI2_IRQHandler ; EXTI Line 2 + 88 00000064 00000000 DCD EXTI3_IRQHandler ; EXTI Line 3 + 89 00000068 00000000 DCD EXTI4_IRQHandler ; EXTI Line 4 + 90 0000006C 00000000 DCD DMA1_Channel1_IRQHandler + ; DMA1 Channel 1 + 91 00000070 00000000 DCD DMA1_Channel2_IRQHandler + ; DMA1 Channel 2 + 92 00000074 00000000 DCD DMA1_Channel3_IRQHandler + ; DMA1 Channel 3 + 93 00000078 00000000 DCD DMA1_Channel4_IRQHandler + ; DMA1 Channel 4 + 94 0000007C 00000000 DCD DMA1_Channel5_IRQHandler + ; DMA1 Channel 5 + 95 00000080 00000000 DCD DMA1_Channel6_IRQHandler + ; DMA1 Channel 6 + 96 00000084 00000000 DCD DMA1_Channel7_IRQHandler + ; DMA1 Channel 7 + 97 00000088 00000000 DCD ADC1_2_IRQHandler ; ADC1_2 + 98 0000008C 00000000 DCD USB_HP_CAN1_TX_IRQHandler ; USB + High Priority or C + AN1 TX + 99 00000090 00000000 DCD USB_LP_CAN1_RX0_IRQHandler ; US + B Low Priority or + CAN1 RX0 + 100 00000094 00000000 DCD CAN1_RX1_IRQHandler ; CAN1 RX1 + 101 00000098 00000000 DCD CAN1_SCE_IRQHandler ; CAN1 SCE + 102 0000009C 00000000 DCD EXTI9_5_IRQHandler + ; EXTI Line 9..5 + 103 000000A0 00000000 DCD TIM1_BRK_IRQHandler + ; TIM1 Break + 104 000000A4 00000000 DCD TIM1_UP_IRQHandler + ; TIM1 Update + 105 000000A8 00000000 DCD TIM1_TRG_COM_IRQHandler ; TIM1 + Trigger and Commuta + tion + 106 000000AC 00000000 DCD TIM1_CC_IRQHandler ; TIM1 Captu + re Compare + 107 000000B0 00000000 DCD TIM2_IRQHandler ; TIM2 + 108 000000B4 00000000 DCD TIM3_IRQHandler ; TIM3 + 109 000000B8 00000000 DCD TIM4_IRQHandler ; TIM4 + 110 000000BC 00000000 DCD I2C1_EV_IRQHandler ; I2C1 Event + + 111 000000C0 00000000 DCD I2C1_ER_IRQHandler ; I2C1 Error + + 112 000000C4 00000000 DCD I2C2_EV_IRQHandler ; I2C2 Event + + 113 000000C8 00000000 DCD I2C2_ER_IRQHandler ; I2C2 Error + + 114 000000CC 00000000 DCD SPI1_IRQHandler ; SPI1 + 115 000000D0 00000000 DCD SPI2_IRQHandler ; SPI2 + 116 000000D4 00000000 DCD USART1_IRQHandler ; USART1 + 117 000000D8 00000000 DCD USART2_IRQHandler ; USART2 + 118 000000DC 00000000 DCD USART3_IRQHandler ; USART3 + 119 000000E0 00000000 DCD EXTI15_10_IRQHandler + ; EXTI Line 15..10 + + + +ARM Macro Assembler Page 4 + + + 120 000000E4 00000000 DCD RTCAlarm_IRQHandler ; RTC Alarm + through EXTI Line + 121 000000E8 00000000 DCD USBWakeUp_IRQHandler ; USB Wake + up from suspend + 122 000000EC __Vectors_End + 123 000000EC + 124 000000EC 000000EC + __Vectors_Size + EQU __Vectors_End - __Vectors + 125 000000EC + 126 000000EC AREA |.text|, CODE, READONLY + 127 00000000 + 128 00000000 ; Reset handler + 129 00000000 Reset_Handler + PROC + 130 00000000 EXPORT Reset_Handler [WEAK +] + 131 00000000 IMPORT __main + 132 00000000 + 133 00000000 480D LDR R0, =SystemInit + 134 00000002 4780 BLX R0 + 135 00000004 + 136 00000004 ; + 137 00000004 ; Enable UsageFault, MemFault and Busfault interrupts + 138 00000004 ; + 139 00000004 E000ED24 + _SHCSR EQU 0xE000ED24 ; SHCSR is located + at address 0xE000ED + 24 + 140 00000004 F8DF 0034 LDR.W R0, =_SHCSR + 141 00000008 6801 LDR R1, [R0] ; Read CPACR + 142 0000000A F441 21E0 ORR R1, R1, #(0x7 << 16) ; Set bits + 16,17,18 to enable + usagefault, busfau + lt, memfault interr + upts + 143 0000000E 6001 STR R1, [R0] ; Write back the mo + dified value to the + CPACR + 144 00000010 F3BF 8F4F DSB ; Wait for store to + complete + 145 00000014 + 146 00000014 ; + 147 00000014 ; Set priority grouping (PRIGROUP) in AIRCR to 3 (16 lev + els for group priority and 0 for subpriority) + 148 00000014 ; + 149 00000014 E000ED0C + _AIRCR EQU 0xE000ED0C + 150 00000014 05FA0300 + _AIRCR_VAL + EQU 0x05FA0300 + 151 00000014 F8DF 0028 LDR.W R0, =_AIRCR + 152 00000018 F8DF 1028 LDR.W R1, =_AIRCR_VAL + 153 0000001C 6001 STR R1,[R0] + 154 0000001E + 155 0000001E ; + 156 0000001E ; Finaly, jump to main function (void main (void)) + 157 0000001E ; + 158 0000001E 480A LDR R0, =__main + + + +ARM Macro Assembler Page 5 + + + 159 00000020 4700 BX R0 + 160 00000022 ENDP + 161 00000022 + 162 00000022 SystemInit + PROC + 163 00000022 EXPORT SystemInit [ +WEAK] + 164 00000022 4770 BX LR + 165 00000024 ENDP + 166 00000024 + 167 00000024 ; Dummy Exception Handlers (infinite loops which can be + modified) + 168 00000024 + 169 00000024 NMI_Handler + PROC + 170 00000024 EXPORT NMI_Handler [WEA +K] + 171 00000024 E7FE B . + 172 00000026 ENDP + 174 00000026 HardFault_Handler + PROC + 175 00000026 EXPORT HardFault_Handler [WEA +K] + 176 00000026 E7FE B . + 177 00000028 ENDP + 179 00000028 MemManage_Handler + PROC + 180 00000028 EXPORT MemManage_Handler [WEA +K] + 181 00000028 E7FE B . + 182 0000002A ENDP + 184 0000002A BusFault_Handler + PROC + 185 0000002A EXPORT BusFault_Handler [WEA +K] + 186 0000002A E7FE B . + 187 0000002C ENDP + 189 0000002C UsageFault_Handler + PROC + 190 0000002C EXPORT UsageFault_Handler [WEA +K] + 191 0000002C E7FE B . + 192 0000002E ENDP + 193 0000002E SVC_Handler + PROC + 194 0000002E EXPORT SVC_Handler [WEA +K] + 195 0000002E E7FE B . + 196 00000030 ENDP + 198 00000030 DebugMon_Handler + PROC + 199 00000030 EXPORT DebugMon_Handler [WEA +K] + 200 00000030 E7FE B . + 201 00000032 ENDP + 202 00000032 PendSV_Handler + PROC + 203 00000032 EXPORT PendSV_Handler [WEA +K] + + + +ARM Macro Assembler Page 6 + + + 204 00000032 E7FE B . + 205 00000034 ENDP + 206 00000034 SysTick_Handler + PROC + 207 00000034 EXPORT SysTick_Handler [WEA +K] + 208 00000034 E7FE B . + 209 00000036 ENDP + 210 00000036 + 211 00000036 Default_Handler + PROC + 212 00000036 + 213 00000036 EXPORT WWDG_IRQHandler [WEA +K] + 214 00000036 EXPORT PVD_IRQHandler [WEA +K] + 215 00000036 EXPORT TAMPER_IRQHandler [WEA +K] + 216 00000036 EXPORT RTC_IRQHandler [WEA +K] + 217 00000036 EXPORT FLASH_IRQHandler [WEA +K] + 218 00000036 EXPORT RCC_IRQHandler [WEA +K] + 219 00000036 EXPORT EXTI0_IRQHandler [WEA +K] + 220 00000036 EXPORT EXTI1_IRQHandler [WEA +K] + 221 00000036 EXPORT EXTI2_IRQHandler [WEA +K] + 222 00000036 EXPORT EXTI3_IRQHandler [WEA +K] + 223 00000036 EXPORT EXTI4_IRQHandler [WEA +K] + 224 00000036 EXPORT DMA1_Channel1_IRQHandler [WEA +K] + 225 00000036 EXPORT DMA1_Channel2_IRQHandler [WEA +K] + 226 00000036 EXPORT DMA1_Channel3_IRQHandler [WEA +K] + 227 00000036 EXPORT DMA1_Channel4_IRQHandler [WEA +K] + 228 00000036 EXPORT DMA1_Channel5_IRQHandler [WEA +K] + 229 00000036 EXPORT DMA1_Channel6_IRQHandler [WEA +K] + 230 00000036 EXPORT DMA1_Channel7_IRQHandler [WEA +K] + 231 00000036 EXPORT ADC1_2_IRQHandler [WEA +K] + 232 00000036 EXPORT USB_HP_CAN1_TX_IRQHandler [WEA +K] + 233 00000036 EXPORT USB_LP_CAN1_RX0_IRQHandler [WEA +K] + 234 00000036 EXPORT CAN1_RX1_IRQHandler [WEA +K] + 235 00000036 EXPORT CAN1_SCE_IRQHandler [WEA +K] + 236 00000036 EXPORT EXTI9_5_IRQHandler [WEA + + + +ARM Macro Assembler Page 7 + + +K] + 237 00000036 EXPORT TIM1_BRK_IRQHandler [WEA +K] + 238 00000036 EXPORT TIM1_UP_IRQHandler [WEA +K] + 239 00000036 EXPORT TIM1_TRG_COM_IRQHandler [WEA +K] + 240 00000036 EXPORT TIM1_CC_IRQHandler [WEA +K] + 241 00000036 EXPORT TIM2_IRQHandler [WEA +K] + 242 00000036 EXPORT TIM3_IRQHandler [WEA +K] + 243 00000036 EXPORT TIM4_IRQHandler [WEA +K] + 244 00000036 EXPORT I2C1_EV_IRQHandler [WEA +K] + 245 00000036 EXPORT I2C1_ER_IRQHandler [WEA +K] + 246 00000036 EXPORT I2C2_EV_IRQHandler [WEA +K] + 247 00000036 EXPORT I2C2_ER_IRQHandler [WEA +K] + 248 00000036 EXPORT SPI1_IRQHandler [WEA +K] + 249 00000036 EXPORT SPI2_IRQHandler [WEA +K] + 250 00000036 EXPORT USART1_IRQHandler [WEA +K] + 251 00000036 EXPORT USART2_IRQHandler [WEA +K] + 252 00000036 EXPORT USART3_IRQHandler [WEA +K] + 253 00000036 EXPORT EXTI15_10_IRQHandler [WEA +K] + 254 00000036 EXPORT RTCAlarm_IRQHandler [WEA +K] + 255 00000036 EXPORT USBWakeUp_IRQHandler [WEA +K] + 256 00000036 + 257 00000036 WWDG_IRQHandler + 258 00000036 PVD_IRQHandler + 259 00000036 TAMPER_IRQHandler + 260 00000036 RTC_IRQHandler + 261 00000036 FLASH_IRQHandler + 262 00000036 RCC_IRQHandler + 263 00000036 EXTI0_IRQHandler + 264 00000036 EXTI1_IRQHandler + 265 00000036 EXTI2_IRQHandler + 266 00000036 EXTI3_IRQHandler + 267 00000036 EXTI4_IRQHandler + 268 00000036 DMA1_Channel1_IRQHandler + 269 00000036 DMA1_Channel2_IRQHandler + 270 00000036 DMA1_Channel3_IRQHandler + 271 00000036 DMA1_Channel4_IRQHandler + 272 00000036 DMA1_Channel5_IRQHandler + 273 00000036 DMA1_Channel6_IRQHandler + 274 00000036 DMA1_Channel7_IRQHandler + 275 00000036 ADC1_2_IRQHandler + + + +ARM Macro Assembler Page 8 + + + 276 00000036 USB_HP_CAN1_TX_IRQHandler + 277 00000036 USB_LP_CAN1_RX0_IRQHandler + 278 00000036 CAN1_RX1_IRQHandler + 279 00000036 CAN1_SCE_IRQHandler + 280 00000036 EXTI9_5_IRQHandler + 281 00000036 TIM1_BRK_IRQHandler + 282 00000036 TIM1_UP_IRQHandler + 283 00000036 TIM1_TRG_COM_IRQHandler + 284 00000036 TIM1_CC_IRQHandler + 285 00000036 TIM2_IRQHandler + 286 00000036 TIM3_IRQHandler + 287 00000036 TIM4_IRQHandler + 288 00000036 I2C1_EV_IRQHandler + 289 00000036 I2C1_ER_IRQHandler + 290 00000036 I2C2_EV_IRQHandler + 291 00000036 I2C2_ER_IRQHandler + 292 00000036 SPI1_IRQHandler + 293 00000036 SPI2_IRQHandler + 294 00000036 USART1_IRQHandler + 295 00000036 USART2_IRQHandler + 296 00000036 USART3_IRQHandler + 297 00000036 EXTI15_10_IRQHandler + 298 00000036 RTCAlarm_IRQHandler + 299 00000036 USBWakeUp_IRQHandler + 300 00000036 + 301 00000036 E7FE B . + 302 00000038 + 303 00000038 ENDP + 304 00000038 + 305 00000038 ALIGN + 306 00000038 + 307 00000038 ;******************************************************* + ************************ + 308 00000038 ; User Stack and Heap initialization + 309 00000038 ;******************************************************* + ************************ + 310 00000038 IF :DEF:__MICROLIB + 311 00000038 + 312 00000038 EXPORT __initial_sp + 313 00000038 EXPORT __heap_base + 314 00000038 EXPORT __heap_limit + 315 00000038 + 316 00000038 ELSE + 331 ENDIF + 332 00000038 + 333 00000038 END + 00000000 + E000ED24 + E000ED0C + 05FA0300 + 00000000 +Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw +ork --depend=.\obj\startup-rvds.d -o.\obj\startup-rvds.o -I.\RTE\_CibleSondeKEI +L -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Progr +amdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EV +AL SETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA +534" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine=" +_RTE_ SETA 1" --list=startup-rvds.lst Src\startup-rvds.s + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +STACK 00000000 + +Symbol: STACK + Definitions + At line 35 in file Src\startup-rvds.s + Uses + None +Comment: STACK unused +Stack_Mem 00000000 + +Symbol: Stack_Mem + Definitions + At line 36 in file Src\startup-rvds.s + Uses + None +Comment: Stack_Mem unused +__initial_sp 00000400 + +Symbol: __initial_sp + Definitions + At line 37 in file Src\startup-rvds.s + Uses + At line 61 in file Src\startup-rvds.s + At line 312 in file Src\startup-rvds.s + +3 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +HEAP 00000000 + +Symbol: HEAP + Definitions + At line 46 in file Src\startup-rvds.s + Uses + None +Comment: HEAP unused +Heap_Mem 00000000 + +Symbol: Heap_Mem + Definitions + At line 48 in file Src\startup-rvds.s + Uses + None +Comment: Heap_Mem unused +__heap_base 00000000 + +Symbol: __heap_base + Definitions + At line 47 in file Src\startup-rvds.s + Uses + At line 313 in file Src\startup-rvds.s +Comment: __heap_base used once +__heap_limit 00000200 + +Symbol: __heap_limit + Definitions + At line 49 in file Src\startup-rvds.s + Uses + At line 314 in file Src\startup-rvds.s +Comment: __heap_limit used once +4 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +RESET 00000000 + +Symbol: RESET + Definitions + At line 56 in file Src\startup-rvds.s + Uses + None +Comment: RESET unused +__Vectors 00000000 + +Symbol: __Vectors + Definitions + At line 61 in file Src\startup-rvds.s + Uses + At line 57 in file Src\startup-rvds.s + At line 124 in file Src\startup-rvds.s + +__Vectors_End 000000EC + +Symbol: __Vectors_End + Definitions + At line 122 in file Src\startup-rvds.s + Uses + At line 58 in file Src\startup-rvds.s + At line 124 in file Src\startup-rvds.s + +3 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Relocatable symbols + +.text 00000000 + +Symbol: .text + Definitions + At line 126 in file Src\startup-rvds.s + Uses + None +Comment: .text unused +ADC1_2_IRQHandler 00000036 + +Symbol: ADC1_2_IRQHandler + Definitions + At line 275 in file Src\startup-rvds.s + Uses + At line 97 in file Src\startup-rvds.s + At line 231 in file Src\startup-rvds.s + +BusFault_Handler 0000002A + +Symbol: BusFault_Handler + Definitions + At line 184 in file Src\startup-rvds.s + Uses + At line 66 in file Src\startup-rvds.s + At line 185 in file Src\startup-rvds.s + +CAN1_RX1_IRQHandler 00000036 + +Symbol: CAN1_RX1_IRQHandler + Definitions + At line 278 in file Src\startup-rvds.s + Uses + At line 100 in file Src\startup-rvds.s + At line 234 in file Src\startup-rvds.s + +CAN1_SCE_IRQHandler 00000036 + +Symbol: CAN1_SCE_IRQHandler + Definitions + At line 279 in file Src\startup-rvds.s + Uses + At line 101 in file Src\startup-rvds.s + At line 235 in file Src\startup-rvds.s + +DMA1_Channel1_IRQHandler 00000036 + +Symbol: DMA1_Channel1_IRQHandler + Definitions + At line 268 in file Src\startup-rvds.s + Uses + At line 90 in file Src\startup-rvds.s + At line 224 in file Src\startup-rvds.s + +DMA1_Channel2_IRQHandler 00000036 + +Symbol: DMA1_Channel2_IRQHandler + Definitions + At line 269 in file Src\startup-rvds.s + Uses + + + +ARM Macro Assembler Page 2 Alphabetic symbol ordering +Relocatable symbols + + At line 91 in file Src\startup-rvds.s + At line 225 in file Src\startup-rvds.s + +DMA1_Channel3_IRQHandler 00000036 + +Symbol: DMA1_Channel3_IRQHandler + Definitions + At line 270 in file Src\startup-rvds.s + Uses + At line 92 in file Src\startup-rvds.s + At line 226 in file Src\startup-rvds.s + +DMA1_Channel4_IRQHandler 00000036 + +Symbol: DMA1_Channel4_IRQHandler + Definitions + At line 271 in file Src\startup-rvds.s + Uses + At line 93 in file Src\startup-rvds.s + At line 227 in file Src\startup-rvds.s + +DMA1_Channel5_IRQHandler 00000036 + +Symbol: DMA1_Channel5_IRQHandler + Definitions + At line 272 in file Src\startup-rvds.s + Uses + At line 94 in file Src\startup-rvds.s + At line 228 in file Src\startup-rvds.s + +DMA1_Channel6_IRQHandler 00000036 + +Symbol: DMA1_Channel6_IRQHandler + Definitions + At line 273 in file Src\startup-rvds.s + Uses + At line 95 in file Src\startup-rvds.s + At line 229 in file Src\startup-rvds.s + +DMA1_Channel7_IRQHandler 00000036 + +Symbol: DMA1_Channel7_IRQHandler + Definitions + At line 274 in file Src\startup-rvds.s + Uses + At line 96 in file Src\startup-rvds.s + At line 230 in file Src\startup-rvds.s + +DebugMon_Handler 00000030 + +Symbol: DebugMon_Handler + Definitions + At line 198 in file Src\startup-rvds.s + Uses + At line 73 in file Src\startup-rvds.s + At line 199 in file Src\startup-rvds.s + +Default_Handler 00000036 + + + + +ARM Macro Assembler Page 3 Alphabetic symbol ordering +Relocatable symbols + +Symbol: Default_Handler + Definitions + At line 211 in file Src\startup-rvds.s + Uses + None +Comment: Default_Handler unused +EXTI0_IRQHandler 00000036 + +Symbol: EXTI0_IRQHandler + Definitions + At line 263 in file Src\startup-rvds.s + Uses + At line 85 in file Src\startup-rvds.s + At line 219 in file Src\startup-rvds.s + +EXTI15_10_IRQHandler 00000036 + +Symbol: EXTI15_10_IRQHandler + Definitions + At line 297 in file Src\startup-rvds.s + Uses + At line 119 in file Src\startup-rvds.s + At line 253 in file Src\startup-rvds.s + +EXTI1_IRQHandler 00000036 + +Symbol: EXTI1_IRQHandler + Definitions + At line 264 in file Src\startup-rvds.s + Uses + At line 86 in file Src\startup-rvds.s + At line 220 in file Src\startup-rvds.s + +EXTI2_IRQHandler 00000036 + +Symbol: EXTI2_IRQHandler + Definitions + At line 265 in file Src\startup-rvds.s + Uses + At line 87 in file Src\startup-rvds.s + At line 221 in file Src\startup-rvds.s + +EXTI3_IRQHandler 00000036 + +Symbol: EXTI3_IRQHandler + Definitions + At line 266 in file Src\startup-rvds.s + Uses + At line 88 in file Src\startup-rvds.s + At line 222 in file Src\startup-rvds.s + +EXTI4_IRQHandler 00000036 + +Symbol: EXTI4_IRQHandler + Definitions + At line 267 in file Src\startup-rvds.s + Uses + At line 89 in file Src\startup-rvds.s + At line 223 in file Src\startup-rvds.s + + + +ARM Macro Assembler Page 4 Alphabetic symbol ordering +Relocatable symbols + + +EXTI9_5_IRQHandler 00000036 + +Symbol: EXTI9_5_IRQHandler + Definitions + At line 280 in file Src\startup-rvds.s + Uses + At line 102 in file Src\startup-rvds.s + At line 236 in file Src\startup-rvds.s + +FLASH_IRQHandler 00000036 + +Symbol: FLASH_IRQHandler + Definitions + At line 261 in file Src\startup-rvds.s + Uses + At line 83 in file Src\startup-rvds.s + At line 217 in file Src\startup-rvds.s + +HardFault_Handler 00000026 + +Symbol: HardFault_Handler + Definitions + At line 174 in file Src\startup-rvds.s + Uses + At line 64 in file Src\startup-rvds.s + At line 175 in file Src\startup-rvds.s + +I2C1_ER_IRQHandler 00000036 + +Symbol: I2C1_ER_IRQHandler + Definitions + At line 289 in file Src\startup-rvds.s + Uses + At line 111 in file Src\startup-rvds.s + At line 245 in file Src\startup-rvds.s + +I2C1_EV_IRQHandler 00000036 + +Symbol: I2C1_EV_IRQHandler + Definitions + At line 288 in file Src\startup-rvds.s + Uses + At line 110 in file Src\startup-rvds.s + At line 244 in file Src\startup-rvds.s + +I2C2_ER_IRQHandler 00000036 + +Symbol: I2C2_ER_IRQHandler + Definitions + At line 291 in file Src\startup-rvds.s + Uses + At line 113 in file Src\startup-rvds.s + At line 247 in file Src\startup-rvds.s + +I2C2_EV_IRQHandler 00000036 + +Symbol: I2C2_EV_IRQHandler + Definitions + + + +ARM Macro Assembler Page 5 Alphabetic symbol ordering +Relocatable symbols + + At line 290 in file Src\startup-rvds.s + Uses + At line 112 in file Src\startup-rvds.s + At line 246 in file Src\startup-rvds.s + +MemManage_Handler 00000028 + +Symbol: MemManage_Handler + Definitions + At line 179 in file Src\startup-rvds.s + Uses + At line 65 in file Src\startup-rvds.s + At line 180 in file Src\startup-rvds.s + +NMI_Handler 00000024 + +Symbol: NMI_Handler + Definitions + At line 169 in file Src\startup-rvds.s + Uses + At line 63 in file Src\startup-rvds.s + At line 170 in file Src\startup-rvds.s + +PVD_IRQHandler 00000036 + +Symbol: PVD_IRQHandler + Definitions + At line 258 in file Src\startup-rvds.s + Uses + At line 80 in file Src\startup-rvds.s + At line 214 in file Src\startup-rvds.s + +PendSV_Handler 00000032 + +Symbol: PendSV_Handler + Definitions + At line 202 in file Src\startup-rvds.s + Uses + At line 75 in file Src\startup-rvds.s + At line 203 in file Src\startup-rvds.s + +RCC_IRQHandler 00000036 + +Symbol: RCC_IRQHandler + Definitions + At line 262 in file Src\startup-rvds.s + Uses + At line 84 in file Src\startup-rvds.s + At line 218 in file Src\startup-rvds.s + +RTCAlarm_IRQHandler 00000036 + +Symbol: RTCAlarm_IRQHandler + Definitions + At line 298 in file Src\startup-rvds.s + Uses + At line 120 in file Src\startup-rvds.s + At line 254 in file Src\startup-rvds.s + + + + +ARM Macro Assembler Page 6 Alphabetic symbol ordering +Relocatable symbols + +RTC_IRQHandler 00000036 + +Symbol: RTC_IRQHandler + Definitions + At line 260 in file Src\startup-rvds.s + Uses + At line 82 in file Src\startup-rvds.s + At line 216 in file Src\startup-rvds.s + +Reset_Handler 00000000 + +Symbol: Reset_Handler + Definitions + At line 129 in file Src\startup-rvds.s + Uses + At line 62 in file Src\startup-rvds.s + At line 130 in file Src\startup-rvds.s + +SPI1_IRQHandler 00000036 + +Symbol: SPI1_IRQHandler + Definitions + At line 292 in file Src\startup-rvds.s + Uses + At line 114 in file Src\startup-rvds.s + At line 248 in file Src\startup-rvds.s + +SPI2_IRQHandler 00000036 + +Symbol: SPI2_IRQHandler + Definitions + At line 293 in file Src\startup-rvds.s + Uses + At line 115 in file Src\startup-rvds.s + At line 249 in file Src\startup-rvds.s + +SVC_Handler 0000002E + +Symbol: SVC_Handler + Definitions + At line 193 in file Src\startup-rvds.s + Uses + At line 72 in file Src\startup-rvds.s + At line 194 in file Src\startup-rvds.s + +SysTick_Handler 00000034 + +Symbol: SysTick_Handler + Definitions + At line 206 in file Src\startup-rvds.s + Uses + At line 76 in file Src\startup-rvds.s + At line 207 in file Src\startup-rvds.s + +SystemInit 00000022 + +Symbol: SystemInit + Definitions + At line 162 in file Src\startup-rvds.s + + + +ARM Macro Assembler Page 7 Alphabetic symbol ordering +Relocatable symbols + + Uses + At line 133 in file Src\startup-rvds.s + At line 163 in file Src\startup-rvds.s + +TAMPER_IRQHandler 00000036 + +Symbol: TAMPER_IRQHandler + Definitions + At line 259 in file Src\startup-rvds.s + Uses + At line 81 in file Src\startup-rvds.s + At line 215 in file Src\startup-rvds.s + +TIM1_BRK_IRQHandler 00000036 + +Symbol: TIM1_BRK_IRQHandler + Definitions + At line 281 in file Src\startup-rvds.s + Uses + At line 103 in file Src\startup-rvds.s + At line 237 in file Src\startup-rvds.s + +TIM1_CC_IRQHandler 00000036 + +Symbol: TIM1_CC_IRQHandler + Definitions + At line 284 in file Src\startup-rvds.s + Uses + At line 106 in file Src\startup-rvds.s + At line 240 in file Src\startup-rvds.s + +TIM1_TRG_COM_IRQHandler 00000036 + +Symbol: TIM1_TRG_COM_IRQHandler + Definitions + At line 283 in file Src\startup-rvds.s + Uses + At line 105 in file Src\startup-rvds.s + At line 239 in file Src\startup-rvds.s + +TIM1_UP_IRQHandler 00000036 + +Symbol: TIM1_UP_IRQHandler + Definitions + At line 282 in file Src\startup-rvds.s + Uses + At line 104 in file Src\startup-rvds.s + At line 238 in file Src\startup-rvds.s + +TIM2_IRQHandler 00000036 + +Symbol: TIM2_IRQHandler + Definitions + At line 285 in file Src\startup-rvds.s + Uses + At line 107 in file Src\startup-rvds.s + At line 241 in file Src\startup-rvds.s + +TIM3_IRQHandler 00000036 + + + +ARM Macro Assembler Page 8 Alphabetic symbol ordering +Relocatable symbols + + +Symbol: TIM3_IRQHandler + Definitions + At line 286 in file Src\startup-rvds.s + Uses + At line 108 in file Src\startup-rvds.s + At line 242 in file Src\startup-rvds.s + +TIM4_IRQHandler 00000036 + +Symbol: TIM4_IRQHandler + Definitions + At line 287 in file Src\startup-rvds.s + Uses + At line 109 in file Src\startup-rvds.s + At line 243 in file Src\startup-rvds.s + +USART1_IRQHandler 00000036 + +Symbol: USART1_IRQHandler + Definitions + At line 294 in file Src\startup-rvds.s + Uses + At line 116 in file Src\startup-rvds.s + At line 250 in file Src\startup-rvds.s + +USART2_IRQHandler 00000036 + +Symbol: USART2_IRQHandler + Definitions + At line 295 in file Src\startup-rvds.s + Uses + At line 117 in file Src\startup-rvds.s + At line 251 in file Src\startup-rvds.s + +USART3_IRQHandler 00000036 + +Symbol: USART3_IRQHandler + Definitions + At line 296 in file Src\startup-rvds.s + Uses + At line 118 in file Src\startup-rvds.s + At line 252 in file Src\startup-rvds.s + +USBWakeUp_IRQHandler 00000036 + +Symbol: USBWakeUp_IRQHandler + Definitions + At line 299 in file Src\startup-rvds.s + Uses + At line 121 in file Src\startup-rvds.s + At line 255 in file Src\startup-rvds.s + +USB_HP_CAN1_TX_IRQHandler 00000036 + +Symbol: USB_HP_CAN1_TX_IRQHandler + Definitions + At line 276 in file Src\startup-rvds.s + Uses + + + +ARM Macro Assembler Page 9 Alphabetic symbol ordering +Relocatable symbols + + At line 98 in file Src\startup-rvds.s + At line 232 in file Src\startup-rvds.s + +USB_LP_CAN1_RX0_IRQHandler 00000036 + +Symbol: USB_LP_CAN1_RX0_IRQHandler + Definitions + At line 277 in file Src\startup-rvds.s + Uses + At line 99 in file Src\startup-rvds.s + At line 233 in file Src\startup-rvds.s + +UsageFault_Handler 0000002C + +Symbol: UsageFault_Handler + Definitions + At line 189 in file Src\startup-rvds.s + Uses + At line 67 in file Src\startup-rvds.s + At line 190 in file Src\startup-rvds.s + +WWDG_IRQHandler 00000036 + +Symbol: WWDG_IRQHandler + Definitions + At line 257 in file Src\startup-rvds.s + Uses + At line 79 in file Src\startup-rvds.s + At line 213 in file Src\startup-rvds.s + +56 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +Absolute symbols + +Heap_Size 00000200 + +Symbol: Heap_Size + Definitions + At line 44 in file Src\startup-rvds.s + Uses + At line 48 in file Src\startup-rvds.s +Comment: Heap_Size used once +Stack_Size 00000400 + +Symbol: Stack_Size + Definitions + At line 33 in file Src\startup-rvds.s + Uses + At line 36 in file Src\startup-rvds.s +Comment: Stack_Size used once +_AIRCR E000ED0C + +Symbol: _AIRCR + Definitions + At line 149 in file Src\startup-rvds.s + Uses + At line 151 in file Src\startup-rvds.s +Comment: _AIRCR used once +_AIRCR_VAL 05FA0300 + +Symbol: _AIRCR_VAL + Definitions + At line 150 in file Src\startup-rvds.s + Uses + At line 152 in file Src\startup-rvds.s +Comment: _AIRCR_VAL used once +_SHCSR E000ED24 + +Symbol: _SHCSR + Definitions + At line 139 in file Src\startup-rvds.s + Uses + At line 140 in file Src\startup-rvds.s +Comment: _SHCSR used once +__Vectors_Size 000000EC + +Symbol: __Vectors_Size + Definitions + At line 124 in file Src\startup-rvds.s + Uses + At line 59 in file Src\startup-rvds.s +Comment: __Vectors_Size used once +6 symbols + + + +ARM Macro Assembler Page 1 Alphabetic symbol ordering +External symbols + +__main 00000000 + +Symbol: __main + Definitions + At line 131 in file Src\startup-rvds.s + Uses + At line 158 in file Src\startup-rvds.s +Comment: __main used once +1 symbol +410 symbols in table diff --git a/README.md b/README.md index 56915c9..be5b136 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # BE CHTI # LEJEUNE LACROIX -## Partie 1: +## Partie 1 : +Terminée +## Partie 2 : +Terminée + +## Partie Son : +Début du projet assembleur BE CHTI, partie encore non terminée. Notre boucle continue à lire la RAM après la fin du fichier du son.