From a5f835a72142aeb6e820927bb1f421fe003b6376 Mon Sep 17 00:00:00 2001 From: foussats Date: Wed, 11 Nov 2020 17:02:04 +0100 Subject: [PATCH] emetteur_rf done --- .../MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.axf | Bin 420408 -> 484284 bytes .../NUCLEO-F103RB/NUCLEO-F103RB.build_log.htm | 11 +- .../MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.htm | 166 ++++++---- .../MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.map | 290 +++++++++--------- .../NUCLEO-F103RB/Project_Simulateur.dep | 12 +- .../MDK-ARM/NUCLEO-F103RB/emetteur_rf.crf | Bin 414755 -> 414502 bytes .../MDK-ARM/NUCLEO-F103RB/emetteur_rf.o | Bin 421084 -> 419868 bytes keil_project/MDK-ARM/NUCLEO-F103RB/main.crf | Bin 394163 -> 434765 bytes keil_project/MDK-ARM/NUCLEO-F103RB/main.d | 4 + keil_project/MDK-ARM/NUCLEO-F103RB/main.o | Bin 409120 -> 435928 bytes keil_project/MDK-ARM/Project.uvguix.momof | 82 ++--- keil_project/MDK-ARM/Project.uvoptx | 34 +- keil_project/Services/emetteur_rf.c | 44 +-- keil_project/Services/emetteur_rf.h | 4 +- keil_project/Src/main.c | 16 +- 15 files changed, 371 insertions(+), 292 deletions(-) diff --git a/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.axf b/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.axf index 89908ccc0faac5430a7ae8975c9279d8cd373fc4..ec939d2127bc85c8e02a06865d0ef66f13976dd5 100644 GIT binary patch delta 45528 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 OTSL8v{z0!TKK~C(PWB!E delta 9347 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 diff --git a/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.build_log.htm b/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.build_log.htm index 5330073..c0f09ee 100644 --- a/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.build_log.htm +++ b/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.build_log.htm @@ -27,10 +27,15 @@ Project File Date: 11/11/2020

Output:

*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Build target 'Simulateur' -compiling stm32f1xx_ll_usart.c... +compiling emetteur_rf.c... +..\Services\emetteur_rf.h(9): warning: #1295-D: Deprecated declaration emetteur_rf_init - give arg types + void emetteur_rf_init(); +..\Services\emetteur_rf.h(14): warning: #1-D: last line of file ends without a newline + #endif +..\Services\emetteur_rf.c: 2 warnings, 0 errors linking... -Program Size: Code=820 RO-data=268 RW-data=32 ZI-data=1024 -"NUCLEO-F103RB\NUCLEO-F103RB.axf" - 0 Error(s), 0 Warning(s). +Program Size: Code=2264 RO-data=292 RW-data=20 ZI-data=1028 +"NUCLEO-F103RB\NUCLEO-F103RB.axf" - 0 Error(s), 2 Warning(s).

Software Packages used:

diff --git a/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.htm b/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.htm index 2ae57b6..708922b 100644 --- a/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.htm +++ b/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.htm @@ -3,11 +3,11 @@ Static Call Graph - [NUCLEO-F103RB\NUCLEO-F103RB.axf]

Static Call Graph for image NUCLEO-F103RB\NUCLEO-F103RB.axf


-

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Wed Nov 11 16:28:11 2020 +

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Wed Nov 11 16:59:22 2020

-

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

+

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

Call chain for Maximum Stack Depth:

-main ⇒ Chrono_Background ⇒ Chrono_Stop ⇒ MyTimer_Stop +main ⇒ emetteur_rf_init ⇒ LL_USART_Init ⇒ LL_RCC_GetSystemClocksFreq ⇒ RCC_GetSystemClockFreq

Mutually Recursive functions @@ -90,7 +90,7 @@ Global Symbols

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

  • startup_stm32f103xb.o(.text)
-

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

_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 @@ -100,15 +100,15 @@ Global Symbols

    [Called By]
    • >>   __scatterload
    -

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

    _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_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)) +

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

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

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

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

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

    Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
    [Address Reference Count : 1]

    • startup_stm32f103xb.o(RESET) @@ -303,69 +303,75 @@ Global Symbols
      [Called By]
      • >>   _main_scatterload
      -

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

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

      Chrono_Background (Thumb, 44 bytes, Stack size 8 bytes, chrono.o(i.Chrono_Background)) -

      [Stack]

      • Max Depth = 24
      • Call Chain = Chrono_Background ⇒ Chrono_Stop ⇒ MyTimer_Stop +

        LL_GPIO_Init (Thumb, 442 bytes, Stack size 24 bytes, stm32f1xx_ll_gpio.o(i.LL_GPIO_Init)) +

        [Stack]

        • Max Depth = 24
        • Call Chain = LL_GPIO_Init
        -
        [Calls]
        • >>   Chrono_Stop -
        • >>   Chrono_Start -
        • >>   Chrono_Reset -
        • >>   LL_GPIO_IsInputPinSet +
          [Calls]
          • >>   assert_failed
          -
          [Called By]
          • >>   main +
            [Called By]
            • >>   emetteur_rf_init
            -

            Chrono_Reset (Thumb, 22 bytes, Stack size 8 bytes, chrono.o(i.Chrono_Reset)) -

            [Stack]

            • Max Depth = 16
            • Call Chain = Chrono_Reset ⇒ MyTimer_Stop -
            -
            [Calls]
            • >>   MyTimer_Stop -
            -
            [Called By]
            • >>   Chrono_Background +

              LL_Init1msTick (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_ll_utils.o(i.LL_Init1msTick)) +

              [Called By]

              • >>   SystemClock_Config
              -

              Chrono_Start (Thumb, 18 bytes, Stack size 8 bytes, chrono.o(i.Chrono_Start)) -

              [Stack]

              • Max Depth = 8
              • Call Chain = Chrono_Start +

                LL_RCC_GetSystemClocksFreq (Thumb, 36 bytes, Stack size 8 bytes, stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq)) +

                [Stack]

                • Max Depth = 16
                • Call Chain = LL_RCC_GetSystemClocksFreq ⇒ RCC_GetSystemClockFreq
                -
                [Calls]
                • >>   MyTimer_Start +
                  [Calls]
                  • >>   RCC_GetSystemClockFreq +
                  • >>   RCC_GetPCLK2ClockFreq +
                  • >>   RCC_GetPCLK1ClockFreq +
                  • >>   RCC_GetHCLKClockFreq
                  -
                  [Called By]
                  • >>   Chrono_Background +
                    [Called By]
                    • >>   LL_USART_Init
                    -

                    Chrono_Stop (Thumb, 18 bytes, Stack size 8 bytes, chrono.o(i.Chrono_Stop)) -

                    [Stack]

                    • Max Depth = 16
                    • Call Chain = Chrono_Stop ⇒ MyTimer_Stop -
                    -
                    [Calls]
                    • >>   MyTimer_Stop -
                    -
                    [Called By]
                    • >>   Chrono_Background +

                      LL_SetSystemCoreClock (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)) +

                      [Called By]

                      • >>   SystemClock_Config
                      -

                      LL_Init1msTick (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_ll_utils.o(i.LL_Init1msTick)) -

                      [Called By]

                      • >>   SystemClock_Config +

                        LL_USART_Init (Thumb, 376 bytes, Stack size 40 bytes, stm32f1xx_ll_usart.o(i.LL_USART_Init)) +

                        [Stack]

                        • Max Depth = 56
                        • Call Chain = LL_USART_Init ⇒ LL_RCC_GetSystemClocksFreq ⇒ RCC_GetSystemClockFreq +
                        +
                        [Calls]
                        • >>   LL_RCC_GetSystemClocksFreq +
                        • >>   assert_failed +
                        • >>   LL_USART_SetBaudRate +
                        • >>   LL_USART_IsEnabled +
                        +
                        [Called By]
                        • >>   emetteur_rf_init
                        -

                        LL_SetSystemCoreClock (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)) -

                        [Called By]

                        • >>   SystemClock_Config +

                          RCC_GetHCLKClockFreq (Thumb, 24 bytes, Stack size 0 bytes, stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq)) +

                          [Called By]

                          • >>   LL_RCC_GetSystemClocksFreq
                          -

                          MyTimer_Start (Thumb, 14 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Start)) -

                          [Called By]

                          • >>   Chrono_Start +

                            RCC_GetPCLK1ClockFreq (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq)) +

                            [Called By]

                            • >>   LL_RCC_GetSystemClocksFreq
                            -

                            MyTimer_Stop (Thumb, 12 bytes, Stack size 8 bytes, mytimer.o(i.MyTimer_Stop)) -

                            [Stack]

                            • Max Depth = 8
                            • Call Chain = MyTimer_Stop -
                            -
                            [Calls]
                            • >>   LL_TIM_DisableCounter -
                            -
                            [Called By]
                            • >>   Chrono_Stop -
                            • >>   Chrono_Reset +

                              RCC_GetPCLK2ClockFreq (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq)) +

                              [Called By]

                              • >>   LL_RCC_GetSystemClocksFreq
                              -

                              SystemClock_Config (Thumb, 226 bytes, Stack size 8 bytes, main.o(i.SystemClock_Config)) +

                              RCC_GetSystemClockFreq (Thumb, 52 bytes, Stack size 8 bytes, stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq)) +

                              [Stack]

                              • Max Depth = 8
                              • Call Chain = RCC_GetSystemClockFreq +
                              +
                              [Calls]
                              • >>   RCC_PLL_GetFreqDomain_SYS +
                              +
                              [Called By]
                              • >>   LL_RCC_GetSystemClocksFreq +
                              + +

                              RCC_PLL_GetFreqDomain_SYS (Thumb, 76 bytes, Stack size 0 bytes, stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS)) +

                              [Called By]

                              • >>   RCC_GetSystemClockFreq +
                              + +

                              SystemClock_Config (Thumb, 226 bytes, Stack size 8 bytes, main.o(i.SystemClock_Config))

                              [Stack]

                              • Max Depth = 8
                              • Call Chain = SystemClock_Config
                              -
                              [Calls]
                              • >>   LL_SetSystemCoreClock -
                              • >>   LL_Init1msTick +
                                [Calls]
                                • >>   LL_SetSystemCoreClock +
                                • >>   LL_Init1msTick

                                [Called By]
                                • >>   main
                                @@ -376,61 +382,91 @@ Global Symbols

                                TIM1_UP_IRQHandler (Thumb, 16 bytes, Stack size 8 bytes, mytimer.o(i.TIM1_UP_IRQHandler))

                                [Stack]

                                • Max Depth = 8
                                • Call Chain = TIM1_UP_IRQHandler
                                -
                                [Calls]
                                • >>   LL_TIM_ClearFlag_UPDATE +
                                  [Calls]
                                  • >>   LL_TIM_ClearFlag_UPDATE

                                  [Address Reference Count : 1]
                                  • startup_stm32f103xb.o(RESET)

                                  TIM2_IRQHandler (Thumb, 18 bytes, Stack size 8 bytes, mytimer.o(i.TIM2_IRQHandler))

                                  [Stack]

                                  • Max Depth = 8
                                  • Call Chain = TIM2_IRQHandler
                                  -
                                  [Calls]
                                  • >>   LL_TIM_ClearFlag_UPDATE +
                                    [Calls]
                                    • >>   LL_TIM_ClearFlag_UPDATE

                                    [Address Reference Count : 1]
                                    • startup_stm32f103xb.o(RESET)

                                    TIM3_IRQHandler (Thumb, 16 bytes, Stack size 8 bytes, mytimer.o(i.TIM3_IRQHandler))

                                    [Stack]

                                    • Max Depth = 8
                                    • Call Chain = TIM3_IRQHandler
                                    -
                                    [Calls]
                                    • >>   LL_TIM_ClearFlag_UPDATE +
                                      [Calls]
                                      • >>   LL_TIM_ClearFlag_UPDATE

                                      [Address Reference Count : 1]
                                      • startup_stm32f103xb.o(RESET)

                                      TIM4_IRQHandler (Thumb, 16 bytes, Stack size 8 bytes, mytimer.o(i.TIM4_IRQHandler))

                                      [Stack]

                                      • Max Depth = 8
                                      • Call Chain = TIM4_IRQHandler
                                      -
                                      [Calls]
                                      • >>   LL_TIM_ClearFlag_UPDATE +
                                        [Calls]
                                        • >>   LL_TIM_ClearFlag_UPDATE

                                        [Address Reference Count : 1]
                                        • startup_stm32f103xb.o(RESET)
                                        -

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

                                        __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_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) +

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

                                        main (Thumb, 12 bytes, Stack size 0 bytes, main.o(i.main)) -

                                        [Stack]

                                        • Max Depth = 24
                                        • Call Chain = main ⇒ Chrono_Background ⇒ Chrono_Stop ⇒ MyTimer_Stop +

                                          assert_failed (Thumb, 4 bytes, Stack size 0 bytes, main.o(i.assert_failed)) +

                                          [Called By]

                                          • >>   LL_USART_Init +
                                          • >>   LL_GPIO_Init
                                          -
                                          [Calls]
                                          • >>   Chrono_Background -
                                          • >>   SystemClock_Config + +

                                            emetteur_rf_init (Thumb, 122 bytes, Stack size 72 bytes, emetteur_rf.o(i.emetteur_rf_init)) +

                                            [Stack]

                                            • Max Depth = 128
                                            • Call Chain = emetteur_rf_init ⇒ LL_USART_Init ⇒ LL_RCC_GetSystemClocksFreq ⇒ RCC_GetSystemClockFreq +
                                            +
                                            [Calls]
                                            • >>   LL_USART_Init +
                                            • >>   LL_APB2_GRP1_EnableClock +
                                            • >>   LL_GPIO_Init +
                                            +
                                            [Called By]
                                            • >>   main +
                                            + +

                                            emetteur_send_bytes (Thumb, 60 bytes, Stack size 16 bytes, emetteur_rf.o(i.emetteur_send_bytes)) +

                                            [Stack]

                                            • Max Depth = 16
                                            • Call Chain = emetteur_send_bytes +
                                            +
                                            [Called By]
                                            • >>   main +
                                            + +

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

                                            [Stack]

                                            • Max Depth = 128
                                            • Call Chain = main ⇒ emetteur_rf_init ⇒ LL_USART_Init ⇒ LL_RCC_GetSystemClocksFreq ⇒ RCC_GetSystemClockFreq +
                                            +
                                            [Calls]
                                            • >>   emetteur_send_bytes +
                                            • >>   emetteur_rf_init +
                                            • >>   SystemClock_Config

                                            [Address Reference Count : 1]
                                            • entry9a.o(.ARM.Collect$$$$0000000B)

                                            Local Symbols

                                            -

                                            LL_GPIO_IsInputPinSet (Thumb, 26 bytes, Stack size 0 bytes, chrono.o(i.LL_GPIO_IsInputPinSet)) -

                                            [Called By]

                                            • >>   Chrono_Background +

                                              LL_APB2_GRP1_EnableClock (Thumb, 24 bytes, Stack size 8 bytes, emetteur_rf.o(i.LL_APB2_GRP1_EnableClock)) +

                                              [Stack]

                                              • Max Depth = 8
                                              • Call Chain = LL_APB2_GRP1_EnableClock +
                                              +
                                              [Called By]
                                              • >>   emetteur_rf_init
                                              -

                                              LL_TIM_ClearFlag_UPDATE (Thumb, 8 bytes, Stack size 0 bytes, mytimer.o(i.LL_TIM_ClearFlag_UPDATE)) +

                                              LL_TIM_ClearFlag_UPDATE (Thumb, 8 bytes, Stack size 0 bytes, mytimer.o(i.LL_TIM_ClearFlag_UPDATE))

                                              [Called By]

                                              • >>   TIM4_IRQHandler
                                              • >>   TIM3_IRQHandler
                                              • >>   TIM2_IRQHandler
                                              • >>   TIM1_UP_IRQHandler
                                              -

                                              LL_TIM_DisableCounter (Thumb, 10 bytes, Stack size 0 bytes, mytimer.o(i.LL_TIM_DisableCounter)) -

                                              [Called By]

                                              • >>   MyTimer_Stop +

                                                LL_USART_IsEnabled (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_ll_usart.o(i.LL_USART_IsEnabled)) +

                                                [Called By]

                                                • >>   LL_USART_Init +
                                                + +

                                                LL_USART_SetBaudRate (Thumb, 158 bytes, Stack size 16 bytes, stm32f1xx_ll_usart.o(i.LL_USART_SetBaudRate)) +

                                                [Stack]

                                                • Max Depth = 16
                                                • Call Chain = LL_USART_SetBaudRate +
                                                +
                                                [Called By]
                                                • >>   LL_USART_Init

                                                diff --git a/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.map b/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.map index dd699c2..a14d164 100644 --- a/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.map +++ b/keil_project/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.map @@ -7,7 +7,8 @@ Section Cross References main.o(i.SystemClock_Config) refers to stm32f1xx_ll_utils.o(i.LL_Init1msTick) for LL_Init1msTick main.o(i.SystemClock_Config) refers to stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) for LL_SetSystemCoreClock main.o(i.main) refers to main.o(i.SystemClock_Config) for SystemClock_Config - main.o(i.main) refers to chrono.o(i.Chrono_Background) for Chrono_Background + main.o(i.main) refers to emetteur_rf.o(i.emetteur_rf_init) for emetteur_rf_init + main.o(i.main) refers to emetteur_rf.o(i.emetteur_send_bytes) for emetteur_send_bytes chrono.o(i.Chrono_Background) refers to chrono.o(i.LL_GPIO_IsInputPinSet) for LL_GPIO_IsInputPinSet chrono.o(i.Chrono_Background) refers to chrono.o(i.Chrono_Stop) for Chrono_Stop chrono.o(i.Chrono_Background) refers to chrono.o(i.Chrono_Start) for Chrono_Start @@ -30,7 +31,6 @@ Section Cross References chrono.o(i.Chrono_Task_10ms) refers to chrono.o(.data) for Chrono_Time emetteur_rf.o(i.emetteur_rf_init) refers to emetteur_rf.o(i.LL_APB2_GRP1_EnableClock) for LL_APB2_GRP1_EnableClock emetteur_rf.o(i.emetteur_rf_init) refers to stm32f1xx_ll_gpio.o(i.LL_GPIO_Init) for LL_GPIO_Init - emetteur_rf.o(i.emetteur_rf_init) refers to emetteur_rf.o(i.LL_APB1_GRP1_EnableClock) for LL_APB1_GRP1_EnableClock emetteur_rf.o(i.emetteur_rf_init) refers to stm32f1xx_ll_usart.o(i.LL_USART_Init) for LL_USART_Init mytimer.o(i.MyTimer_Conf) refers to mytimer.o(i.LL_APB1_GRP1_EnableClock) for LL_APB1_GRP1_EnableClock mytimer.o(i.MyTimer_Conf) refers to stm32f1xx_ll_tim.o(i.LL_TIM_Init) for LL_TIM_Init @@ -167,44 +167,42 @@ Removing Unused input sections from the image. Removing main.o(.rev16_text), (4 bytes). Removing main.o(.revsh_text), (4 bytes). Removing main.o(.rrx_text), (6 bytes). - Removing main.o(i.assert_failed), (4 bytes). Removing chrono.o(.rev16_text), (4 bytes). Removing chrono.o(.revsh_text), (4 bytes). Removing chrono.o(.rrx_text), (6 bytes). + Removing chrono.o(i.Chrono_Background), (60 bytes). Removing chrono.o(i.Chrono_Conf), (72 bytes). Removing chrono.o(i.Chrono_Conf_io), (108 bytes). Removing chrono.o(i.Chrono_Read), (8 bytes). + Removing chrono.o(i.Chrono_Reset), (32 bytes). + Removing chrono.o(i.Chrono_Start), (28 bytes). + Removing chrono.o(i.Chrono_Stop), (28 bytes). Removing chrono.o(i.Chrono_Task_10ms), (124 bytes). + Removing chrono.o(i.LL_GPIO_IsInputPinSet), (26 bytes). + Removing chrono.o(.data), (12 bytes). Removing emetteur_rf.o(.rev16_text), (4 bytes). Removing emetteur_rf.o(.revsh_text), (4 bytes). Removing emetteur_rf.o(.rrx_text), (6 bytes). - Removing emetteur_rf.o(i.LL_APB1_GRP1_EnableClock), (28 bytes). - Removing emetteur_rf.o(i.LL_APB2_GRP1_EnableClock), (28 bytes). - Removing emetteur_rf.o(i.emetteur_rf_init), (228 bytes). - Removing emetteur_rf.o(i.rec_send_bytes), (36 bytes). Removing mytimer.o(.rev16_text), (4 bytes). Removing mytimer.o(.revsh_text), (4 bytes). Removing mytimer.o(.rrx_text), (6 bytes). Removing mytimer.o(i.LL_APB1_GRP1_EnableClock), (28 bytes). + Removing mytimer.o(i.LL_TIM_DisableCounter), (10 bytes). Removing mytimer.o(i.LL_TIM_DisableIT_UPDATE), (10 bytes). Removing mytimer.o(i.MyTimer_Conf), (132 bytes). Removing mytimer.o(i.MyTimer_IT_Conf), (200 bytes). Removing mytimer.o(i.MyTimer_IT_Disable), (12 bytes). Removing mytimer.o(i.MyTimer_IT_Enable), (14 bytes). + Removing mytimer.o(i.MyTimer_Start), (14 bytes). + Removing mytimer.o(i.MyTimer_Stop), (12 bytes). Removing mytimer.o(.constdata), (35 bytes). Removing stm32f1xx_ll_rcc.o(.rev16_text), (4 bytes). Removing stm32f1xx_ll_rcc.o(.revsh_text), (4 bytes). Removing stm32f1xx_ll_rcc.o(.rrx_text), (6 bytes). Removing stm32f1xx_ll_rcc.o(i.LL_RCC_DeInit), (152 bytes). Removing stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq), (124 bytes). - Removing stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq), (36 bytes). Removing stm32f1xx_ll_rcc.o(i.LL_RCC_GetUSBClockFreq), (120 bytes). Removing stm32f1xx_ll_rcc.o(i.LL_RCC_PLL_IsReady), (16 bytes). - Removing stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq), (32 bytes). - Removing stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq), (36 bytes). - Removing stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq), (36 bytes). - Removing stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq), (60 bytes). - Removing stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS), (88 bytes). Removing stm32f1xx_ll_utils.o(.rev16_text), (4 bytes). Removing stm32f1xx_ll_utils.o(.revsh_text), (4 bytes). Removing stm32f1xx_ll_utils.o(.rrx_text), (6 bytes). @@ -253,7 +251,6 @@ Removing Unused input sections from the image. Removing stm32f1xx_ll_gpio.o(i.LL_APB2_GRP1_ForceReset), (16 bytes). Removing stm32f1xx_ll_gpio.o(i.LL_APB2_GRP1_ReleaseReset), (16 bytes). Removing stm32f1xx_ll_gpio.o(i.LL_GPIO_DeInit), (212 bytes). - Removing stm32f1xx_ll_gpio.o(i.LL_GPIO_Init), (504 bytes). Removing stm32f1xx_ll_gpio.o(i.LL_GPIO_StructInit), (24 bytes). Removing stm32f1xx_ll_adc.o(.rev16_text), (4 bytes). Removing stm32f1xx_ll_adc.o(.revsh_text), (4 bytes). @@ -277,18 +274,14 @@ Removing Unused input sections from the image. Removing stm32f1xx_ll_usart.o(i.LL_USART_ClockInit), (276 bytes). Removing stm32f1xx_ll_usart.o(i.LL_USART_ClockStructInit), (12 bytes). Removing stm32f1xx_ll_usart.o(i.LL_USART_DeInit), (180 bytes). - Removing stm32f1xx_ll_usart.o(i.LL_USART_Init), (432 bytes). - Removing stm32f1xx_ll_usart.o(i.LL_USART_IsEnabled), (10 bytes). - Removing stm32f1xx_ll_usart.o(i.LL_USART_SetBaudRate), (158 bytes). Removing stm32f1xx_ll_usart.o(i.LL_USART_StructInit), (24 bytes). Removing system_stm32f1xx.o(.rev16_text), (4 bytes). Removing system_stm32f1xx.o(.revsh_text), (4 bytes). Removing system_stm32f1xx.o(.rrx_text), (6 bytes). Removing system_stm32f1xx.o(i.SystemCoreClockUpdate), (164 bytes). - Removing system_stm32f1xx.o(.constdata), (24 bytes). Removing startup_stm32f103xb.o(HEAP), (512 bytes). -123 unused section(s) (total 12708 bytes) removed from the image. +116 unused section(s) (total 11190 bytes) removed from the image. ============================================================================== @@ -300,19 +293,19 @@ Image Symbol Table ../Src/main.c 0x00000000 Number 0 main.o ABSOLUTE ../Src/system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.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 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.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 entry10a.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 entry7b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE ..\LLDrivers\src\stm32f1xx_ll_adc.c 0x00000000 Number 0 stm32f1xx_ll_adc.o ABSOLUTE ..\LLDrivers\src\stm32f1xx_ll_gpio.c 0x00000000 Number 0 stm32f1xx_ll_gpio.o ABSOLUTE ..\LLDrivers\src\stm32f1xx_ll_rcc.c 0x00000000 Number 0 stm32f1xx_ll_rcc.o ABSOLUTE @@ -350,36 +343,41 @@ Image Symbol Table __lit__00000000 0x080000fc Data 4 entry2.o(.ARM.Collect$$$$00002712) .text 0x08000100 Section 36 startup_stm32f103xb.o(.text) .text 0x08000124 Section 36 init.o(.text) - i.Chrono_Background 0x08000148 Section 0 chrono.o(i.Chrono_Background) - i.Chrono_Reset 0x08000184 Section 0 chrono.o(i.Chrono_Reset) - i.Chrono_Start 0x080001a4 Section 0 chrono.o(i.Chrono_Start) - i.Chrono_Stop 0x080001c0 Section 0 chrono.o(i.Chrono_Stop) - i.LL_GPIO_IsInputPinSet 0x080001dc Section 0 chrono.o(i.LL_GPIO_IsInputPinSet) - LL_GPIO_IsInputPinSet 0x080001dd Thumb Code 26 chrono.o(i.LL_GPIO_IsInputPinSet) - i.LL_Init1msTick 0x080001f6 Section 0 stm32f1xx_ll_utils.o(i.LL_Init1msTick) - i.LL_SetSystemCoreClock 0x08000214 Section 0 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) - i.LL_TIM_ClearFlag_UPDATE 0x08000220 Section 0 mytimer.o(i.LL_TIM_ClearFlag_UPDATE) - LL_TIM_ClearFlag_UPDATE 0x08000221 Thumb Code 8 mytimer.o(i.LL_TIM_ClearFlag_UPDATE) - i.LL_TIM_DisableCounter 0x08000228 Section 0 mytimer.o(i.LL_TIM_DisableCounter) - LL_TIM_DisableCounter 0x08000229 Thumb Code 10 mytimer.o(i.LL_TIM_DisableCounter) - i.MyTimer_Start 0x08000232 Section 0 mytimer.o(i.MyTimer_Start) - i.MyTimer_Stop 0x08000240 Section 0 mytimer.o(i.MyTimer_Stop) - i.SystemClock_Config 0x0800024c Section 0 main.o(i.SystemClock_Config) - i.SystemInit 0x0800033c Section 0 system_stm32f1xx.o(i.SystemInit) - i.TIM1_UP_IRQHandler 0x08000394 Section 0 mytimer.o(i.TIM1_UP_IRQHandler) - i.TIM2_IRQHandler 0x080003ac Section 0 mytimer.o(i.TIM2_IRQHandler) - i.TIM3_IRQHandler 0x080003c4 Section 0 mytimer.o(i.TIM3_IRQHandler) - i.TIM4_IRQHandler 0x080003dc Section 0 mytimer.o(i.TIM4_IRQHandler) - i.__scatterload_copy 0x080003f4 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x08000402 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x08000404 Section 14 handlers.o(i.__scatterload_zeroinit) - i.main 0x08000412 Section 0 main.o(i.main) - .data 0x20000000 Section 12 chrono.o(.data) - Chrono_Time 0x20000000 Data 3 chrono.o(.data) - Chrono_Timer 0x20000004 Data 4 chrono.o(.data) - .data 0x2000000c Section 16 mytimer.o(.data) - .data 0x2000001c Section 4 system_stm32f1xx.o(.data) - STACK 0x20000020 Section 1024 startup_stm32f103xb.o(STACK) + i.LL_APB2_GRP1_EnableClock 0x08000148 Section 0 emetteur_rf.o(i.LL_APB2_GRP1_EnableClock) + LL_APB2_GRP1_EnableClock 0x08000149 Thumb Code 24 emetteur_rf.o(i.LL_APB2_GRP1_EnableClock) + i.LL_GPIO_Init 0x08000164 Section 0 stm32f1xx_ll_gpio.o(i.LL_GPIO_Init) + i.LL_Init1msTick 0x0800035c Section 0 stm32f1xx_ll_utils.o(i.LL_Init1msTick) + i.LL_RCC_GetSystemClocksFreq 0x08000378 Section 0 stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) + i.LL_SetSystemCoreClock 0x0800039c Section 0 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) + i.LL_TIM_ClearFlag_UPDATE 0x080003a8 Section 0 mytimer.o(i.LL_TIM_ClearFlag_UPDATE) + LL_TIM_ClearFlag_UPDATE 0x080003a9 Thumb Code 8 mytimer.o(i.LL_TIM_ClearFlag_UPDATE) + i.LL_USART_Init 0x080003b0 Section 0 stm32f1xx_ll_usart.o(i.LL_USART_Init) + i.LL_USART_IsEnabled 0x08000560 Section 0 stm32f1xx_ll_usart.o(i.LL_USART_IsEnabled) + LL_USART_IsEnabled 0x08000561 Thumb Code 10 stm32f1xx_ll_usart.o(i.LL_USART_IsEnabled) + i.LL_USART_SetBaudRate 0x0800056a Section 0 stm32f1xx_ll_usart.o(i.LL_USART_SetBaudRate) + LL_USART_SetBaudRate 0x0800056b Thumb Code 158 stm32f1xx_ll_usart.o(i.LL_USART_SetBaudRate) + i.RCC_GetHCLKClockFreq 0x08000608 Section 0 stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) + i.RCC_GetPCLK1ClockFreq 0x08000628 Section 0 stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq) + i.RCC_GetPCLK2ClockFreq 0x0800064c Section 0 stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) + i.RCC_GetSystemClockFreq 0x08000670 Section 0 stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) + i.RCC_PLL_GetFreqDomain_SYS 0x080006ac Section 0 stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS) + i.SystemClock_Config 0x08000704 Section 0 main.o(i.SystemClock_Config) + i.SystemInit 0x080007f4 Section 0 system_stm32f1xx.o(i.SystemInit) + i.TIM1_UP_IRQHandler 0x0800084c Section 0 mytimer.o(i.TIM1_UP_IRQHandler) + i.TIM2_IRQHandler 0x08000864 Section 0 mytimer.o(i.TIM2_IRQHandler) + i.TIM3_IRQHandler 0x0800087c Section 0 mytimer.o(i.TIM3_IRQHandler) + i.TIM4_IRQHandler 0x08000894 Section 0 mytimer.o(i.TIM4_IRQHandler) + i.__scatterload_copy 0x080008ac Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x080008ba Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x080008bc Section 14 handlers.o(i.__scatterload_zeroinit) + i.assert_failed 0x080008ca Section 0 main.o(i.assert_failed) + i.emetteur_rf_init 0x080008d0 Section 0 emetteur_rf.o(i.emetteur_rf_init) + i.emetteur_send_bytes 0x0800095c Section 0 emetteur_rf.o(i.emetteur_send_bytes) + i.main 0x080009a0 Section 0 main.o(i.main) + .constdata 0x080009c4 Section 24 system_stm32f1xx.o(.constdata) + .data 0x20000000 Section 16 mytimer.o(.data) + .data 0x20000010 Section 4 system_stm32f1xx.o(.data) + STACK 0x20000018 Section 1024 startup_stm32f103xb.o(STACK) Global Symbols @@ -455,33 +453,39 @@ Image Symbol Table WWDG_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) __scatterload 0x08000125 Thumb Code 28 init.o(.text) __scatterload_rt2 0x08000125 Thumb Code 0 init.o(.text) - Chrono_Background 0x08000149 Thumb Code 44 chrono.o(i.Chrono_Background) - Chrono_Reset 0x08000185 Thumb Code 22 chrono.o(i.Chrono_Reset) - Chrono_Start 0x080001a5 Thumb Code 18 chrono.o(i.Chrono_Start) - Chrono_Stop 0x080001c1 Thumb Code 18 chrono.o(i.Chrono_Stop) - LL_Init1msTick 0x080001f7 Thumb Code 28 stm32f1xx_ll_utils.o(i.LL_Init1msTick) - LL_SetSystemCoreClock 0x08000215 Thumb Code 6 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) - MyTimer_Start 0x08000233 Thumb Code 14 mytimer.o(i.MyTimer_Start) - MyTimer_Stop 0x08000241 Thumb Code 12 mytimer.o(i.MyTimer_Stop) - SystemClock_Config 0x0800024d Thumb Code 226 main.o(i.SystemClock_Config) - SystemInit 0x0800033d Thumb Code 70 system_stm32f1xx.o(i.SystemInit) - TIM1_UP_IRQHandler 0x08000395 Thumb Code 16 mytimer.o(i.TIM1_UP_IRQHandler) - TIM2_IRQHandler 0x080003ad Thumb Code 18 mytimer.o(i.TIM2_IRQHandler) - TIM3_IRQHandler 0x080003c5 Thumb Code 16 mytimer.o(i.TIM3_IRQHandler) - TIM4_IRQHandler 0x080003dd Thumb Code 16 mytimer.o(i.TIM4_IRQHandler) - __scatterload_copy 0x080003f5 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x08000403 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x08000405 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - main 0x08000413 Thumb Code 12 main.o(i.main) - Region$$Table$$Base 0x08000420 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08000440 Number 0 anon$$obj.o(Region$$Table) - running 0x20000008 Data 4 chrono.o(.data) - Ptr_ItFct_TIM1 0x2000000c Data 4 mytimer.o(.data) - Ptr_ItFct_TIM2 0x20000010 Data 4 mytimer.o(.data) - Ptr_ItFct_TIM3 0x20000014 Data 4 mytimer.o(.data) - Ptr_ItFct_TIM4 0x20000018 Data 4 mytimer.o(.data) - SystemCoreClock 0x2000001c Data 4 system_stm32f1xx.o(.data) - __initial_sp 0x20000420 Data 0 startup_stm32f103xb.o(STACK) + LL_GPIO_Init 0x08000165 Thumb Code 442 stm32f1xx_ll_gpio.o(i.LL_GPIO_Init) + LL_Init1msTick 0x0800035d Thumb Code 28 stm32f1xx_ll_utils.o(i.LL_Init1msTick) + LL_RCC_GetSystemClocksFreq 0x08000379 Thumb Code 36 stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) + LL_SetSystemCoreClock 0x0800039d Thumb Code 6 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) + LL_USART_Init 0x080003b1 Thumb Code 376 stm32f1xx_ll_usart.o(i.LL_USART_Init) + RCC_GetHCLKClockFreq 0x08000609 Thumb Code 24 stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) + RCC_GetPCLK1ClockFreq 0x08000629 Thumb Code 26 stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq) + RCC_GetPCLK2ClockFreq 0x0800064d Thumb Code 26 stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) + RCC_GetSystemClockFreq 0x08000671 Thumb Code 52 stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) + RCC_PLL_GetFreqDomain_SYS 0x080006ad Thumb Code 76 stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS) + SystemClock_Config 0x08000705 Thumb Code 226 main.o(i.SystemClock_Config) + SystemInit 0x080007f5 Thumb Code 70 system_stm32f1xx.o(i.SystemInit) + TIM1_UP_IRQHandler 0x0800084d Thumb Code 16 mytimer.o(i.TIM1_UP_IRQHandler) + TIM2_IRQHandler 0x08000865 Thumb Code 18 mytimer.o(i.TIM2_IRQHandler) + TIM3_IRQHandler 0x0800087d Thumb Code 16 mytimer.o(i.TIM3_IRQHandler) + TIM4_IRQHandler 0x08000895 Thumb Code 16 mytimer.o(i.TIM4_IRQHandler) + __scatterload_copy 0x080008ad Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x080008bb Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x080008bd Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + assert_failed 0x080008cb Thumb Code 4 main.o(i.assert_failed) + emetteur_rf_init 0x080008d1 Thumb Code 122 emetteur_rf.o(i.emetteur_rf_init) + emetteur_send_bytes 0x0800095d Thumb Code 60 emetteur_rf.o(i.emetteur_send_bytes) + main 0x080009a1 Thumb Code 22 main.o(i.main) + AHBPrescTable 0x080009c4 Data 16 system_stm32f1xx.o(.constdata) + APBPrescTable 0x080009d4 Data 8 system_stm32f1xx.o(.constdata) + Region$$Table$$Base 0x080009dc Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x080009fc Number 0 anon$$obj.o(Region$$Table) + Ptr_ItFct_TIM1 0x20000000 Data 4 mytimer.o(.data) + Ptr_ItFct_TIM2 0x20000004 Data 4 mytimer.o(.data) + Ptr_ItFct_TIM3 0x20000008 Data 4 mytimer.o(.data) + Ptr_ItFct_TIM4 0x2000000c Data 4 mytimer.o(.data) + SystemCoreClock 0x20000010 Data 4 system_stm32f1xx.o(.data) + __initial_sp 0x20000418 Data 0 startup_stm32f103xb.o(STACK) @@ -491,58 +495,64 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000460, Max: 0x00020000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000a10, Max: 0x00020000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000440, Max: 0x00020000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000009fc, Max: 0x00020000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x08000000 0x08000000 0x000000ec Data RO 912 RESET startup_stm32f103xb.o - 0x080000ec 0x080000ec 0x00000000 Code RO 917 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x080000ec 0x080000ec 0x00000004 Code RO 920 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x080000f0 0x080000f0 0x00000004 Code RO 923 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 925 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 927 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x080000f4 0x080000f4 0x00000008 Code RO 928 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x080000fc 0x080000fc 0x00000000 Code RO 930 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) - 0x080000fc 0x080000fc 0x00000000 Code RO 932 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) - 0x080000fc 0x080000fc 0x00000004 Code RO 921 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) - 0x08000100 0x08000100 0x00000024 Code RO 913 .text startup_stm32f103xb.o - 0x08000124 0x08000124 0x00000024 Code RO 934 .text mc_w.l(init.o) - 0x08000148 0x08000148 0x0000003c Code RO 81 i.Chrono_Background chrono.o - 0x08000184 0x08000184 0x00000020 Code RO 85 i.Chrono_Reset chrono.o - 0x080001a4 0x080001a4 0x0000001c Code RO 86 i.Chrono_Start chrono.o - 0x080001c0 0x080001c0 0x0000001c Code RO 87 i.Chrono_Stop chrono.o - 0x080001dc 0x080001dc 0x0000001a Code RO 89 i.LL_GPIO_IsInputPinSet chrono.o - 0x080001f6 0x080001f6 0x0000001c Code RO 408 i.LL_Init1msTick stm32f1xx_ll_utils.o - 0x08000212 0x08000212 0x00000002 PAD - 0x08000214 0x08000214 0x0000000c Code RO 415 i.LL_SetSystemCoreClock stm32f1xx_ll_utils.o - 0x08000220 0x08000220 0x00000008 Code RO 217 i.LL_TIM_ClearFlag_UPDATE mytimer.o - 0x08000228 0x08000228 0x0000000a Code RO 218 i.LL_TIM_DisableCounter mytimer.o - 0x08000232 0x08000232 0x0000000e Code RO 224 i.MyTimer_Start mytimer.o - 0x08000240 0x08000240 0x0000000c Code RO 225 i.MyTimer_Stop mytimer.o - 0x0800024c 0x0800024c 0x000000f0 Code RO 4 i.SystemClock_Config main.o - 0x0800033c 0x0800033c 0x00000058 Code RO 877 i.SystemInit system_stm32f1xx.o - 0x08000394 0x08000394 0x00000018 Code RO 226 i.TIM1_UP_IRQHandler mytimer.o - 0x080003ac 0x080003ac 0x00000018 Code RO 227 i.TIM2_IRQHandler mytimer.o - 0x080003c4 0x080003c4 0x00000018 Code RO 228 i.TIM3_IRQHandler mytimer.o - 0x080003dc 0x080003dc 0x00000018 Code RO 229 i.TIM4_IRQHandler mytimer.o - 0x080003f4 0x080003f4 0x0000000e Code RO 938 i.__scatterload_copy mc_w.l(handlers.o) - 0x08000402 0x08000402 0x00000002 Code RO 939 i.__scatterload_null mc_w.l(handlers.o) - 0x08000404 0x08000404 0x0000000e Code RO 940 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x08000412 0x08000412 0x0000000c Code RO 6 i.main main.o - 0x0800041e 0x0800041e 0x00000002 PAD - 0x08000420 0x08000420 0x00000020 Data RO 936 Region$$Table anon$$obj.o + 0x08000000 0x08000000 0x000000ec Data RO 916 RESET startup_stm32f103xb.o + 0x080000ec 0x080000ec 0x00000000 Code RO 921 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 924 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 927 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 929 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 931 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 932 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000000 Code RO 934 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) + 0x080000fc 0x080000fc 0x00000000 Code RO 936 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 925 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000100 0x08000100 0x00000024 Code RO 917 .text startup_stm32f103xb.o + 0x08000124 0x08000124 0x00000024 Code RO 938 .text mc_w.l(init.o) + 0x08000148 0x08000148 0x0000001c Code RO 176 i.LL_APB2_GRP1_EnableClock emetteur_rf.o + 0x08000164 0x08000164 0x000001f8 Code RO 671 i.LL_GPIO_Init stm32f1xx_ll_gpio.o + 0x0800035c 0x0800035c 0x0000001c Code RO 412 i.LL_Init1msTick stm32f1xx_ll_utils.o + 0x08000378 0x08000378 0x00000024 Code RO 331 i.LL_RCC_GetSystemClocksFreq stm32f1xx_ll_rcc.o + 0x0800039c 0x0800039c 0x0000000c Code RO 419 i.LL_SetSystemCoreClock stm32f1xx_ll_utils.o + 0x080003a8 0x080003a8 0x00000008 Code RO 218 i.LL_TIM_ClearFlag_UPDATE mytimer.o + 0x080003b0 0x080003b0 0x000001b0 Code RO 811 i.LL_USART_Init stm32f1xx_ll_usart.o + 0x08000560 0x08000560 0x0000000a Code RO 812 i.LL_USART_IsEnabled stm32f1xx_ll_usart.o + 0x0800056a 0x0800056a 0x0000009e Code RO 813 i.LL_USART_SetBaudRate stm32f1xx_ll_usart.o + 0x08000608 0x08000608 0x00000020 Code RO 334 i.RCC_GetHCLKClockFreq stm32f1xx_ll_rcc.o + 0x08000628 0x08000628 0x00000024 Code RO 335 i.RCC_GetPCLK1ClockFreq stm32f1xx_ll_rcc.o + 0x0800064c 0x0800064c 0x00000024 Code RO 336 i.RCC_GetPCLK2ClockFreq stm32f1xx_ll_rcc.o + 0x08000670 0x08000670 0x0000003c Code RO 337 i.RCC_GetSystemClockFreq stm32f1xx_ll_rcc.o + 0x080006ac 0x080006ac 0x00000058 Code RO 338 i.RCC_PLL_GetFreqDomain_SYS stm32f1xx_ll_rcc.o + 0x08000704 0x08000704 0x000000f0 Code RO 4 i.SystemClock_Config main.o + 0x080007f4 0x080007f4 0x00000058 Code RO 881 i.SystemInit system_stm32f1xx.o + 0x0800084c 0x0800084c 0x00000018 Code RO 227 i.TIM1_UP_IRQHandler mytimer.o + 0x08000864 0x08000864 0x00000018 Code RO 228 i.TIM2_IRQHandler mytimer.o + 0x0800087c 0x0800087c 0x00000018 Code RO 229 i.TIM3_IRQHandler mytimer.o + 0x08000894 0x08000894 0x00000018 Code RO 230 i.TIM4_IRQHandler mytimer.o + 0x080008ac 0x080008ac 0x0000000e Code RO 942 i.__scatterload_copy mc_w.l(handlers.o) + 0x080008ba 0x080008ba 0x00000002 Code RO 943 i.__scatterload_null mc_w.l(handlers.o) + 0x080008bc 0x080008bc 0x0000000e Code RO 944 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x080008ca 0x080008ca 0x00000004 Code RO 5 i.assert_failed main.o + 0x080008ce 0x080008ce 0x00000002 PAD + 0x080008d0 0x080008d0 0x0000008c Code RO 177 i.emetteur_rf_init emetteur_rf.o + 0x0800095c 0x0800095c 0x00000044 Code RO 178 i.emetteur_send_bytes emetteur_rf.o + 0x080009a0 0x080009a0 0x00000024 Code RO 6 i.main main.o + 0x080009c4 0x080009c4 0x00000018 Data RO 882 .constdata system_stm32f1xx.o + 0x080009dc 0x080009dc 0x00000020 Data RO 940 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000440, Size: 0x00000420, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080009fc, Size: 0x00000418, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08000440 0x0000000c Data RW 90 .data chrono.o - 0x2000000c 0x0800044c 0x00000010 Data RW 231 .data mytimer.o - 0x2000001c 0x0800045c 0x00000004 Data RW 879 .data system_stm32f1xx.o - 0x20000020 - 0x00000400 Zero RW 910 STACK startup_stm32f103xb.o + 0x20000000 0x080009fc 0x00000010 Data RW 232 .data mytimer.o + 0x20000010 0x08000a0c 0x00000004 Data RW 883 .data system_stm32f1xx.o + 0x20000014 0x08000a10 0x00000004 PAD + 0x20000018 - 0x00000400 Zero RW 914 STACK startup_stm32f103xb.o ============================================================================== @@ -552,17 +562,21 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 174 46 0 12 0 10806 chrono.o - 252 14 0 0 0 354628 main.o - 140 30 0 16 0 28564 mytimer.o + 0 0 0 0 0 2520 chrono.o + 236 30 0 0 0 21985 emetteur_rf.o + 280 28 0 0 0 356196 main.o + 104 30 0 16 0 27113 mytimer.o 36 8 236 0 1024 772 startup_stm32f103xb.o + 504 62 0 0 0 10387 stm32f1xx_ll_gpio.o + 288 48 0 0 0 13117 stm32f1xx_ll_rcc.o + 600 56 0 0 0 24640 stm32f1xx_ll_usart.o 40 6 0 0 0 2073 stm32f1xx_ll_utils.o - 88 18 0 4 0 1147 system_stm32f1xx.o + 88 18 24 4 0 1147 system_stm32f1xx.o ---------------------------------------------------------------------- - 734 122 268 32 1024 397990 Object Totals + 2178 286 292 20 1028 459950 Object Totals 0 0 32 0 0 0 (incl. Generated) - 4 0 0 0 0 0 (incl. Padding) + 2 0 0 0 4 0 (incl. Padding) ---------------------------------------------------------------------- @@ -599,15 +613,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 820 138 268 32 1024 397378 Grand Totals - 820 138 268 32 1024 397378 ELF Image Totals - 820 138 268 32 0 0 ROM Totals + 2264 302 292 20 1028 459078 Grand Totals + 2264 302 292 20 1028 459078 ELF Image Totals + 2264 302 292 20 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 1088 ( 1.06kB) - Total RW Size (RW Data + ZI Data) 1056 ( 1.03kB) - Total ROM Size (Code + RO Data + RW Data) 1120 ( 1.09kB) + Total RO Size (Code + RO Data) 2556 ( 2.50kB) + Total RW Size (RW Data + ZI Data) 1048 ( 1.02kB) + Total ROM Size (Code + RO Data + RW Data) 2576 ( 2.52kB) ============================================================================== diff --git a/keil_project/MDK-ARM/NUCLEO-F103RB/Project_Simulateur.dep b/keil_project/MDK-ARM/NUCLEO-F103RB/Project_Simulateur.dep index 75e56f5..8539c46 100644 --- a/keil_project/MDK-ARM/NUCLEO-F103RB/Project_Simulateur.dep +++ b/keil_project/MDK-ARM/NUCLEO-F103RB/Project_Simulateur.dep @@ -1,6 +1,6 @@ Dependencies for Project 'Project', Target 'Simulateur': (DO NOT MODIFY !) CompilerVersion: 5060750::V5.06 update 6 (build 750)::ARMCC -F (../Src/main.c)(0x5FABFAC0)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers -I ..\MDK-ARM --C99 -I.\RTE\_Simulateur -IC:\Users\momof\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\momof\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -DUSE_FULL_ASSERT -o nucleo-f103rb\main.o --omf_browse nucleo-f103rb\main.crf --depend nucleo-f103rb\main.d) +F (../Src/main.c)(0x5FAC0A56)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers -I ..\MDK-ARM --C99 -I.\RTE\_Simulateur -IC:\Users\momof\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\momof\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -DUSE_FULL_ASSERT -o nucleo-f103rb\main.o --omf_browse nucleo-f103rb\main.crf --depend nucleo-f103rb\main.d) I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5F8402DF) I (..\Inc\stm32f1xx.h)(0x5F8402DF) I (..\Inc\stm32f103xb.h)(0x5F8402DF) @@ -13,6 +13,10 @@ I (..\Inc\system_stm32f1xx.h)(0x5F8402DF) I (..\LLDrivers\inc\stm32f1xx_ll_utils.h)(0x5F8402E0) I (..\LLDrivers\inc\stm32f1xx_ll_system.h)(0x5F8402E0) I (..\Services\Chrono.h)(0x5F8402E0) +I (..\Services\emetteur_rf.h)(0x5FAC06CC) +I (..\LLDrivers\inc\stm32f1xx_ll_bus.h)(0x5F8402DF) +I (..\LLDrivers\inc\stm32f1xx_ll_usart.h)(0x5F8402E0) +I (..\LLDrivers\inc\stm32f1xx_ll_gpio.h)(0x5F8402DF) F (..\Services\Chrono.c)(0x5F8402E0)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers -I ..\MDK-ARM --C99 -I.\RTE\_Simulateur -IC:\Users\momof\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\momof\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -DUSE_FULL_ASSERT -o nucleo-f103rb\chrono.o --omf_browse nucleo-f103rb\chrono.crf --depend nucleo-f103rb\chrono.d) I (..\Services\Chrono.h)(0x5F8402E0) I (..\Inc\stm32f103xb.h)(0x5F8402DF) @@ -26,8 +30,8 @@ I (..\MyDrivers\MyTimer.h)(0x5F8402E0) I (..\LLDrivers\inc\stm32f1xx_ll_gpio.h)(0x5F8402DF) I (..\Inc\stm32f1xx.h)(0x5F8402DF) I (..\LLDrivers\inc\stm32f1xx_ll_bus.h)(0x5F8402DF) -F (..\Services\emetteur_rf.c)(0x5FAC025A)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers -I ..\MDK-ARM --C99 -I.\RTE\_Simulateur -IC:\Users\momof\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\momof\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -DUSE_FULL_ASSERT -o nucleo-f103rb\emetteur_rf.o --omf_browse nucleo-f103rb\emetteur_rf.crf --depend nucleo-f103rb\emetteur_rf.d) -I (..\Services\emetteur_rf.h)(0x5FAC0257) +F (..\Services\emetteur_rf.c)(0x5FAC0A46)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers -I ..\MDK-ARM --C99 -I.\RTE\_Simulateur -IC:\Users\momof\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\momof\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -DUSE_FULL_ASSERT -o nucleo-f103rb\emetteur_rf.o --omf_browse nucleo-f103rb\emetteur_rf.crf --depend nucleo-f103rb\emetteur_rf.d) +I (..\Services\emetteur_rf.h)(0x5FAC06CC) I (..\LLDrivers\inc\stm32f1xx_ll_bus.h)(0x5F8402DF) I (..\Inc\stm32f1xx.h)(0x5F8402DF) I (..\Inc\stm32f103xb.h)(0x5F8402DF) @@ -39,7 +43,7 @@ I (C:\Users\momof\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cms I (..\Inc\system_stm32f1xx.h)(0x5F8402DF) I (..\LLDrivers\inc\stm32f1xx_ll_usart.h)(0x5F8402E0) I (..\LLDrivers\inc\stm32f1xx_ll_gpio.h)(0x5F8402DF) -F (..\Services\emetteur_rf.h)(0x5FAC0257)() +F (..\Services\emetteur_rf.h)(0x5FAC06CC)() F (..\MyDrivers\MyTimer.c)(0x5F8402E0)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers -I ..\MDK-ARM --C99 -I.\RTE\_Simulateur -IC:\Users\momof\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -IC:\Users\momof\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -DUSE_FULL_ASSERT -o nucleo-f103rb\mytimer.o --omf_browse nucleo-f103rb\mytimer.crf --depend nucleo-f103rb\mytimer.d) I (..\MyDrivers\MyTimer.h)(0x5F8402E0) I (..\Inc\stm32f103xb.h)(0x5F8402DF) diff --git a/keil_project/MDK-ARM/NUCLEO-F103RB/emetteur_rf.crf b/keil_project/MDK-ARM/NUCLEO-F103RB/emetteur_rf.crf index 60306d967d05f25165e52063cc0b5b7534693e23..1f25a6ff2948c6884672b746328abdaf9d0bf343 100644 GIT binary patch delta 2096 zcmZ`*Yitx%6u$TN?6f;`@9a(=y!yIULP(^A7NwY2d|=d0-JKdVf`3-9C8AJDTY?D4 zh=ex+Vz_AwSOk#(D#XWNMM?_@21I!VyBZ)N@@SzHF+M2ZS-ODyaFdgK=ey@V&N<(i z?Ai^z*RSu*PxuL8l!!eJxwedF2M#RWa@|MpXa78iu)fRNSk~5&rLO& zG8)xulc3Mcw^~Ivk=p1a)Vx8yYwdl<4^)oM&yS3&7*`W{Wn#rx;~QqS zqpNBnl@qIK$d*>~4h>@_k0p^9k<=XrXU2@7Ai(<_og3*7wE(3WWNrzKFMP>xc%(- zt-h#14(L$Vy?O|}A9Sei_I^~_2^f`@LXPRMw)>XbFL=?bJON!+Sx-DM8X&bMT=Pre zM-LeTnK~1??lOMNsNRI@ep!NOr3p9uvKY}S6K?wD(}-4^;OcTWq7O`XTbC_}8cdj_ z%bngY7vN!~?xU$oPO}dN~ z6L#zJ8871^jAGgYWO)GU)YcB@VF?2tEYOnCQeDc`#ttaDKR{LlV3i?nE#uO7%tr-a zH8Qba3>@nvUxpc!W~-&0kWFW)ZJkgg4AK&S!`=Hn^YklFuMOa&JqUF|^5fvrwkRhT zgHRuL&!c-O2rJ|6S?~N`a5I+ZhZYP8MS__T{ITq163yum|rmSmlGLlFdEw~`$ zP+a)Nf;J(CAlhz0yO0k?Q^>a#Toh8I;cMf4){xy{!KHgyK(@((j(b@)x3CMm!Y<$V zR71M-LNuHF{S>^dehO+m0f}?!`=FK;L%*rEINGL!)y;jS2FB4B-gB1r!v1;;Xh%CPfD8i}(-Q7$-$0%k&mKqz$3Tm|FwR!txShKgGQ+tyM>dXayPRE{#oe zZHaLb--!`*CB|8d$aLuxl~bsdLAFahwV)7dk>S!$)aF914RG#Odi6uKQa|Low6E9k zxOM|zkV{9Z&Zo3yz_H${zIs~wY-TTVKEzLHn4yXGpZ;x#YUDzQ7sv$&+CuzUIT6*< z9^xS>OeWGWBh*%iV+9N*l3D+lwn7|>AecyHS?G3zIM#tPk;3}mA(uluB43R5BAp@r zisbL2(0TtQu}O%1GA);Wia}RGyh=WS;P()(mX9I08sar_n93>Ep3KxpSBOuSdC_EY zJ;Z0+BRHa_6>CneLFR<{dsrbn_$=0IZkR7e4+pOur)pl9*Q3Yr!W5Slshh=GT5f7qb@MJNFihP=nO5GKAs}S!-oFzpbt;WLa UaYSAWi@XGk?l=MX4}s+T3q#;6$N&HU delta 2335 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 aQ=jp|E9RWd;(5loES}pP<7 diff --git a/keil_project/MDK-ARM/NUCLEO-F103RB/main.d b/keil_project/MDK-ARM/NUCLEO-F103RB/main.d index e28d5e5..95167f3 100644 --- a/keil_project/MDK-ARM/NUCLEO-F103RB/main.d +++ b/keil_project/MDK-ARM/NUCLEO-F103RB/main.d @@ -11,3 +11,7 @@ nucleo-f103rb\main.o: ..\Inc\system_stm32f1xx.h nucleo-f103rb\main.o: ..\LLDrivers\inc\stm32f1xx_ll_utils.h nucleo-f103rb\main.o: ..\LLDrivers\inc\stm32f1xx_ll_system.h nucleo-f103rb\main.o: ..\Services\Chrono.h +nucleo-f103rb\main.o: ..\Services\emetteur_rf.h +nucleo-f103rb\main.o: ..\LLDrivers\inc\stm32f1xx_ll_bus.h +nucleo-f103rb\main.o: ..\LLDrivers\inc\stm32f1xx_ll_usart.h +nucleo-f103rb\main.o: ..\LLDrivers\inc\stm32f1xx_ll_gpio.h diff --git a/keil_project/MDK-ARM/NUCLEO-F103RB/main.o b/keil_project/MDK-ARM/NUCLEO-F103RB/main.o index f1d46249c861bc553e87b77989986ac346ee08dd..3a99d23d4a64e27372aa8e7513b6d05634b20eca 100644 GIT binary patch delta 36072 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

                                                Q5aVy6xd#n}{~AYFZtqpT)q`TZZ+` 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 Vx(xX}lcA?qyQEm#3-3Y7`(MW@j?(}D delta 11654 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 diff --git a/keil_project/MDK-ARM/Project.uvguix.momof b/keil_project/MDK-ARM/Project.uvguix.momof index 12a78c0..b288f21 100644 --- a/keil_project/MDK-ARM/Project.uvguix.momof +++ b/keil_project/MDK-ARM/Project.uvguix.momof @@ -16,6 +16,12 @@ 78 + + System Viewer\GPIOA + 35904 + + 78 + System Viewer\RCC 35905 @@ -28,17 +34,17 @@ 38003 Registers - 140 98 + 140 100 346 Code Coverage - 1008 160 + 1008 414 204 Performance Analyzer - 1168 + 1168 175 175 100 @@ -77,7 +83,7 @@ 2506 Trace Data FiltIdx=0;DescrEn=0;DescrHeight=4;FuncTrc=1;FindType=8;ColWidths=004B00870082005F004600E600C80096 - 75 135 130 95 70 230 200 150 + 75 135 95 70 230 200 150 466 @@ -123,8 +129,8 @@ 0 - 713 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000040000000100000052433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000C5D4F200FFFFFFFF3F433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF55433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C4C4C447269766572735C696E635C73746D3332663178785F6C6C5F6164632E68000000001273746D3332663178785F6C6C5F6164632E6800000000BECEA100FFFFFFFF4B433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C53657276696365735C656D6574746575725F72662E63000000000D656D6574746575725F72662E6300000000F0A0A100FFFFFFFF4B433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C53657276696365735C656D6574746575725F72662E68000000000D656D6574746575725F72662E6800000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FC000000700000008007000088030000 + 717 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000010000000100000052433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000C5D4F200FFFFFFFF3F433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF4B433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C53657276696365735C656D6574746575725F72662E63000000000D656D6574746575725F72662E6300000000F0A0A100FFFFFFFF4B433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C53657276696365735C656D6574746575725F72662E68000000000D656D6574746575725F72662E6800000000BCA8E100FFFFFFFF57433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C4C4C447269766572735C696E635C73746D3332663178785F6C6C5F75736172742E68000000001473746D3332663178785F6C6C5F75736172742E6800000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FC000000700000008007000088030000 @@ -1819,7 +1825,7 @@ File 2727 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000066173736572749600000000000000100006617373657274085F5F414443785F5F03616463054144433132034252520370696E0452656164124C4C5F54494D5F496E6974547970654465660374696D03494452114750494F5F43524C5F434E46305F506F7304434E46300F5057525F4353525F5755465F4D736B025352044449455206436C6175736500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65CC030000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000066173736572749600000000000000100006617373657274085F5F414443785F5F03616463054144433132034252520370696E0452656164124C4C5F54494D5F496E6974547970654465660374696D03494452114750494F5F43524C5F434E46305F506F7304434E46300F5057525F4353525F5755465F4D736B025352044449455206436C6175736500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65CC030000 1423 @@ -1835,7 +1841,7 @@ Build 998 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050010000000A53696D756C6174657572960000000000000002000D4E55434C454F2D4631303352420A53696D756C617465757200000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DE010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050010000000A53696D756C6174657572960000000000000002000D4E55434C454F2D4631303352420A53696D756C617465757200000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DE010000 583 @@ -2114,7 +2120,7 @@ 1939 1939 - 0 + 1 0 0 0 @@ -2854,7 +2860,7 @@ 35904 35904 - 0 + 1 0 0 0 @@ -2884,7 +2890,7 @@ 0 16 - 9006000070000000800700004E030000 + 93060000730000007D0700002F030000 16 @@ -3552,15 +3558,15 @@ - 3314 - 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000E60000008C060000EA000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F4000000700000008C06000003010000F4000000530000008C060000E60000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000001000000FFFFFFFFFFFFFFFF8C06000053000000900600004E030000010000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000010000009006000070000000800700006B0300009006000053000000800700004E03000000000000404100562B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0352434301000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFF16000000000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF000000053000000F40000004E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000070000000F00000006B0300000000000053000000F00000004E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000004E030000800700005203000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000C40300006F030000800700001F040000C403000052030000800700000204000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000100000001000000FFFFFFFFC003000052030000C40300000204000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000320200008E05000036020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000000000000000000530200008E050000E602000000000000360200008E050000C90200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 3319 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000E60000008C060000EA000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F4000000700000008C06000003010000F4000000530000008C060000E60000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000001000000FFFFFFFFFFFFFFFF8C06000053000000900600004E030000010000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000010000009006000070000000800700006B0300009006000053000000800700004E03000000000000404100562B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF054750494F4101000000408C000001000000FFFFFFFFFFFFFFFF0352434301000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFF15000000000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF000000053000000F40000004E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000070000000F00000006B0300000000000053000000F00000004E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000004E030000800700005203000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000C40300006F030000800700001F040000C403000052030000800700000204000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331010000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF010000000000000001000000000000000100000001000000FFFFFFFFC003000052030000C40300000204000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000320200008E05000036020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000000000000000000530200008E050000E602000000000000360200008E050000C90200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File 2727 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000066173736572749600000000000000100006617373657274085F5F414443785F5F03616463054144433132034252520370696E0452656164124C4C5F54494D5F496E6974547970654465660374696D03494452114750494F5F43524C5F434E46305F506F7304434E46300F5057525F4353525F5755465F4D736B025352044449455206436C6175736500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65CC030000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000066173736572749600000000000000100006617373657274085F5F414443785F5F03616463054144433132034252520370696E0452656164124C4C5F54494D5F496E6974547970654465660374696D03494452114750494F5F43524C5F434E46305F506F7304434E46300F5057525F4353525F5755465F4D736B025352044449455206436C6175736500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65CC030000 1423 @@ -3592,7 +3598,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756772020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000100330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756772020000 898 @@ -3616,7 +3622,7 @@ 0 100 - 4 + 1 startup_stm32f103xb.s 0 @@ -3628,36 +3634,36 @@ ../Src/main.c - 16 - 19 - 33 - 1 - - 0 - - - ..\LLDrivers\inc\stm32f1xx_ll_adc.h - 80 - 3557 - 3583 - 1 - - 0 - - - ..\Services\emetteur_rf.c - 17 - 22 + 45 + 27 48 1 0 + + ..\Services\emetteur_rf.c + 49 + 18 + 50 + 1 + + 0 + ..\Services\emetteur_rf.h - 6 + 60 1 - 14 + 10 + 1 + + 0 + + + ..\LLDrivers\inc\stm32f1xx_ll_usart.h + 0 + 1855 + 1863 1 0 diff --git a/keil_project/MDK-ARM/Project.uvoptx b/keil_project/MDK-ARM/Project.uvoptx index 610175f..65d2fd5 100644 --- a/keil_project/MDK-ARM/Project.uvoptx +++ b/keil_project/MDK-ARM/Project.uvoptx @@ -338,7 +338,7 @@ 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=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,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=945,22,1745,945,0)(151=-1,-1,-1,-1,0) + (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=1286,146,1844,671,1)(121=-1,-1,-1,-1,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=945,22,1745,945,0)(151=-1,-1,-1,-1,0) 0 @@ -375,9 +375,9 @@ 0 0 - 45 + 44 1 -

                                                134220360
                                                +
                                                134220196
                                                0 0 0 @@ -386,12 +386,12 @@ 1 ../Src/main.c - \\NUCLEO_F103RB\../Src/main.c\45 + \\NUCLEO_F103RB\../Src/main.c\44 1 0 - 49 + 42 1
                                                0
                                                0 @@ -407,7 +407,23 @@ 2 0 - 42 + 49 + 1 +
                                                0
                                                + 0 + 0 + 0 + 0 + 0 + 0 + startup_stm32f103xb.s + + +
                                                + + 3 + 0 + 46 1
                                                0
                                                0 @@ -451,7 +467,7 @@ 1 1 0 - 0 + 1 0 0 1 @@ -486,6 +502,10 @@ + + System Viewer\GPIOA + 35904 + System Viewer\RCC 35905 diff --git a/keil_project/Services/emetteur_rf.c b/keil_project/Services/emetteur_rf.c index c18d352..c887593 100644 --- a/keil_project/Services/emetteur_rf.c +++ b/keil_project/Services/emetteur_rf.c @@ -1,10 +1,10 @@ #include "emetteur_rf.h" -void emetteur_rf_init(USART_TypeDef * uart_port){ +void emetteur_rf_init(void){ LL_USART_InitTypeDef My_LL_Usart_Init_Struct; - if (uart_port==USART1) { + LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1); LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA); LL_GPIO_InitTypeDef tx; @@ -13,29 +13,15 @@ void emetteur_rf_init(USART_TypeDef * uart_port){ tx.Speed = LL_GPIO_SPEED_FREQ_LOW; tx.Pin = LL_GPIO_PIN_9; LL_GPIO_Init(GPIOA, &tx); - } - if (uart_port==USART2){ - LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_USART2); + + LL_GPIO_InitTypeDef pa11_init_conf; + pa11_init_conf.Mode = LL_GPIO_MODE_OUTPUT; + pa11_init_conf.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + pa11_init_conf.Speed = LL_GPIO_SPEED_FREQ_LOW; + pa11_init_conf.Pin = LL_GPIO_PIN_11; + LL_GPIO_Init(GPIOA, &pa11_init_conf); LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA); - LL_GPIO_InitTypeDef tx; - tx.Mode = LL_GPIO_MODE_ALTERNATE; - tx.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - tx.Pull = LL_GPIO_PULL_UP; - tx.Speed = LL_GPIO_SPEED_FREQ_LOW; - tx.Pin = LL_GPIO_PIN_2; - LL_GPIO_Init(GPIOA, &tx); - } - if (uart_port==USART3){ - LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_USART3); - LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOC); - LL_GPIO_InitTypeDef tx; - tx.Mode = LL_GPIO_MODE_ALTERNATE; - tx.OutputType = LL_GPIO_OUTPUT_PUSHPULL; - tx.Pull = LL_GPIO_PULL_UP; - tx.Speed = LL_GPIO_SPEED_FREQ_LOW; - tx.Pin = LL_GPIO_PIN_10; - LL_GPIO_Init(GPIOC, &tx); - } + My_LL_Usart_Init_Struct.BaudRate = 9600; My_LL_Usart_Init_Struct.DataWidth = LL_USART_DATAWIDTH_8B ; @@ -45,8 +31,8 @@ void emetteur_rf_init(USART_TypeDef * uart_port){ My_LL_Usart_Init_Struct.StopBits = LL_USART_STOPBITS_1; My_LL_Usart_Init_Struct.TransferDirection = LL_USART_DIRECTION_TX_RX ; - LL_USART_Init(uart_port,&My_LL_Usart_Init_Struct); - LL_USART_Enable(uart_port); + LL_USART_Init(USART1,&My_LL_Usart_Init_Struct); + LL_USART_Enable(USART1); /*int periph_speed; if (uart_port==USART1) periph_speed = 36000000; @@ -56,9 +42,11 @@ void emetteur_rf_init(USART_TypeDef * uart_port){ LL_USART_SetBaudRate(uart_port, periph_speed, baudrate); */} -void rec_send_bytes(USART_TypeDef * uart_port,char* buf, int len){ +void emetteur_send_bytes(USART_TypeDef * uart_port,char* buf, int len){ for(int i = 0; i < len; i++){ + LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_11); LL_USART_TransmitData8(uart_port, buf[i]); - while(!LL_USART_IsActiveFlag_TXE(uart_port)); + LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_11); + while(!LL_USART_IsActiveFlag_TXE(uart_port)); } } diff --git a/keil_project/Services/emetteur_rf.h b/keil_project/Services/emetteur_rf.h index 0650cac..8592eae 100644 --- a/keil_project/Services/emetteur_rf.h +++ b/keil_project/Services/emetteur_rf.h @@ -6,8 +6,8 @@ #include "stm32f1xx_ll_usart.h" #include "stm32f1xx_ll_gpio.h" -void emetteur_rf_init(USART_TypeDef * uart_port); -void rec_send_bytes(USART_TypeDef * uart_port,char* buf, int len); +void emetteur_rf_init(); +void emetteur_send_bytes(USART_TypeDef * uart_port,char* buf, int len); diff --git a/keil_project/Src/main.c b/keil_project/Src/main.c index 634369f..f7315ee 100644 --- a/keil_project/Src/main.c +++ b/keil_project/Src/main.c @@ -20,9 +20,11 @@ #include "stm32f1xx_ll_utils.h" // utile dans la fonction SystemClock_Config #include "stm32f1xx_ll_system.h" // utile dans la fonction SystemClock_Config -#include "Chrono.h" +#include "Chrono.h" +#include "emetteur_rf.h" + void SystemClock_Config(void); /* Private functions ---------------------------------------------------------*/ @@ -39,12 +41,12 @@ int main(void) /* Configure the system clock to 72 MHz */ SystemClock_Config(); - - /* Infinite loop */ - while (1) - { - Chrono_Background(); - } + + + emetteur_rf_init(); + while(1){ + emetteur_send_bytes(USART1, "Coucou", 6); + } }