diff --git a/.gitignore b/.gitignore index 3242c89..b8d6d25 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,12 @@ / +*.o +*.d +*.crf !/README.md !/Src/ !/Services/ !/MyDrivers/ !/LLDrivers/ -!/MDK-ARM/startup_stm32f103xb.s -!/MDK-ARM/startup_stm32f103xb.s -!/MDK-ARM/NUCLEO-F103RB/ -!/MDK-ARM/RTE/ -!/MDK-ARM/Project.uvoptx -!/MDK-ARM/Project.uvprojx +/MDK-ARM/ !/Inc -!/.gitignore \ No newline at end of file +!/.gitignore diff --git a/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.build_log.htm b/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.build_log.htm index efda6f3..3aae5f3 100644 --- a/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.build_log.htm +++ b/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.build_log.htm @@ -1,61 +1,58 @@ - - -
-

µVision Build Log

-

Tool Versions:

-IDE-Version: µVision V5.23.0.0 -Copyright (C) 2017 ARM Ltd and ARM Germany GmbH. All rights reserved. -License Information: Thierry Thierry, INSA, LIC=---- - -Tool Versions: -Toolchain: MDK-Lite Version: 5.23 -Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin -C Compiler: Armcc.exe V5.06 update 4 (build 422) -Assembler: Armasm.exe V5.06 update 4 (build 422) -Linker/Locator: ArmLink.exe V5.06 update 4 (build 422) -Library Manager: ArmAr.exe V5.06 update 4 (build 422) -Hex Converter: FromElf.exe V5.06 update 4 (build 422) -CPU DLL: SARMCM3.DLL V5.23 -Dialog DLL: DARMSTM.DLL V1.68.0.0 -Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V2.0.18.0 -Dialog DLL: TARMSTM.DLL V1.66.0.0 - -

Project:

-D:\Thierry\2019_2020\Periph\PrepaPeriph\ProjetsKEIL\Nouveau dossier\DerLL\ProjKEIL_Chrono_TIM_IT_LL\MDK-ARM\Project.uvprojx -Project File Date: 09/20/2019 - -

Output:

-*** Using Compiler 'V5.06 update 4 (build 422)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' -Rebuild target 'Simulateur' -compiling Chrono.c... -compiling MyTimer.c... -compiling main.c... -compiling stm32f1xx_ll_rcc.c... -compiling stm32f1xx_ll_utils.c... -assembling startup_stm32f103xb.s... -compiling stm32f1xx_ll_tim.c... -compiling system_stm32f1xx.c... -linking... -Program Size: Code=1456 RO-data=268 RW-data=28 ZI-data=1028 -"NUCLEO-F103RB\NUCLEO-F103RB.axf" - 0 Error(s), 0 Warning(s). - -

Software Packages used:

- -Package Vendor: ARM - http://www.keil.com/pack/ARM.CMSIS.5.0.1.pack - ARM::CMSIS:CORE:5.0.1 - CMSIS (Cortex Microcontroller Software Interface Standard) - * Component: CORE Version: 5.0.1 - -

Collection of Component include folders:

- .\RTE\_Simulateur - C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.0.1\CMSIS\Include - C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include - -

Collection of Component Files used:

- - * Component: ARM::CMSIS:CORE:5.0.1 -Build Time Elapsed: 00:00:04 -
- - + + +
+

µVision Build Log

+

Tool Versions:

+IDE-Version: µVision V5.31.0.0 +Copyright (C) 2020 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: Toyoste Biencuit, a, LIC=---- + +Tool Versions: +Toolchain: MDK-Lite Version: 5.31.0.0 +Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin +C Compiler: Armcc.exe V5.06 update 6 (build 750) +Assembler: Armasm.exe V5.06 update 6 (build 750) +Linker/Locator: ArmLink.exe V5.06 update 6 (build 750) +Library Manager: ArmAr.exe V5.06 update 6 (build 750) +Hex Converter: FromElf.exe V5.06 update 6 (build 750) +CPU DLL: SARMCM3.DLL V5.31.0.0 +Dialog DLL: DARMSTM.DLL V1.68.0.0 +Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.7.0 +Dialog DLL: TARMSTM.DLL V1.66.0.0 + +

Project:

+C:\users\vergnet\My Documents\INSA\4A\Info Mat\projet_voilier\MDK-ARM\Project.uvprojx +Project File Date: 10/19/2020 + +

Output:

+*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' +Build target 'Simulateur' +linking... +Program Size: Code=1464 RO-data=268 RW-data=28 ZI-data=1028 +"NUCLEO-F103RB\NUCLEO-F103RB.axf" - 0 Error(s), 0 Warning(s). + +

Software Packages used:

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

Collection of Component include folders:

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

Collection of Component Files used:

+ + * Component: ARM::CMSIS:CORE:5.4.0 +Build Time Elapsed: 00:00:01 +
+ + diff --git a/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.map b/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.map index 56e9ece..577371a 100644 --- a/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.map +++ b/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.map @@ -1,535 +1,549 @@ -Component: ARM Compiler 5.06 update 4 (build 422) Tool: armlink [4d35d2] - -============================================================================== - -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_Conf) for Chrono_Conf - main.o(i.main) refers to chrono.o(i.Chrono_Start) for Chrono_Start - chrono.o(i.Chrono_Conf) refers to mytimer.o(i.MyTimer_Conf) for MyTimer_Conf - chrono.o(i.Chrono_Conf) refers to mytimer.o(i.MyTimer_IT_Conf) for MyTimer_IT_Conf - chrono.o(i.Chrono_Conf) refers to mytimer.o(i.MyTimer_IT_Enable) for MyTimer_IT_Enable - chrono.o(i.Chrono_Conf) refers to chrono.o(.data) for Chrono_Time - chrono.o(i.Chrono_Conf) refers to chrono.o(i.Chrono_Task_10ms) for Chrono_Task_10ms - chrono.o(i.Chrono_Read) refers to chrono.o(.data) for Chrono_Time - chrono.o(i.Chrono_Reset) refers to mytimer.o(i.MyTimer_Stop) for MyTimer_Stop - chrono.o(i.Chrono_Reset) refers to chrono.o(.data) for Chrono_Timer - chrono.o(i.Chrono_Start) refers to mytimer.o(i.MyTimer_Start) for MyTimer_Start - chrono.o(i.Chrono_Start) refers to chrono.o(.data) for Chrono_Timer - chrono.o(i.Chrono_Stop) refers to mytimer.o(i.MyTimer_Stop) for MyTimer_Stop - chrono.o(i.Chrono_Stop) refers to chrono.o(.data) for Chrono_Timer - chrono.o(i.Chrono_Task_10ms) refers to chrono.o(.data) for Chrono_Time - 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 - mytimer.o(i.MyTimer_Conf) refers to mytimer.o(i.LL_TIM_DisableIT_UPDATE) for LL_TIM_DisableIT_UPDATE - mytimer.o(i.MyTimer_Conf) refers to mytimer.o(i.LL_TIM_DisableCounter) for LL_TIM_DisableCounter - mytimer.o(i.MyTimer_IT_Conf) refers to mytimer.o(i.LL_TIM_DisableIT_UPDATE) for LL_TIM_DisableIT_UPDATE - mytimer.o(i.MyTimer_IT_Conf) refers to mytimer.o(.data) for Ptr_ItFct_TIM1 - mytimer.o(i.MyTimer_IT_Disable) refers to mytimer.o(i.LL_TIM_DisableIT_UPDATE) for LL_TIM_DisableIT_UPDATE - mytimer.o(i.MyTimer_Stop) refers to mytimer.o(i.LL_TIM_DisableCounter) for LL_TIM_DisableCounter - mytimer.o(i.TIM1_UP_IRQHandler) refers to mytimer.o(i.LL_TIM_ClearFlag_UPDATE) for LL_TIM_ClearFlag_UPDATE - mytimer.o(i.TIM1_UP_IRQHandler) refers to mytimer.o(.data) for Ptr_ItFct_TIM1 - mytimer.o(i.TIM2_IRQHandler) refers to mytimer.o(i.LL_TIM_ClearFlag_UPDATE) for LL_TIM_ClearFlag_UPDATE - mytimer.o(i.TIM2_IRQHandler) refers to mytimer.o(.data) for Ptr_ItFct_TIM2 - mytimer.o(i.TIM3_IRQHandler) refers to mytimer.o(i.LL_TIM_ClearFlag_UPDATE) for LL_TIM_ClearFlag_UPDATE - mytimer.o(i.TIM3_IRQHandler) refers to mytimer.o(.data) for Ptr_ItFct_TIM3 - mytimer.o(i.TIM4_IRQHandler) refers to mytimer.o(i.LL_TIM_ClearFlag_UPDATE) for LL_TIM_ClearFlag_UPDATE - mytimer.o(i.TIM4_IRQHandler) refers to mytimer.o(.data) for Ptr_ItFct_TIM4 - stm32f1xx_ll_rcc.o(i.LL_RCC_DeInit) refers to stm32f1xx_ll_rcc.o(i.LL_RCC_PLL_IsReady) for LL_RCC_PLL_IsReady - stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) for RCC_GetSystemClockFreq - stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) for RCC_GetHCLKClockFreq - stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) for RCC_GetPCLK2ClockFreq - stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) for RCC_GetSystemClockFreq - stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) for RCC_GetHCLKClockFreq - stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq) for RCC_GetPCLK1ClockFreq - stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) for RCC_GetPCLK2ClockFreq - stm32f1xx_ll_rcc.o(i.LL_RCC_GetUSBClockFreq) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_rcc.o(i.LL_RCC_GetUSBClockFreq) refers to stm32f1xx_ll_rcc.o(i.LL_RCC_PLL_IsReady) for LL_RCC_PLL_IsReady - stm32f1xx_ll_rcc.o(i.LL_RCC_GetUSBClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS) for RCC_PLL_GetFreqDomain_SYS - stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable - stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable - stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable - stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS) for RCC_PLL_GetFreqDomain_SYS - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy) for UTILS_PLL_IsBusy - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency) for UTILS_GetPLLOutputFrequency - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.LL_RCC_HSE_IsReady) for LL_RCC_HSE_IsReady - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS) for LL_RCC_PLL_ConfigDomain_SYS - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) for UTILS_EnablePLLAndSwitchSystem - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy) for UTILS_PLL_IsBusy - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency) for UTILS_GetPLLOutputFrequency - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.LL_RCC_HSI_IsReady) for LL_RCC_HSI_IsReady - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS) for LL_RCC_PLL_ConfigDomain_SYS - stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) for UTILS_EnablePLLAndSwitchSystem - stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to stm32f1xx_ll_utils.o(i.UTILS_SetFlashLatency) for UTILS_SetFlashLatency - stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_IsReady) for LL_RCC_PLL_IsReady - stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) for LL_SetSystemCoreClock - stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable - stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_IsReady) for LL_RCC_PLL_IsReady - stm32f1xx_ll_tim.o(i.IC1Config) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.IC2Config) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.IC3Config) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.IC4Config) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.LL_TIM_BDTR_Init) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.LL_TIM_DeInit) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.LL_TIM_DeInit) refers to stm32f1xx_ll_tim.o(i.LL_APB1_GRP1_ForceReset) for LL_APB1_GRP1_ForceReset - stm32f1xx_ll_tim.o(i.LL_TIM_DeInit) refers to stm32f1xx_ll_tim.o(i.LL_APB1_GRP1_ReleaseReset) for LL_APB1_GRP1_ReleaseReset - stm32f1xx_ll_tim.o(i.LL_TIM_ENCODER_Init) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.LL_TIM_HALLSENSOR_Init) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.LL_TIM_HALLSENSOR_Init) refers to stm32f1xx_ll_tim.o(i.LL_TIM_OC_SetCompareCH2) for LL_TIM_OC_SetCompareCH2 - stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init) refers to stm32f1xx_ll_tim.o(i.IC1Config) for IC1Config - stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init) refers to stm32f1xx_ll_tim.o(i.IC2Config) for IC2Config - stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init) refers to stm32f1xx_ll_tim.o(i.IC3Config) for IC3Config - stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init) refers to stm32f1xx_ll_tim.o(i.IC4Config) for IC4Config - stm32f1xx_ll_tim.o(i.LL_TIM_Init) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f1xx_ll_tim.o(i.OC1Config) for OC1Config - stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f1xx_ll_tim.o(i.OC2Config) for OC2Config - stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f1xx_ll_tim.o(i.OC3Config) for OC3Config - stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f1xx_ll_tim.o(i.OC4Config) for OC4Config - stm32f1xx_ll_tim.o(i.OC1Config) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.OC2Config) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.OC2Config) refers to stm32f1xx_ll_tim.o(i.LL_TIM_OC_SetCompareCH2) for LL_TIM_OC_SetCompareCH2 - stm32f1xx_ll_tim.o(i.OC3Config) refers to main.o(i.assert_failed) for assert_failed - stm32f1xx_ll_tim.o(i.OC4Config) refers to main.o(i.assert_failed) for assert_failed - system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.data) for SystemCoreClock - system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable - startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(STACK) for __initial_sp - startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(.text) for Reset_Handler - startup_stm32f103xb.o(RESET) refers to mytimer.o(i.TIM1_UP_IRQHandler) for TIM1_UP_IRQHandler - startup_stm32f103xb.o(RESET) refers to mytimer.o(i.TIM2_IRQHandler) for TIM2_IRQHandler - startup_stm32f103xb.o(RESET) refers to mytimer.o(i.TIM3_IRQHandler) for TIM3_IRQHandler - startup_stm32f103xb.o(RESET) refers to mytimer.o(i.TIM4_IRQHandler) for TIM4_IRQHandler - startup_stm32f103xb.o(.text) refers to system_stm32f1xx.o(i.SystemInit) for SystemInit - startup_stm32f103xb.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main - entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp - entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$0000000F) for __rt_final_exit - entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock - entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry8b.o(.ARM.Collect$$$$0000000A) for _main_cpp_init - entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init - entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload - entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk - entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000 - entry2.o(.ARM.Collect$$$$00002712) refers to startup_stm32f103xb.o(STACK) for __initial_sp - entry2.o(__vectab_stack_and_reset_area) refers to startup_stm32f103xb.o(STACK) for __initial_sp - entry2.o(__vectab_stack_and_reset_area) refers to entry.o(.ARM.Collect$$$$00000000) for __main - entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload - entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(i.main) for main - entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(i.main) for main - init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload - - -============================================================================== - -Removing Unused input sections from the image. - - Removing main.o(.rev16_text), (4 bytes). - Removing main.o(.revsh_text), (4 bytes). - Removing main.o(.rrx_text), (6 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_Read), (8 bytes). - Removing chrono.o(i.Chrono_Reset), (32 bytes). - Removing chrono.o(i.Chrono_Stop), (16 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.MyTimer_IT_Disable), (12 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). - Removing stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE), (260 bytes). - Removing stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI), (104 bytes). - Removing stm32f1xx_ll_utils.o(i.LL_RCC_HSE_IsReady), (16 bytes). - Removing stm32f1xx_ll_utils.o(i.LL_RCC_HSI_IsReady), (16 bytes). - Removing stm32f1xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS), (28 bytes). - Removing stm32f1xx_ll_utils.o(i.LL_RCC_PLL_IsReady), (16 bytes). - Removing stm32f1xx_ll_utils.o(i.LL_mDelay), (40 bytes). - Removing stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem), (416 bytes). - Removing stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency), (228 bytes). - Removing stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy), (16 bytes). - Removing stm32f1xx_ll_utils.o(i.UTILS_SetFlashLatency), (80 bytes). - Removing stm32f1xx_ll_tim.o(.rev16_text), (4 bytes). - Removing stm32f1xx_ll_tim.o(.revsh_text), (4 bytes). - Removing stm32f1xx_ll_tim.o(.rrx_text), (6 bytes). - Removing stm32f1xx_ll_tim.o(i.IC1Config), (376 bytes). - Removing stm32f1xx_ll_tim.o(i.IC2Config), (376 bytes). - Removing stm32f1xx_ll_tim.o(i.IC3Config), (380 bytes). - Removing stm32f1xx_ll_tim.o(i.IC4Config), (380 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_APB1_GRP1_ForceReset), (16 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_APB1_GRP1_ReleaseReset), (16 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_BDTR_Init), (312 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_BDTR_StructInit), (18 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_DeInit), (192 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_ENCODER_Init), (688 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_ENCODER_StructInit), (36 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_HALLSENSOR_Init), (396 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_HALLSENSOR_StructInit), (12 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init), (92 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_IC_StructInit), (18 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init), (92 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_OC_SetCompareCH2), (4 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_OC_StructInit), (20 bytes). - Removing stm32f1xx_ll_tim.o(i.LL_TIM_StructInit), (18 bytes). - Removing stm32f1xx_ll_tim.o(i.OC1Config), (404 bytes). - Removing stm32f1xx_ll_tim.o(i.OC2Config), (404 bytes). - Removing stm32f1xx_ll_tim.o(i.OC3Config), (404 bytes). - Removing stm32f1xx_ll_tim.o(i.OC4Config), (372 bytes). - Removing stm32f1xx_ll_tim.o(.constdata), (35 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). - -75 unused section(s) (total 7894 bytes) removed from the image. - -============================================================================== - -Image Symbol Table - - Local Symbols - - Symbol Name Value Ov Type Size Object(Section) - - ../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 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.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 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE - ..\LLDrivers\src\stm32f1xx_ll_rcc.c 0x00000000 Number 0 stm32f1xx_ll_rcc.o ABSOLUTE - ..\LLDrivers\src\stm32f1xx_ll_tim.c 0x00000000 Number 0 stm32f1xx_ll_tim.o ABSOLUTE - ..\LLDrivers\src\stm32f1xx_ll_utils.c 0x00000000 Number 0 stm32f1xx_ll_utils.o ABSOLUTE - ..\MyDrivers\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE - ..\Services\Chrono.c 0x00000000 Number 0 chrono.o ABSOLUTE - ..\Src\main.c 0x00000000 Number 0 main.o ABSOLUTE - ..\Src\system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE - ..\\LLDrivers\\src\\stm32f1xx_ll_rcc.c 0x00000000 Number 0 stm32f1xx_ll_rcc.o ABSOLUTE - ..\\LLDrivers\\src\\stm32f1xx_ll_tim.c 0x00000000 Number 0 stm32f1xx_ll_tim.o ABSOLUTE - ..\\LLDrivers\\src\\stm32f1xx_ll_utils.c 0x00000000 Number 0 stm32f1xx_ll_utils.o ABSOLUTE - ..\\MyDrivers\\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE - ..\\Services\\Chrono.c 0x00000000 Number 0 chrono.o ABSOLUTE - dc.s 0x00000000 Number 0 dc.o ABSOLUTE - handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE - init.s 0x00000000 Number 0 init.o ABSOLUTE - startup_stm32f103xb.s 0x00000000 Number 0 startup_stm32f103xb.o ABSOLUTE - RESET 0x08000000 Section 236 startup_stm32f103xb.o(RESET) - .ARM.Collect$$$$00000000 0x080000ec Section 0 entry.o(.ARM.Collect$$$$00000000) - .ARM.Collect$$$$00000001 0x080000ec Section 4 entry2.o(.ARM.Collect$$$$00000001) - .ARM.Collect$$$$00000004 0x080000f0 Section 4 entry5.o(.ARM.Collect$$$$00000004) - .ARM.Collect$$$$00000008 0x080000f4 Section 0 entry7b.o(.ARM.Collect$$$$00000008) - .ARM.Collect$$$$0000000A 0x080000f4 Section 0 entry8b.o(.ARM.Collect$$$$0000000A) - .ARM.Collect$$$$0000000B 0x080000f4 Section 8 entry9a.o(.ARM.Collect$$$$0000000B) - .ARM.Collect$$$$0000000D 0x080000fc Section 0 entry10a.o(.ARM.Collect$$$$0000000D) - .ARM.Collect$$$$0000000F 0x080000fc Section 0 entry11a.o(.ARM.Collect$$$$0000000F) - .ARM.Collect$$$$00002712 0x080000fc Section 4 entry2.o(.ARM.Collect$$$$00002712) - __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_Conf 0x08000148 Section 0 chrono.o(i.Chrono_Conf) - i.Chrono_Start 0x0800018c Section 0 chrono.o(i.Chrono_Start) - i.Chrono_Task_10ms 0x0800019c Section 0 chrono.o(i.Chrono_Task_10ms) - i.LL_APB1_GRP1_EnableClock 0x080001e4 Section 0 mytimer.o(i.LL_APB1_GRP1_EnableClock) - LL_APB1_GRP1_EnableClock 0x080001e5 Thumb Code 24 mytimer.o(i.LL_APB1_GRP1_EnableClock) - i.LL_Init1msTick 0x08000200 Section 0 stm32f1xx_ll_utils.o(i.LL_Init1msTick) - i.LL_SetSystemCoreClock 0x0800021c Section 0 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) - i.LL_TIM_ClearFlag_UPDATE 0x08000228 Section 0 mytimer.o(i.LL_TIM_ClearFlag_UPDATE) - LL_TIM_ClearFlag_UPDATE 0x08000229 Thumb Code 8 mytimer.o(i.LL_TIM_ClearFlag_UPDATE) - i.LL_TIM_DisableCounter 0x08000230 Section 0 mytimer.o(i.LL_TIM_DisableCounter) - LL_TIM_DisableCounter 0x08000231 Thumb Code 10 mytimer.o(i.LL_TIM_DisableCounter) - i.LL_TIM_DisableIT_UPDATE 0x0800023a Section 0 mytimer.o(i.LL_TIM_DisableIT_UPDATE) - LL_TIM_DisableIT_UPDATE 0x0800023b Thumb Code 10 mytimer.o(i.LL_TIM_DisableIT_UPDATE) - i.LL_TIM_Init 0x08000244 Section 0 stm32f1xx_ll_tim.o(i.LL_TIM_Init) - i.MyTimer_Conf 0x08000358 Section 0 mytimer.o(i.MyTimer_Conf) - i.MyTimer_IT_Conf 0x080003dc Section 0 mytimer.o(i.MyTimer_IT_Conf) - i.MyTimer_IT_Enable 0x0800049c Section 0 mytimer.o(i.MyTimer_IT_Enable) - i.MyTimer_Start 0x080004aa Section 0 mytimer.o(i.MyTimer_Start) - i.SystemClock_Config 0x080004b8 Section 0 main.o(i.SystemClock_Config) - i.SystemInit 0x080005a8 Section 0 system_stm32f1xx.o(i.SystemInit) - i.TIM1_UP_IRQHandler 0x08000600 Section 0 mytimer.o(i.TIM1_UP_IRQHandler) - i.TIM2_IRQHandler 0x08000618 Section 0 mytimer.o(i.TIM2_IRQHandler) - i.TIM3_IRQHandler 0x08000630 Section 0 mytimer.o(i.TIM3_IRQHandler) - i.TIM4_IRQHandler 0x08000648 Section 0 mytimer.o(i.TIM4_IRQHandler) - i.__scatterload_copy 0x08000660 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x0800066e Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x08000670 Section 14 handlers.o(i.__scatterload_zeroinit) - i.assert_failed 0x0800067e Section 0 main.o(i.assert_failed) - i.main 0x08000684 Section 0 main.o(i.main) - .data 0x20000000 Section 8 chrono.o(.data) - Chrono_Time 0x20000000 Data 3 chrono.o(.data) - Chrono_Timer 0x20000004 Data 4 chrono.o(.data) - .data 0x20000008 Section 16 mytimer.o(.data) - .data 0x20000018 Section 4 system_stm32f1xx.o(.data) - STACK 0x20000020 Section 1024 startup_stm32f103xb.o(STACK) - - Global Symbols - - Symbol Name Value Ov Type Size Object(Section) - - BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE - __ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE - __cpp_initialize__aeabi_ - Undefined Weak Reference - __cxa_finalize - Undefined Weak Reference - __decompress - Undefined Weak Reference - _clock_init - Undefined Weak Reference - _microlib_exit - Undefined Weak Reference - __Vectors_Size 0x000000ec Number 0 startup_stm32f103xb.o ABSOLUTE - __Vectors 0x08000000 Data 4 startup_stm32f103xb.o(RESET) - __Vectors_End 0x080000ec Data 0 startup_stm32f103xb.o(RESET) - __main 0x080000ed Thumb Code 0 entry.o(.ARM.Collect$$$$00000000) - _main_stk 0x080000ed Thumb Code 0 entry2.o(.ARM.Collect$$$$00000001) - _main_scatterload 0x080000f1 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) - __main_after_scatterload 0x080000f5 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) - _main_clock 0x080000f5 Thumb Code 0 entry7b.o(.ARM.Collect$$$$00000008) - _main_cpp_init 0x080000f5 Thumb Code 0 entry8b.o(.ARM.Collect$$$$0000000A) - _main_init 0x080000f5 Thumb Code 0 entry9a.o(.ARM.Collect$$$$0000000B) - __rt_final_cpp 0x080000fd Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000D) - __rt_final_exit 0x080000fd Thumb Code 0 entry11a.o(.ARM.Collect$$$$0000000F) - Reset_Handler 0x08000101 Thumb Code 8 startup_stm32f103xb.o(.text) - NMI_Handler 0x08000109 Thumb Code 2 startup_stm32f103xb.o(.text) - HardFault_Handler 0x0800010b Thumb Code 2 startup_stm32f103xb.o(.text) - MemManage_Handler 0x0800010d Thumb Code 2 startup_stm32f103xb.o(.text) - BusFault_Handler 0x0800010f Thumb Code 2 startup_stm32f103xb.o(.text) - UsageFault_Handler 0x08000111 Thumb Code 2 startup_stm32f103xb.o(.text) - SVC_Handler 0x08000113 Thumb Code 2 startup_stm32f103xb.o(.text) - DebugMon_Handler 0x08000115 Thumb Code 2 startup_stm32f103xb.o(.text) - PendSV_Handler 0x08000117 Thumb Code 2 startup_stm32f103xb.o(.text) - SysTick_Handler 0x08000119 Thumb Code 2 startup_stm32f103xb.o(.text) - ADC1_2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - CAN1_RX1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - CAN1_SCE_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - DMA1_Channel1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - DMA1_Channel2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - DMA1_Channel3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - DMA1_Channel4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - DMA1_Channel5_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - DMA1_Channel6_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - DMA1_Channel7_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - EXTI0_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - EXTI15_10_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - EXTI1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - EXTI2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - EXTI3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - EXTI4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - EXTI9_5_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - FLASH_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - I2C1_ER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - I2C1_EV_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - I2C2_ER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - I2C2_EV_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - PVD_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - RCC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - RTC_Alarm_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - RTC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - SPI1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - SPI2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - TAMPER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - TIM1_BRK_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - TIM1_CC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - TIM1_TRG_COM_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - USART1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - USART2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - USART3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - USBWakeUp_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - USB_HP_CAN1_TX_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - USB_LP_CAN1_RX0_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) - 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_Conf 0x08000149 Thumb Code 54 chrono.o(i.Chrono_Conf) - Chrono_Start 0x0800018d Thumb Code 12 chrono.o(i.Chrono_Start) - Chrono_Task_10ms 0x0800019d Thumb Code 68 chrono.o(i.Chrono_Task_10ms) - LL_Init1msTick 0x08000201 Thumb Code 28 stm32f1xx_ll_utils.o(i.LL_Init1msTick) - LL_SetSystemCoreClock 0x0800021d Thumb Code 6 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) - LL_TIM_Init 0x08000245 Thumb Code 228 stm32f1xx_ll_tim.o(i.LL_TIM_Init) - MyTimer_Conf 0x08000359 Thumb Code 118 mytimer.o(i.MyTimer_Conf) - MyTimer_IT_Conf 0x080003dd Thumb Code 158 mytimer.o(i.MyTimer_IT_Conf) - MyTimer_IT_Enable 0x0800049d Thumb Code 14 mytimer.o(i.MyTimer_IT_Enable) - MyTimer_Start 0x080004ab Thumb Code 14 mytimer.o(i.MyTimer_Start) - SystemClock_Config 0x080004b9 Thumb Code 226 main.o(i.SystemClock_Config) - SystemInit 0x080005a9 Thumb Code 70 system_stm32f1xx.o(i.SystemInit) - TIM1_UP_IRQHandler 0x08000601 Thumb Code 16 mytimer.o(i.TIM1_UP_IRQHandler) - TIM2_IRQHandler 0x08000619 Thumb Code 18 mytimer.o(i.TIM2_IRQHandler) - TIM3_IRQHandler 0x08000631 Thumb Code 16 mytimer.o(i.TIM3_IRQHandler) - TIM4_IRQHandler 0x08000649 Thumb Code 16 mytimer.o(i.TIM4_IRQHandler) - __scatterload_copy 0x08000661 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x0800066f Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x08000671 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - assert_failed 0x0800067f Thumb Code 4 main.o(i.assert_failed) - main 0x08000685 Thumb Code 18 main.o(i.main) - Region$$Table$$Base 0x0800069c Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x080006bc Number 0 anon$$obj.o(Region$$Table) - Ptr_ItFct_TIM1 0x20000008 Data 4 mytimer.o(.data) - Ptr_ItFct_TIM2 0x2000000c Data 4 mytimer.o(.data) - Ptr_ItFct_TIM3 0x20000010 Data 4 mytimer.o(.data) - Ptr_ItFct_TIM4 0x20000014 Data 4 mytimer.o(.data) - SystemCoreClock 0x20000018 Data 4 system_stm32f1xx.o(.data) - __initial_sp 0x20000420 Data 0 startup_stm32f103xb.o(STACK) - - - -============================================================================== - -Memory Map of the image - - Image Entry point : 0x080000ed - - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000006d8, Max: 0x00020000, ABSOLUTE) - - Execution Region ER_IROM1 (Base: 0x08000000, Size: 0x000006bc, Max: 0x00020000, ABSOLUTE) - - Base Addr Size Type Attr Idx E Section Name Object - - 0x08000000 0x000000ec Data RO 624 RESET startup_stm32f103xb.o - 0x080000ec 0x00000000 Code RO 629 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x080000ec 0x00000004 Code RO 632 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x080000f0 0x00000004 Code RO 635 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x080000f4 0x00000000 Code RO 637 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x080000f4 0x00000000 Code RO 639 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x080000f4 0x00000008 Code RO 640 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x080000fc 0x00000000 Code RO 642 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) - 0x080000fc 0x00000000 Code RO 644 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) - 0x080000fc 0x00000004 Code RO 633 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) - 0x08000100 0x00000024 Code RO 625 .text startup_stm32f103xb.o - 0x08000124 0x00000024 Code RO 646 .text mc_w.l(init.o) - 0x08000148 0x00000044 Code RO 78 i.Chrono_Conf chrono.o - 0x0800018c 0x00000010 Code RO 81 i.Chrono_Start chrono.o - 0x0800019c 0x00000048 Code RO 83 i.Chrono_Task_10ms chrono.o - 0x080001e4 0x0000001c Code RO 137 i.LL_APB1_GRP1_EnableClock mytimer.o - 0x08000200 0x0000001c Code RO 332 i.LL_Init1msTick stm32f1xx_ll_utils.o - 0x0800021c 0x0000000c Code RO 339 i.LL_SetSystemCoreClock stm32f1xx_ll_utils.o - 0x08000228 0x00000008 Code RO 138 i.LL_TIM_ClearFlag_UPDATE mytimer.o - 0x08000230 0x0000000a Code RO 139 i.LL_TIM_DisableCounter mytimer.o - 0x0800023a 0x0000000a Code RO 140 i.LL_TIM_DisableIT_UPDATE mytimer.o - 0x08000244 0x00000114 Code RO 444 i.LL_TIM_Init stm32f1xx_ll_tim.o - 0x08000358 0x00000084 Code RO 141 i.MyTimer_Conf mytimer.o - 0x080003dc 0x000000c0 Code RO 142 i.MyTimer_IT_Conf mytimer.o - 0x0800049c 0x0000000e Code RO 144 i.MyTimer_IT_Enable mytimer.o - 0x080004aa 0x0000000e Code RO 145 i.MyTimer_Start mytimer.o - 0x080004b8 0x000000f0 Code RO 4 i.SystemClock_Config main.o - 0x080005a8 0x00000058 Code RO 589 i.SystemInit system_stm32f1xx.o - 0x08000600 0x00000018 Code RO 147 i.TIM1_UP_IRQHandler mytimer.o - 0x08000618 0x00000018 Code RO 148 i.TIM2_IRQHandler mytimer.o - 0x08000630 0x00000018 Code RO 149 i.TIM3_IRQHandler mytimer.o - 0x08000648 0x00000018 Code RO 150 i.TIM4_IRQHandler mytimer.o - 0x08000660 0x0000000e Code RO 650 i.__scatterload_copy mc_w.l(handlers.o) - 0x0800066e 0x00000002 Code RO 651 i.__scatterload_null mc_w.l(handlers.o) - 0x08000670 0x0000000e Code RO 652 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x0800067e 0x00000004 Code RO 5 i.assert_failed main.o - 0x08000682 0x00000002 PAD - 0x08000684 0x00000018 Code RO 6 i.main main.o - 0x0800069c 0x00000020 Data RO 648 Region$$Table anon$$obj.o - - - Execution Region RW_IRAM1 (Base: 0x20000000, Size: 0x00000420, Max: 0x00005000, ABSOLUTE) - - Base Addr Size Type Attr Idx E Section Name Object - - 0x20000000 0x00000008 Data RW 84 .data chrono.o - 0x20000008 0x00000010 Data RW 152 .data mytimer.o - 0x20000018 0x00000004 Data RW 591 .data system_stm32f1xx.o - 0x2000001c 0x00000004 PAD - 0x20000020 0x00000400 Zero RW 622 STACK startup_stm32f103xb.o - - -============================================================================== - -Image component sizes - - - Code (inc. data) RO Data RW Data ZI Data Debug Object Name - - 156 22 0 8 0 2192 chrono.o - 268 20 0 0 0 357020 main.o - 504 82 0 16 0 59517 mytimer.o - 36 8 236 0 1024 820 startup_stm32f103xb.o - 276 48 0 0 0 29110 stm32f1xx_ll_tim.o - 40 6 0 0 0 2213 stm32f1xx_ll_utils.o - 88 18 0 4 0 1287 system_stm32f1xx.o - - ---------------------------------------------------------------------- - 1370 204 268 28 1028 452159 Object Totals - 0 0 32 0 0 0 (incl. Generated) - 2 0 0 0 4 0 (incl. Padding) - - ---------------------------------------------------------------------- - - Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name - - 0 0 0 0 0 0 entry.o - 0 0 0 0 0 0 entry10a.o - 0 0 0 0 0 0 entry11a.o - 8 4 0 0 0 0 entry2.o - 4 0 0 0 0 0 entry5.o - 0 0 0 0 0 0 entry7b.o - 0 0 0 0 0 0 entry8b.o - 8 4 0 0 0 0 entry9a.o - 30 0 0 0 0 0 handlers.o - 36 8 0 0 0 68 init.o - - ---------------------------------------------------------------------- - 86 16 0 0 0 68 Library Totals - 0 0 0 0 0 0 (incl. Padding) - - ---------------------------------------------------------------------- - - Code (inc. data) RO Data RW Data ZI Data Debug Library Name - - 86 16 0 0 0 68 mc_w.l - - ---------------------------------------------------------------------- - 86 16 0 0 0 68 Library Totals - - ---------------------------------------------------------------------- - -============================================================================== - - - Code (inc. data) RO Data RW Data ZI Data Debug - - 1456 220 268 28 1028 451339 Grand Totals - 1456 220 268 28 1028 451339 ELF Image Totals - 1456 220 268 28 0 0 ROM Totals - -============================================================================== - - Total RO Size (Code + RO Data) 1724 ( 1.68kB) - Total RW Size (RW Data + ZI Data) 1056 ( 1.03kB) - Total ROM Size (Code + RO Data + RW Data) 1752 ( 1.71kB) - -============================================================================== - +Component: ARM Compiler 5.06 update 6 (build 750) Tool: armlink [4d35ed] + +============================================================================== + +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_Conf) for Chrono_Conf + main.o(i.main) refers to chrono.o(i.Chrono_Start) for Chrono_Start + chrono.o(i.Chrono_Conf) refers to timer.o(i.MyTimer_Conf) for MyTimer_Conf + chrono.o(i.Chrono_Conf) refers to timer.o(i.MyTimer_IT_Conf) for MyTimer_IT_Conf + chrono.o(i.Chrono_Conf) refers to timer.o(i.MyTimer_IT_Enable) for MyTimer_IT_Enable + chrono.o(i.Chrono_Conf) refers to chrono.o(.data) for Chrono_Time + chrono.o(i.Chrono_Conf) refers to chrono.o(i.Chrono_Task_10ms) for Chrono_Task_10ms + chrono.o(i.Chrono_Read) refers to chrono.o(.data) for Chrono_Time + chrono.o(i.Chrono_Reset) refers to timer.o(i.MyTimer_Stop) for MyTimer_Stop + chrono.o(i.Chrono_Reset) refers to chrono.o(.data) for Chrono_Timer + chrono.o(i.Chrono_Start) refers to timer.o(i.MyTimer_Start) for MyTimer_Start + chrono.o(i.Chrono_Start) refers to chrono.o(.data) for Chrono_Timer + chrono.o(i.Chrono_Stop) refers to timer.o(i.MyTimer_Stop) for MyTimer_Stop + chrono.o(i.Chrono_Stop) refers to chrono.o(.data) for Chrono_Timer + chrono.o(i.Chrono_Task_10ms) refers to chrono.o(.data) for Chrono_Time + timer.o(i.MyTimer_Conf) refers to timer.o(i.LL_APB1_GRP1_EnableClock) for LL_APB1_GRP1_EnableClock + timer.o(i.MyTimer_Conf) refers to stm32f1xx_ll_tim.o(i.LL_TIM_Init) for LL_TIM_Init + timer.o(i.MyTimer_Conf) refers to timer.o(i.LL_TIM_DisableIT_UPDATE) for LL_TIM_DisableIT_UPDATE + timer.o(i.MyTimer_Conf) refers to timer.o(i.LL_TIM_DisableCounter) for LL_TIM_DisableCounter + timer.o(i.MyTimer_IT_Conf) refers to timer.o(i.LL_TIM_DisableIT_UPDATE) for LL_TIM_DisableIT_UPDATE + timer.o(i.MyTimer_IT_Conf) refers to timer.o(.data) for Ptr_ItFct_TIM1 + timer.o(i.MyTimer_IT_Disable) refers to timer.o(i.LL_TIM_DisableIT_UPDATE) for LL_TIM_DisableIT_UPDATE + timer.o(i.MyTimer_Stop) refers to timer.o(i.LL_TIM_DisableCounter) for LL_TIM_DisableCounter + timer.o(i.TIM1_UP_IRQHandler) refers to timer.o(i.LL_TIM_ClearFlag_UPDATE) for LL_TIM_ClearFlag_UPDATE + timer.o(i.TIM1_UP_IRQHandler) refers to timer.o(.data) for Ptr_ItFct_TIM1 + timer.o(i.TIM2_IRQHandler) refers to timer.o(i.LL_TIM_ClearFlag_UPDATE) for LL_TIM_ClearFlag_UPDATE + timer.o(i.TIM2_IRQHandler) refers to timer.o(.data) for Ptr_ItFct_TIM2 + timer.o(i.TIM3_IRQHandler) refers to timer.o(i.LL_TIM_ClearFlag_UPDATE) for LL_TIM_ClearFlag_UPDATE + timer.o(i.TIM3_IRQHandler) refers to timer.o(.data) for Ptr_ItFct_TIM3 + timer.o(i.TIM4_IRQHandler) refers to timer.o(i.LL_TIM_ClearFlag_UPDATE) for LL_TIM_ClearFlag_UPDATE + timer.o(i.TIM4_IRQHandler) refers to timer.o(.data) for Ptr_ItFct_TIM4 + stm32f1xx_ll_rcc.o(i.LL_RCC_DeInit) refers to stm32f1xx_ll_rcc.o(i.LL_RCC_PLL_IsReady) for LL_RCC_PLL_IsReady + stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) for RCC_GetSystemClockFreq + stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) for RCC_GetHCLKClockFreq + stm32f1xx_ll_rcc.o(i.LL_RCC_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) for RCC_GetPCLK2ClockFreq + stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) for RCC_GetSystemClockFreq + stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) for RCC_GetHCLKClockFreq + stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq) for RCC_GetPCLK1ClockFreq + stm32f1xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) for RCC_GetPCLK2ClockFreq + stm32f1xx_ll_rcc.o(i.LL_RCC_GetUSBClockFreq) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_rcc.o(i.LL_RCC_GetUSBClockFreq) refers to stm32f1xx_ll_rcc.o(i.LL_RCC_PLL_IsReady) for LL_RCC_PLL_IsReady + stm32f1xx_ll_rcc.o(i.LL_RCC_GetUSBClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS) for RCC_PLL_GetFreqDomain_SYS + stm32f1xx_ll_rcc.o(i.RCC_GetHCLKClockFreq) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable + stm32f1xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable + stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable + stm32f1xx_ll_rcc.o(i.RCC_GetSystemClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS) for RCC_PLL_GetFreqDomain_SYS + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy) for UTILS_PLL_IsBusy + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency) for UTILS_GetPLLOutputFrequency + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.LL_RCC_HSE_IsReady) for LL_RCC_HSE_IsReady + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS) for LL_RCC_PLL_ConfigDomain_SYS + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE) refers to stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) for UTILS_EnablePLLAndSwitchSystem + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy) for UTILS_PLL_IsBusy + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency) for UTILS_GetPLLOutputFrequency + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.LL_RCC_HSI_IsReady) for LL_RCC_HSI_IsReady + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS) for LL_RCC_PLL_ConfigDomain_SYS + stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI) refers to stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) for UTILS_EnablePLLAndSwitchSystem + stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) refers to system_stm32f1xx.o(.data) for SystemCoreClock + stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to stm32f1xx_ll_utils.o(i.UTILS_SetFlashLatency) for UTILS_SetFlashLatency + stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_IsReady) for LL_RCC_PLL_IsReady + stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) for LL_SetSystemCoreClock + stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable + stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem) refers to system_stm32f1xx.o(.data) for SystemCoreClock + stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy) refers to stm32f1xx_ll_utils.o(i.LL_RCC_PLL_IsReady) for LL_RCC_PLL_IsReady + stm32f1xx_ll_tim.o(i.IC1Config) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.IC2Config) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.IC3Config) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.IC4Config) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.LL_TIM_BDTR_Init) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.LL_TIM_DeInit) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.LL_TIM_DeInit) refers to stm32f1xx_ll_tim.o(i.LL_APB1_GRP1_ForceReset) for LL_APB1_GRP1_ForceReset + stm32f1xx_ll_tim.o(i.LL_TIM_DeInit) refers to stm32f1xx_ll_tim.o(i.LL_APB1_GRP1_ReleaseReset) for LL_APB1_GRP1_ReleaseReset + stm32f1xx_ll_tim.o(i.LL_TIM_ENCODER_Init) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.LL_TIM_HALLSENSOR_Init) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.LL_TIM_HALLSENSOR_Init) refers to stm32f1xx_ll_tim.o(i.LL_TIM_OC_SetCompareCH2) for LL_TIM_OC_SetCompareCH2 + stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init) refers to stm32f1xx_ll_tim.o(i.IC1Config) for IC1Config + stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init) refers to stm32f1xx_ll_tim.o(i.IC2Config) for IC2Config + stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init) refers to stm32f1xx_ll_tim.o(i.IC3Config) for IC3Config + stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init) refers to stm32f1xx_ll_tim.o(i.IC4Config) for IC4Config + stm32f1xx_ll_tim.o(i.LL_TIM_Init) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f1xx_ll_tim.o(i.OC1Config) for OC1Config + stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f1xx_ll_tim.o(i.OC2Config) for OC2Config + stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f1xx_ll_tim.o(i.OC3Config) for OC3Config + stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f1xx_ll_tim.o(i.OC4Config) for OC4Config + stm32f1xx_ll_tim.o(i.OC1Config) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.OC2Config) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.OC2Config) refers to stm32f1xx_ll_tim.o(i.LL_TIM_OC_SetCompareCH2) for LL_TIM_OC_SetCompareCH2 + stm32f1xx_ll_tim.o(i.OC3Config) refers to main.o(i.assert_failed) for assert_failed + stm32f1xx_ll_tim.o(i.OC4Config) refers to main.o(i.assert_failed) for assert_failed + system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.data) for SystemCoreClock + system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable + startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(STACK) for __initial_sp + startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(.text) for Reset_Handler + startup_stm32f103xb.o(RESET) refers to timer.o(i.TIM1_UP_IRQHandler) for TIM1_UP_IRQHandler + startup_stm32f103xb.o(RESET) refers to timer.o(i.TIM2_IRQHandler) for TIM2_IRQHandler + startup_stm32f103xb.o(RESET) refers to timer.o(i.TIM3_IRQHandler) for TIM3_IRQHandler + startup_stm32f103xb.o(RESET) refers to timer.o(i.TIM4_IRQHandler) for TIM4_IRQHandler + startup_stm32f103xb.o(.text) refers to system_stm32f1xx.o(i.SystemInit) for SystemInit + startup_stm32f103xb.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$0000000F) for __rt_final_exit + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry8b.o(.ARM.Collect$$$$0000000A) for _main_cpp_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload + entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk + entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000 + entry2.o(.ARM.Collect$$$$00002712) refers to startup_stm32f103xb.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to startup_stm32f103xb.o(STACK) for __initial_sp + entry2.o(__vectab_stack_and_reset_area) refers to entry.o(.ARM.Collect$$$$00000000) for __main + entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload + entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(i.main) for main + entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(i.main) for main + init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload + + +============================================================================== + +Removing Unused input sections from the image. + + Removing main.o(.rev16_text), (4 bytes). + Removing main.o(.revsh_text), (4 bytes). + Removing main.o(.rrx_text), (6 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_Read), (8 bytes). + Removing chrono.o(i.Chrono_Reset), (32 bytes). + Removing chrono.o(i.Chrono_Stop), (16 bytes). + Removing timer.o(.rev16_text), (4 bytes). + Removing timer.o(.revsh_text), (4 bytes). + Removing timer.o(.rrx_text), (6 bytes). + Removing timer.o(i.MyTimer_IT_Disable), (12 bytes). + Removing timer.o(i.MyTimer_Stop), (12 bytes). + Removing timer.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). + Removing stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE), (260 bytes). + Removing stm32f1xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI), (104 bytes). + Removing stm32f1xx_ll_utils.o(i.LL_RCC_HSE_IsReady), (16 bytes). + Removing stm32f1xx_ll_utils.o(i.LL_RCC_HSI_IsReady), (16 bytes). + Removing stm32f1xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS), (28 bytes). + Removing stm32f1xx_ll_utils.o(i.LL_RCC_PLL_IsReady), (16 bytes). + Removing stm32f1xx_ll_utils.o(i.LL_mDelay), (40 bytes). + Removing stm32f1xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem), (416 bytes). + Removing stm32f1xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency), (228 bytes). + Removing stm32f1xx_ll_utils.o(i.UTILS_PLL_IsBusy), (16 bytes). + Removing stm32f1xx_ll_utils.o(i.UTILS_SetFlashLatency), (80 bytes). + Removing stm32f1xx_ll_tim.o(.rev16_text), (4 bytes). + Removing stm32f1xx_ll_tim.o(.revsh_text), (4 bytes). + Removing stm32f1xx_ll_tim.o(.rrx_text), (6 bytes). + Removing stm32f1xx_ll_tim.o(i.IC1Config), (376 bytes). + Removing stm32f1xx_ll_tim.o(i.IC2Config), (376 bytes). + Removing stm32f1xx_ll_tim.o(i.IC3Config), (380 bytes). + Removing stm32f1xx_ll_tim.o(i.IC4Config), (380 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_APB1_GRP1_ForceReset), (16 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_APB1_GRP1_ReleaseReset), (16 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_BDTR_Init), (312 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_BDTR_StructInit), (18 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_DeInit), (192 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_ENCODER_Init), (688 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_ENCODER_StructInit), (36 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_HALLSENSOR_Init), (396 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_HALLSENSOR_StructInit), (12 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_IC_Init), (92 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_IC_StructInit), (18 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_OC_Init), (92 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_OC_SetCompareCH2), (4 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_OC_StructInit), (20 bytes). + Removing stm32f1xx_ll_tim.o(i.LL_TIM_StructInit), (18 bytes). + Removing stm32f1xx_ll_tim.o(i.OC1Config), (404 bytes). + Removing stm32f1xx_ll_tim.o(i.OC2Config), (404 bytes). + Removing stm32f1xx_ll_tim.o(i.OC3Config), (404 bytes). + Removing stm32f1xx_ll_tim.o(i.OC4Config), (372 bytes). + Removing stm32f1xx_ll_tim.o(.constdata), (35 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). + +75 unused section(s) (total 7894 bytes) removed from the image. + +============================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Ov Type Size Object(Section) + + ../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 entry8a.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 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ..\LLDrivers\src\stm32f1xx_ll_rcc.c 0x00000000 Number 0 stm32f1xx_ll_rcc.o ABSOLUTE + ..\LLDrivers\src\stm32f1xx_ll_tim.c 0x00000000 Number 0 stm32f1xx_ll_tim.o ABSOLUTE + ..\LLDrivers\src\stm32f1xx_ll_utils.c 0x00000000 Number 0 stm32f1xx_ll_utils.o ABSOLUTE + ..\MyDrivers\ADC.c 0x00000000 Number 0 adc.o ABSOLUTE + ..\MyDrivers\GPIO.c 0x00000000 Number 0 gpio.o ABSOLUTE + ..\MyDrivers\Timer.c 0x00000000 Number 0 timer.o ABSOLUTE + ..\MyDrivers\USART.c 0x00000000 Number 0 usart.o ABSOLUTE + ..\Services\Accelerometer.c 0x00000000 Number 0 accelerometer.o ABSOLUTE + ..\Services\Chrono.c 0x00000000 Number 0 chrono.o ABSOLUTE + ..\Services\DCMotor.c 0x00000000 Number 0 dcmotor.o ABSOLUTE + ..\Services\IncrementalEncoder.c 0x00000000 Number 0 incrementalencoder.o ABSOLUTE + ..\Services\RFEmitter.c 0x00000000 Number 0 rfemitter.o ABSOLUTE + ..\Services\RFReceiver.c 0x00000000 Number 0 rfreceiver.o ABSOLUTE + ..\Services\ServoMotor.c 0x00000000 Number 0 servomotor.o ABSOLUTE + ..\Services\Voltage.c 0x00000000 Number 0 voltage.o ABSOLUTE + ..\Src\Display.c 0x00000000 Number 0 display.o ABSOLUTE + ..\Src\Orientation.c 0x00000000 Number 0 orientation.o ABSOLUTE + ..\Src\Roll.c 0x00000000 Number 0 roll.o ABSOLUTE + ..\Src\Sail.c 0x00000000 Number 0 sail.o ABSOLUTE + ..\Src\main.c 0x00000000 Number 0 main.o ABSOLUTE + ..\Src\system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE + ..\\LLDrivers\\src\\stm32f1xx_ll_rcc.c 0x00000000 Number 0 stm32f1xx_ll_rcc.o ABSOLUTE + ..\\LLDrivers\\src\\stm32f1xx_ll_tim.c 0x00000000 Number 0 stm32f1xx_ll_tim.o ABSOLUTE + ..\\LLDrivers\\src\\stm32f1xx_ll_utils.c 0x00000000 Number 0 stm32f1xx_ll_utils.o ABSOLUTE + ..\\MyDrivers\\Timer.c 0x00000000 Number 0 timer.o ABSOLUTE + ..\\Services\\Chrono.c 0x00000000 Number 0 chrono.o ABSOLUTE + dc.s 0x00000000 Number 0 dc.o ABSOLUTE + handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE + init.s 0x00000000 Number 0 init.o ABSOLUTE + startup_stm32f103xb.s 0x00000000 Number 0 startup_stm32f103xb.o ABSOLUTE + RESET 0x08000000 Section 236 startup_stm32f103xb.o(RESET) + .ARM.Collect$$$$00000000 0x080000ec Section 0 entry.o(.ARM.Collect$$$$00000000) + .ARM.Collect$$$$00000001 0x080000ec Section 4 entry2.o(.ARM.Collect$$$$00000001) + .ARM.Collect$$$$00000004 0x080000f0 Section 4 entry5.o(.ARM.Collect$$$$00000004) + .ARM.Collect$$$$00000008 0x080000f4 Section 0 entry7b.o(.ARM.Collect$$$$00000008) + .ARM.Collect$$$$0000000A 0x080000f4 Section 0 entry8b.o(.ARM.Collect$$$$0000000A) + .ARM.Collect$$$$0000000B 0x080000f4 Section 8 entry9a.o(.ARM.Collect$$$$0000000B) + .ARM.Collect$$$$0000000D 0x080000fc Section 0 entry10a.o(.ARM.Collect$$$$0000000D) + .ARM.Collect$$$$0000000F 0x080000fc Section 0 entry11a.o(.ARM.Collect$$$$0000000F) + .ARM.Collect$$$$00002712 0x080000fc Section 4 entry2.o(.ARM.Collect$$$$00002712) + __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_Conf 0x08000148 Section 0 chrono.o(i.Chrono_Conf) + i.Chrono_Start 0x0800018c Section 0 chrono.o(i.Chrono_Start) + i.Chrono_Task_10ms 0x0800019c Section 0 chrono.o(i.Chrono_Task_10ms) + i.LL_APB1_GRP1_EnableClock 0x080001e4 Section 0 timer.o(i.LL_APB1_GRP1_EnableClock) + LL_APB1_GRP1_EnableClock 0x080001e5 Thumb Code 24 timer.o(i.LL_APB1_GRP1_EnableClock) + i.LL_Init1msTick 0x08000200 Section 0 stm32f1xx_ll_utils.o(i.LL_Init1msTick) + i.LL_SetSystemCoreClock 0x0800021c Section 0 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) + i.LL_TIM_ClearFlag_UPDATE 0x08000228 Section 0 timer.o(i.LL_TIM_ClearFlag_UPDATE) + LL_TIM_ClearFlag_UPDATE 0x08000229 Thumb Code 8 timer.o(i.LL_TIM_ClearFlag_UPDATE) + i.LL_TIM_DisableCounter 0x08000230 Section 0 timer.o(i.LL_TIM_DisableCounter) + LL_TIM_DisableCounter 0x08000231 Thumb Code 10 timer.o(i.LL_TIM_DisableCounter) + i.LL_TIM_DisableIT_UPDATE 0x0800023a Section 0 timer.o(i.LL_TIM_DisableIT_UPDATE) + LL_TIM_DisableIT_UPDATE 0x0800023b Thumb Code 10 timer.o(i.LL_TIM_DisableIT_UPDATE) + i.LL_TIM_Init 0x08000244 Section 0 stm32f1xx_ll_tim.o(i.LL_TIM_Init) + i.MyTimer_Conf 0x08000358 Section 0 timer.o(i.MyTimer_Conf) + i.MyTimer_IT_Conf 0x080003dc Section 0 timer.o(i.MyTimer_IT_Conf) + i.MyTimer_IT_Enable 0x080004a4 Section 0 timer.o(i.MyTimer_IT_Enable) + i.MyTimer_Start 0x080004b2 Section 0 timer.o(i.MyTimer_Start) + i.SystemClock_Config 0x080004c0 Section 0 main.o(i.SystemClock_Config) + i.SystemInit 0x080005b0 Section 0 system_stm32f1xx.o(i.SystemInit) + i.TIM1_UP_IRQHandler 0x08000608 Section 0 timer.o(i.TIM1_UP_IRQHandler) + i.TIM2_IRQHandler 0x08000620 Section 0 timer.o(i.TIM2_IRQHandler) + i.TIM3_IRQHandler 0x08000638 Section 0 timer.o(i.TIM3_IRQHandler) + i.TIM4_IRQHandler 0x08000650 Section 0 timer.o(i.TIM4_IRQHandler) + i.__scatterload_copy 0x08000668 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x08000676 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x08000678 Section 14 handlers.o(i.__scatterload_zeroinit) + i.assert_failed 0x08000686 Section 0 main.o(i.assert_failed) + i.main 0x0800068c Section 0 main.o(i.main) + .data 0x20000000 Section 8 chrono.o(.data) + Chrono_Time 0x20000000 Data 3 chrono.o(.data) + Chrono_Timer 0x20000004 Data 4 chrono.o(.data) + .data 0x20000008 Section 16 timer.o(.data) + .data 0x20000018 Section 4 system_stm32f1xx.o(.data) + STACK 0x20000020 Section 1024 startup_stm32f103xb.o(STACK) + + Global Symbols + + Symbol Name Value Ov Type Size Object(Section) + + BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + __ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE + __cpp_initialize__aeabi_ - Undefined Weak Reference + __cxa_finalize - Undefined Weak Reference + __decompress - Undefined Weak Reference + _clock_init - Undefined Weak Reference + _microlib_exit - Undefined Weak Reference + __Vectors_Size 0x000000ec Number 0 startup_stm32f103xb.o ABSOLUTE + __Vectors 0x08000000 Data 4 startup_stm32f103xb.o(RESET) + __Vectors_End 0x080000ec Data 0 startup_stm32f103xb.o(RESET) + __main 0x080000ed Thumb Code 0 entry.o(.ARM.Collect$$$$00000000) + _main_stk 0x080000ed Thumb Code 0 entry2.o(.ARM.Collect$$$$00000001) + _main_scatterload 0x080000f1 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + __main_after_scatterload 0x080000f5 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004) + _main_clock 0x080000f5 Thumb Code 0 entry7b.o(.ARM.Collect$$$$00000008) + _main_cpp_init 0x080000f5 Thumb Code 0 entry8b.o(.ARM.Collect$$$$0000000A) + _main_init 0x080000f5 Thumb Code 0 entry9a.o(.ARM.Collect$$$$0000000B) + __rt_final_cpp 0x080000fd Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000D) + __rt_final_exit 0x080000fd Thumb Code 0 entry11a.o(.ARM.Collect$$$$0000000F) + Reset_Handler 0x08000101 Thumb Code 8 startup_stm32f103xb.o(.text) + NMI_Handler 0x08000109 Thumb Code 2 startup_stm32f103xb.o(.text) + HardFault_Handler 0x0800010b Thumb Code 2 startup_stm32f103xb.o(.text) + MemManage_Handler 0x0800010d Thumb Code 2 startup_stm32f103xb.o(.text) + BusFault_Handler 0x0800010f Thumb Code 2 startup_stm32f103xb.o(.text) + UsageFault_Handler 0x08000111 Thumb Code 2 startup_stm32f103xb.o(.text) + SVC_Handler 0x08000113 Thumb Code 2 startup_stm32f103xb.o(.text) + DebugMon_Handler 0x08000115 Thumb Code 2 startup_stm32f103xb.o(.text) + PendSV_Handler 0x08000117 Thumb Code 2 startup_stm32f103xb.o(.text) + SysTick_Handler 0x08000119 Thumb Code 2 startup_stm32f103xb.o(.text) + ADC1_2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + CAN1_RX1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + CAN1_SCE_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + DMA1_Channel1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + DMA1_Channel2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + DMA1_Channel3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + DMA1_Channel4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + DMA1_Channel5_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + DMA1_Channel6_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + DMA1_Channel7_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + EXTI0_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + EXTI15_10_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + EXTI1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + EXTI2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + EXTI3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + EXTI4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + EXTI9_5_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + FLASH_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + I2C1_ER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + I2C1_EV_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + I2C2_ER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + I2C2_EV_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + PVD_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + RCC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + RTC_Alarm_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + RTC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + SPI1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + SPI2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + TAMPER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + TIM1_BRK_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + TIM1_CC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + TIM1_TRG_COM_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + USART1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + USART2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + USART3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + USBWakeUp_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + USB_HP_CAN1_TX_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + USB_LP_CAN1_RX0_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) + 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_Conf 0x08000149 Thumb Code 54 chrono.o(i.Chrono_Conf) + Chrono_Start 0x0800018d Thumb Code 12 chrono.o(i.Chrono_Start) + Chrono_Task_10ms 0x0800019d Thumb Code 68 chrono.o(i.Chrono_Task_10ms) + LL_Init1msTick 0x08000201 Thumb Code 28 stm32f1xx_ll_utils.o(i.LL_Init1msTick) + LL_SetSystemCoreClock 0x0800021d Thumb Code 6 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) + LL_TIM_Init 0x08000245 Thumb Code 228 stm32f1xx_ll_tim.o(i.LL_TIM_Init) + MyTimer_Conf 0x08000359 Thumb Code 118 timer.o(i.MyTimer_Conf) + MyTimer_IT_Conf 0x080003dd Thumb Code 166 timer.o(i.MyTimer_IT_Conf) + MyTimer_IT_Enable 0x080004a5 Thumb Code 14 timer.o(i.MyTimer_IT_Enable) + MyTimer_Start 0x080004b3 Thumb Code 14 timer.o(i.MyTimer_Start) + SystemClock_Config 0x080004c1 Thumb Code 226 main.o(i.SystemClock_Config) + SystemInit 0x080005b1 Thumb Code 70 system_stm32f1xx.o(i.SystemInit) + TIM1_UP_IRQHandler 0x08000609 Thumb Code 16 timer.o(i.TIM1_UP_IRQHandler) + TIM2_IRQHandler 0x08000621 Thumb Code 18 timer.o(i.TIM2_IRQHandler) + TIM3_IRQHandler 0x08000639 Thumb Code 16 timer.o(i.TIM3_IRQHandler) + TIM4_IRQHandler 0x08000651 Thumb Code 16 timer.o(i.TIM4_IRQHandler) + __scatterload_copy 0x08000669 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x08000677 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x08000679 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + assert_failed 0x08000687 Thumb Code 4 main.o(i.assert_failed) + main 0x0800068d Thumb Code 18 main.o(i.main) + Region$$Table$$Base 0x080006a4 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x080006c4 Number 0 anon$$obj.o(Region$$Table) + Ptr_ItFct_TIM1 0x20000008 Data 4 timer.o(.data) + Ptr_ItFct_TIM2 0x2000000c Data 4 timer.o(.data) + Ptr_ItFct_TIM3 0x20000010 Data 4 timer.o(.data) + Ptr_ItFct_TIM4 0x20000014 Data 4 timer.o(.data) + SystemCoreClock 0x20000018 Data 4 system_stm32f1xx.o(.data) + __initial_sp 0x20000420 Data 0 startup_stm32f103xb.o(STACK) + + + +============================================================================== + +Memory Map of the image + + Image Entry point : 0x080000ed + + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000006e0, Max: 0x00020000, ABSOLUTE) + + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000006c4, Max: 0x00020000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x08000000 0x08000000 0x000000ec Data RO 753 RESET startup_stm32f103xb.o + 0x080000ec 0x080000ec 0x00000000 Code RO 758 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 761 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 764 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 766 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 768 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 769 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000000 Code RO 771 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) + 0x080000fc 0x080000fc 0x00000000 Code RO 773 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 762 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000100 0x08000100 0x00000024 Code RO 754 .text startup_stm32f103xb.o + 0x08000124 0x08000124 0x00000024 Code RO 775 .text mc_w.l(init.o) + 0x08000148 0x08000148 0x00000044 Code RO 117 i.Chrono_Conf chrono.o + 0x0800018c 0x0800018c 0x00000010 Code RO 120 i.Chrono_Start chrono.o + 0x0800019c 0x0800019c 0x00000048 Code RO 122 i.Chrono_Task_10ms chrono.o + 0x080001e4 0x080001e4 0x0000001c Code RO 239 i.LL_APB1_GRP1_EnableClock timer.o + 0x08000200 0x08000200 0x0000001c Code RO 461 i.LL_Init1msTick stm32f1xx_ll_utils.o + 0x0800021c 0x0800021c 0x0000000c Code RO 468 i.LL_SetSystemCoreClock stm32f1xx_ll_utils.o + 0x08000228 0x08000228 0x00000008 Code RO 240 i.LL_TIM_ClearFlag_UPDATE timer.o + 0x08000230 0x08000230 0x0000000a Code RO 241 i.LL_TIM_DisableCounter timer.o + 0x0800023a 0x0800023a 0x0000000a Code RO 242 i.LL_TIM_DisableIT_UPDATE timer.o + 0x08000244 0x08000244 0x00000114 Code RO 573 i.LL_TIM_Init stm32f1xx_ll_tim.o + 0x08000358 0x08000358 0x00000084 Code RO 243 i.MyTimer_Conf timer.o + 0x080003dc 0x080003dc 0x000000c8 Code RO 244 i.MyTimer_IT_Conf timer.o + 0x080004a4 0x080004a4 0x0000000e Code RO 246 i.MyTimer_IT_Enable timer.o + 0x080004b2 0x080004b2 0x0000000e Code RO 247 i.MyTimer_Start timer.o + 0x080004c0 0x080004c0 0x000000f0 Code RO 4 i.SystemClock_Config main.o + 0x080005b0 0x080005b0 0x00000058 Code RO 718 i.SystemInit system_stm32f1xx.o + 0x08000608 0x08000608 0x00000018 Code RO 249 i.TIM1_UP_IRQHandler timer.o + 0x08000620 0x08000620 0x00000018 Code RO 250 i.TIM2_IRQHandler timer.o + 0x08000638 0x08000638 0x00000018 Code RO 251 i.TIM3_IRQHandler timer.o + 0x08000650 0x08000650 0x00000018 Code RO 252 i.TIM4_IRQHandler timer.o + 0x08000668 0x08000668 0x0000000e Code RO 779 i.__scatterload_copy mc_w.l(handlers.o) + 0x08000676 0x08000676 0x00000002 Code RO 780 i.__scatterload_null mc_w.l(handlers.o) + 0x08000678 0x08000678 0x0000000e Code RO 781 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x08000686 0x08000686 0x00000004 Code RO 5 i.assert_failed main.o + 0x0800068a 0x0800068a 0x00000002 PAD + 0x0800068c 0x0800068c 0x00000018 Code RO 6 i.main main.o + 0x080006a4 0x080006a4 0x00000020 Data RO 777 Region$$Table anon$$obj.o + + + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080006c4, Size: 0x00000420, Max: 0x00005000, ABSOLUTE) + + Exec Addr Load Addr Size Type Attr Idx E Section Name Object + + 0x20000000 0x080006c4 0x00000008 Data RW 123 .data chrono.o + 0x20000008 0x080006cc 0x00000010 Data RW 254 .data timer.o + 0x20000018 0x080006dc 0x00000004 Data RW 720 .data system_stm32f1xx.o + 0x2000001c 0x080006e0 0x00000004 PAD + 0x20000020 - 0x00000400 Zero RW 751 STACK startup_stm32f103xb.o + + +============================================================================== + +Image component sizes + + + Code (inc. data) RO Data RW Data ZI Data Debug Object Name + + 156 22 0 8 0 2000 chrono.o + 268 20 0 0 0 356672 main.o + 36 8 236 0 1024 780 startup_stm32f103xb.o + 276 48 0 0 0 28994 stm32f1xx_ll_tim.o + 40 6 0 0 0 2105 stm32f1xx_ll_utils.o + 88 18 0 4 0 1171 system_stm32f1xx.o + 512 82 0 16 0 59169 timer.o + + ---------------------------------------------------------------------- + 1378 204 268 28 1028 450891 Object Totals + 0 0 32 0 0 0 (incl. Generated) + 2 0 0 0 4 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + + 0 0 0 0 0 0 entry.o + 0 0 0 0 0 0 entry10a.o + 0 0 0 0 0 0 entry11a.o + 8 4 0 0 0 0 entry2.o + 4 0 0 0 0 0 entry5.o + 0 0 0 0 0 0 entry7b.o + 0 0 0 0 0 0 entry8b.o + 8 4 0 0 0 0 entry9a.o + 30 0 0 0 0 0 handlers.o + 36 8 0 0 0 68 init.o + + ---------------------------------------------------------------------- + 86 16 0 0 0 68 Library Totals + 0 0 0 0 0 0 (incl. Padding) + + ---------------------------------------------------------------------- + + Code (inc. data) RO Data RW Data ZI Data Debug Library Name + + 86 16 0 0 0 68 mc_w.l + + ---------------------------------------------------------------------- + 86 16 0 0 0 68 Library Totals + + ---------------------------------------------------------------------- + +============================================================================== + + + Code (inc. data) RO Data RW Data ZI Data Debug + + 1464 220 268 28 1028 450071 Grand Totals + 1464 220 268 28 1028 450071 ELF Image Totals + 1464 220 268 28 0 0 ROM Totals + +============================================================================== + + Total RO Size (Code + RO Data) 1732 ( 1.69kB) + Total RW Size (RW Data + ZI Data) 1056 ( 1.03kB) + Total ROM Size (Code + RO Data + RW Data) 1760 ( 1.72kB) + +============================================================================== + diff --git a/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.sct b/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.sct index c26b647..418dc4b 100644 --- a/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.sct +++ b/MDK-ARM/NUCLEO-F103RB/NUCLEO-F103RB.sct @@ -1,15 +1,16 @@ -; ************************************************************* -; *** Scatter-Loading Description File generated by uVision *** -; ************************************************************* - -LR_IROM1 0x08000000 0x00020000 { ; load region size_region - ER_IROM1 0x08000000 0x00020000 { ; load address = execution address - *.o (RESET, +First) - *(InRoot$$Sections) - .ANY (+RO) - } - RW_IRAM1 0x20000000 0x00005000 { ; RW data - .ANY (+RW +ZI) - } -} - +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_IROM1 0x08000000 0x00020000 { ; load region size_region + ER_IROM1 0x08000000 0x00020000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x20000000 0x00005000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/MDK-ARM/NUCLEO-F103RB/chrono.crf b/MDK-ARM/NUCLEO-F103RB/chrono.crf index 6ad6095..f1658c9 100644 Binary files a/MDK-ARM/NUCLEO-F103RB/chrono.crf and b/MDK-ARM/NUCLEO-F103RB/chrono.crf differ diff --git a/MDK-ARM/NUCLEO-F103RB/main.crf b/MDK-ARM/NUCLEO-F103RB/main.crf index 0cd1480..6b63ab1 100644 Binary files a/MDK-ARM/NUCLEO-F103RB/main.crf and b/MDK-ARM/NUCLEO-F103RB/main.crf differ diff --git a/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_rcc.crf b/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_rcc.crf index 86c46c1..46c6184 100644 Binary files a/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_rcc.crf and b/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_rcc.crf differ diff --git a/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_tim.crf b/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_tim.crf index 2194375..dbc97fb 100644 Binary files a/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_tim.crf and b/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_tim.crf differ diff --git a/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_utils.crf b/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_utils.crf index 9752414..b557f55 100644 Binary files a/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_utils.crf and b/MDK-ARM/NUCLEO-F103RB/stm32f1xx_ll_utils.crf differ diff --git a/MDK-ARM/NUCLEO-F103RB/system_stm32f1xx.crf b/MDK-ARM/NUCLEO-F103RB/system_stm32f1xx.crf index 9848342..ab0d30f 100644 Binary files a/MDK-ARM/NUCLEO-F103RB/system_stm32f1xx.crf and b/MDK-ARM/NUCLEO-F103RB/system_stm32f1xx.crf differ diff --git a/MDK-ARM/Project.uvoptx b/MDK-ARM/Project.uvoptx index 56fe5a8..542aa50 100644 --- a/MDK-ARM/Project.uvoptx +++ b/MDK-ARM/Project.uvoptx @@ -101,6 +101,8 @@ 0 0 1 + 0 + 0 5 @@ -230,8 +232,13 @@ + + + + 1 + 0 0 2 10000000 @@ -319,6 +326,8 @@ 0 0 1 + 0 + 0 5 @@ -425,8 +434,13 @@ + + + + 1 + 0 0 2 10000000 @@ -452,6 +466,54 @@ 0 0 + + 1 + 2 + 1 + 0 + 0 + 0 + ..\Src\Display.c + Display.c + 0 + 0 + + + 1 + 3 + 1 + 0 + 0 + 0 + ..\Src\Orientation.c + Orientation.c + 0 + 0 + + + 1 + 4 + 1 + 0 + 0 + 0 + ..\Src\Roll.c + Roll.c + 0 + 0 + + + 1 + 5 + 1 + 0 + 0 + 0 + ..\Src\Sail.c + Sail.c + 0 + 0 + @@ -462,7 +524,7 @@ 0 2 - 2 + 6 1 0 0 @@ -472,6 +534,90 @@ 0 0 + + 2 + 7 + 1 + 0 + 0 + 0 + ..\Services\Accelerometer.c + Accelerometer.c + 0 + 0 + + + 2 + 8 + 1 + 0 + 0 + 0 + ..\Services\DCMotor.c + DCMotor.c + 0 + 0 + + + 2 + 9 + 1 + 0 + 0 + 0 + ..\Services\IncrementalEncoder.c + IncrementalEncoder.c + 0 + 0 + + + 2 + 10 + 1 + 0 + 0 + 0 + ..\Services\RFEmitter.c + RFEmitter.c + 0 + 0 + + + 2 + 11 + 1 + 0 + 0 + 0 + ..\Services\RFReceiver.c + RFReceiver.c + 0 + 0 + + + 2 + 12 + 1 + 0 + 0 + 0 + ..\Services\ServoMotor.c + ServoMotor.c + 0 + 0 + + + 2 + 13 + 1 + 0 + 0 + 0 + ..\Services\Voltage.c + Voltage.c + 0 + 0 + @@ -482,13 +628,49 @@ 0 3 - 3 + 14 1 0 0 0 - ..\MyDrivers\MyTimer.c - MyTimer.c + ..\MyDrivers\Timer.c + Timer.c + 0 + 0 + + + 3 + 15 + 1 + 0 + 0 + 0 + ..\MyDrivers\ADC.c + ADC.c + 0 + 0 + + + 3 + 16 + 1 + 0 + 0 + 0 + ..\MyDrivers\GPIO.c + GPIO.c + 0 + 0 + + + 3 + 17 + 1 + 0 + 0 + 0 + ..\MyDrivers\USART.c + USART.c 0 0 @@ -502,7 +684,7 @@ 0 4 - 4 + 18 1 0 0 @@ -514,7 +696,7 @@ 4 - 5 + 19 1 0 0 @@ -526,7 +708,7 @@ 4 - 6 + 20 1 0 0 @@ -546,7 +728,7 @@ 0 5 - 7 + 21 5 0 0 @@ -566,7 +748,7 @@ 0 6 - 8 + 22 1 0 0 @@ -586,7 +768,7 @@ 0 7 - 9 + 23 2 0 0 diff --git a/MDK-ARM/Project.uvprojx b/MDK-ARM/Project.uvprojx index 10bdafa..881272c 100644 --- a/MDK-ARM/Project.uvprojx +++ b/MDK-ARM/Project.uvprojx @@ -11,11 +11,12 @@ 0x4 ARM-ADS 5060422::V5.06 update 4 (build 422)::ARMCC + 8 STM32F103RB STMicroelectronics - Keil.STM32F1xx_DFP.2.2.0 + Keil.STM32F1xx_DFP.2.3.0 http://www.keil.com/pack/ IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") @@ -183,6 +184,8 @@ 0 0 0 + 0 + 0 0 0 8 @@ -323,6 +326,7 @@ 0 0 0 + 0 0 1 1 @@ -348,7 +352,7 @@ 0 0 0 - 0 + 4 @@ -384,6 +388,26 @@ 1 ../Src/main.c + + Display.c + 1 + ..\Src\Display.c + + + Orientation.c + 1 + ..\Src\Orientation.c + + + Roll.c + 1 + ..\Src\Roll.c + + + Sail.c + 1 + ..\Src\Sail.c + @@ -394,15 +418,65 @@ 1 ..\Services\Chrono.c + + Accelerometer.c + 1 + ..\Services\Accelerometer.c + + + DCMotor.c + 1 + ..\Services\DCMotor.c + + + IncrementalEncoder.c + 1 + ..\Services\IncrementalEncoder.c + + + RFEmitter.c + 1 + ..\Services\RFEmitter.c + + + RFReceiver.c + 1 + ..\Services\RFReceiver.c + + + ServoMotor.c + 1 + ..\Services\ServoMotor.c + + + Voltage.c + 1 + ..\Services\Voltage.c + MyDrivers - MyTimer.c + Timer.c 1 - ..\MyDrivers\MyTimer.c + ..\MyDrivers\Timer.c + + + ADC.c + 1 + ..\MyDrivers\ADC.c + + + GPIO.c + 1 + ..\MyDrivers\GPIO.c + + + USART.c + 1 + ..\MyDrivers\USART.c @@ -465,12 +539,13 @@ Simulateur 0x4 ARM-ADS - 5060422::V5.06 update 4 (build 422)::ARMCC + 5060750::V5.06 update 6 (build 750)::.\ARMCC + 0 STM32F103RB STMicroelectronics - Keil.STM32F1xx_DFP.2.2.0 + Keil.STM32F1xx_DFP.2.3.0 http://www.keil.com/pack/ IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") @@ -638,6 +713,8 @@ 0 0 0 + 0 + 0 0 0 8 @@ -778,6 +855,7 @@ 0 0 0 + 0 0 1 1 @@ -803,7 +881,7 @@ 0 0 0 - 0 + 4 @@ -839,6 +917,26 @@ 1 ../Src/main.c + + Display.c + 1 + ..\Src\Display.c + + + Orientation.c + 1 + ..\Src\Orientation.c + + + Roll.c + 1 + ..\Src\Roll.c + + + Sail.c + 1 + ..\Src\Sail.c + @@ -849,15 +947,65 @@ 1 ..\Services\Chrono.c + + Accelerometer.c + 1 + ..\Services\Accelerometer.c + + + DCMotor.c + 1 + ..\Services\DCMotor.c + + + IncrementalEncoder.c + 1 + ..\Services\IncrementalEncoder.c + + + RFEmitter.c + 1 + ..\Services\RFEmitter.c + + + RFReceiver.c + 1 + ..\Services\RFReceiver.c + + + ServoMotor.c + 1 + ..\Services\ServoMotor.c + + + Voltage.c + 1 + ..\Services\Voltage.c + MyDrivers - MyTimer.c + Timer.c 1 - ..\MyDrivers\MyTimer.c + ..\MyDrivers\Timer.c + + + ADC.c + 1 + ..\MyDrivers\ADC.c + + + GPIO.c + 1 + ..\MyDrivers\GPIO.c + + + USART.c + 1 + ..\MyDrivers\USART.c @@ -932,4 +1080,19 @@ + + + + <Project Info> + + + + + + 0 + 1 + + + + diff --git a/MDK-ARM/RTE/_Simulateur/RTE_Components.h b/MDK-ARM/RTE/_Simulateur/RTE_Components.h index ca6d1f5..1feeb14 100644 --- a/MDK-ARM/RTE/_Simulateur/RTE_Components.h +++ b/MDK-ARM/RTE/_Simulateur/RTE_Components.h @@ -1,21 +1,21 @@ - -/* - * Auto generated Run-Time-Environment Configuration File - * *** Do not modify ! *** - * - * Project: 'Project' - * Target: 'Simulateur' - */ - -#ifndef RTE_COMPONENTS_H -#define RTE_COMPONENTS_H - - -/* - * Define the Device Header File: - */ -#define CMSIS_device_header "stm32f10x.h" - - - -#endif /* RTE_COMPONENTS_H */ + +/* + * Auto generated Run-Time-Environment Configuration File + * *** Do not modify ! *** + * + * Project: 'Project' + * Target: 'Simulateur' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f10x.h" + + + +#endif /* RTE_COMPONENTS_H */ diff --git a/MyDrivers/ADC.h b/MyDrivers/ADC.h index f2fa06c..c4ee01e 100644 --- a/MyDrivers/ADC.h +++ b/MyDrivers/ADC.h @@ -1,70 +1,4 @@ -// RIEN A MODIFIER // - -#ifndef MY_TIMER_H -#define MY_TIMER_H - -/* -Driver pour Timer 1 à 4 du STM32F103RB - -*/ - -#include "stm32f103xb.h" - -/** - * @brief Active l'horloge et règle l'ARR et le PSC du timer visé - * @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * int Arr : valeur à placer dans ARR - * int Psc : valeur à placer dans PSC - * @retval None - */ -void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc); - - -/** - * @brief Démarre le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Start(TIM_TypeDef * Timer); - - -/** - * @brief Arrêt le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Stop(TIM_TypeDef * Timer); - - -/** - * @brief Configure le Timer considéré en interruption sur débordement. - * @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable ) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption - * int Prio : priorité associée à l'interruption - * @retval None - */ -void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio); - - -/** - * @brief Autorise les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Enable(TIM_TypeDef * Timer); - - -/** - * @brief Interdit les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Disable(TIM_TypeDef * Timer); +#ifndef ADC_H +#define ADC_H #endif diff --git a/MyDrivers/GPIO.h b/MyDrivers/GPIO.h index f2fa06c..8e3c489 100644 --- a/MyDrivers/GPIO.h +++ b/MyDrivers/GPIO.h @@ -1,70 +1,4 @@ -// RIEN A MODIFIER // - -#ifndef MY_TIMER_H -#define MY_TIMER_H - -/* -Driver pour Timer 1 à 4 du STM32F103RB - -*/ - -#include "stm32f103xb.h" - -/** - * @brief Active l'horloge et règle l'ARR et le PSC du timer visé - * @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * int Arr : valeur à placer dans ARR - * int Psc : valeur à placer dans PSC - * @retval None - */ -void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc); - - -/** - * @brief Démarre le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Start(TIM_TypeDef * Timer); - - -/** - * @brief Arrêt le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Stop(TIM_TypeDef * Timer); - - -/** - * @brief Configure le Timer considéré en interruption sur débordement. - * @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable ) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption - * int Prio : priorité associée à l'interruption - * @retval None - */ -void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio); - - -/** - * @brief Autorise les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Enable(TIM_TypeDef * Timer); - - -/** - * @brief Interdit les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Disable(TIM_TypeDef * Timer); +#ifndef GPIO_H +#define GPIO_H #endif diff --git a/MyDrivers/MyTimer.c b/MyDrivers/MyTimer.c deleted file mode 100644 index e51d696..0000000 --- a/MyDrivers/MyTimer.c +++ /dev/null @@ -1,182 +0,0 @@ -// TOUT A FAIRE !! // - -/* - indispensable pour pouvoir adresser les registres des périphériques. - Rem : OBLIGATION d'utiliser les définitions utiles contenues dans ce fichier (ex : TIM_CR1_CEN, RCC_APB1ENR_TIM2EN ...) - pour une meilleure lisibilité du code. - - Pour les masques, utiliser également les définitions proposée - Rappel : pour mettre à 1 , reg = reg | Mask (ou Mask est le représente le ou les bits à positionner à 1) - pour mettre à 0 , reg = reg&~ Mask (ou Mask est le représente le ou les bits à positionner à 0) - -*/ - -#include "MyTimer.h" -#include "stm32f1xx_ll_bus.h" // Pour l'activation des horloges -#include "stm32f1xx_ll_tim.h" - - -// variable pointeur de fonction permettant de mémoriser le callback à appeler depuis -// le handler d'IT -void (*Ptr_ItFct_TIM1)(void); -void (*Ptr_ItFct_TIM2)(void); -void (*Ptr_ItFct_TIM3)(void); -void (*Ptr_ItFct_TIM4)(void); - - - - -/** - * @brief Active l'horloge et règle l'ARR et le PSC du timer visé - * @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * int Arr : valeur à placer dans ARR - * int Psc : valeur à placer dans PSC - * @retval None - */ -void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc) -{ - LL_TIM_InitTypeDef My_LL_Tim_Init_Struct; - - // Validation horloge locale - if (Timer==TIM1) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM1); - else if (Timer==TIM2) LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2); - else if (Timer==TIM3) LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3); - else LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM4); - - // chargement structure Arr, Psc, Up Count - My_LL_Tim_Init_Struct.Autoreload=Arr; - My_LL_Tim_Init_Struct.Prescaler=Psc; - My_LL_Tim_Init_Struct.ClockDivision=LL_TIM_CLOCKDIVISION_DIV1; - My_LL_Tim_Init_Struct.CounterMode=LL_TIM_COUNTERMODE_UP; - My_LL_Tim_Init_Struct.RepetitionCounter=0; - - LL_TIM_Init(Timer,&My_LL_Tim_Init_Struct); - - - // Blocage IT - LL_TIM_DisableIT_UPDATE(Timer); - - - // Blocage Timer - LL_TIM_DisableCounter(Timer); - - - -} - - -/** - * @brief Démarre le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Start(TIM_TypeDef * Timer) -{ - LL_TIM_EnableCounter(Timer); -} - -/** - * @brief Arrêt le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Stop(TIM_TypeDef * Timer) -{ - LL_TIM_DisableCounter(Timer); -} - - -/** - * @brief Configure le Timer considéré en interruption sur débordement. - * @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable ) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption - * int Prio : priorité associée à l'interruption - * @retval None - */ -void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio) -{ - // affectation de la fonction - if (Timer==TIM1) Ptr_ItFct_TIM1=IT_function; - else if (Timer==TIM2) Ptr_ItFct_TIM2=IT_function; - else if (Timer==TIM3) Ptr_ItFct_TIM3=IT_function; - else Ptr_ItFct_TIM4=IT_function; - - - // Blocage IT (il faudra la débloquer voir fct suivante) - LL_TIM_DisableIT_UPDATE(Timer); - - // validation du canal NVIC - IRQn_Type TIM_irq; - - if (Timer==TIM1) TIM_irq=TIM1_UP_IRQn; - else if (Timer==TIM2) TIM_irq=TIM2_IRQn; - else if (Timer==TIM3) TIM_irq=TIM3_IRQn; - else TIM_irq=TIM4_IRQn; - - NVIC_SetPriority(TIM_irq, Prio); - NVIC_EnableIRQ(TIM_irq); - - -} - - -/** - * @brief Autorise les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Enable(TIM_TypeDef * Timer) -{ - LL_TIM_EnableIT_UPDATE(Timer); -} - - -/** - * @brief Interdit les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Disable(TIM_TypeDef * Timer) -{ - LL_TIM_DisableIT_UPDATE(Timer); -} - - -/* -============ LES INTERRUPTIONS ================================= - -*/ - -void TIM1_UP_IRQHandler(void) -{ - // rabaisser le flag d'IT - LL_TIM_ClearFlag_UPDATE(TIM1); - (*Ptr_ItFct_TIM1)(); -} - -void TIM2_IRQHandler(void) -{ - // rabaisser le flag d'IT - LL_TIM_ClearFlag_UPDATE(TIM2); - (*Ptr_ItFct_TIM2)(); -} - -void TIM3_IRQHandler(void) -{ - // rabaisser le flag d'IT - LL_TIM_ClearFlag_UPDATE(TIM3); - (*Ptr_ItFct_TIM3)(); -} - -void TIM4_IRQHandler(void) -{ - // rabaisser le flag d'IT - LL_TIM_ClearFlag_UPDATE(TIM4); - (*Ptr_ItFct_TIM4)(); -} diff --git a/MyDrivers/MyTimer.h b/MyDrivers/MyTimer.h deleted file mode 100644 index f2fa06c..0000000 --- a/MyDrivers/MyTimer.h +++ /dev/null @@ -1,70 +0,0 @@ -// RIEN A MODIFIER // - -#ifndef MY_TIMER_H -#define MY_TIMER_H - -/* -Driver pour Timer 1 à 4 du STM32F103RB - -*/ - -#include "stm32f103xb.h" - -/** - * @brief Active l'horloge et règle l'ARR et le PSC du timer visé - * @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * int Arr : valeur à placer dans ARR - * int Psc : valeur à placer dans PSC - * @retval None - */ -void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc); - - -/** - * @brief Démarre le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Start(TIM_TypeDef * Timer); - - -/** - * @brief Arrêt le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Stop(TIM_TypeDef * Timer); - - -/** - * @brief Configure le Timer considéré en interruption sur débordement. - * @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable ) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption - * int Prio : priorité associée à l'interruption - * @retval None - */ -void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio); - - -/** - * @brief Autorise les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Enable(TIM_TypeDef * Timer); - - -/** - * @brief Interdit les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Disable(TIM_TypeDef * Timer); - -#endif diff --git a/MyDrivers/Timer.h b/MyDrivers/Timer.h index f2fa06c..f0f7d7f 100644 --- a/MyDrivers/Timer.h +++ b/MyDrivers/Timer.h @@ -1,7 +1,7 @@ // RIEN A MODIFIER // -#ifndef MY_TIMER_H -#define MY_TIMER_H +#ifndef TIMER_H +#define TIMER_H /* Driver pour Timer 1 à 4 du STM32F103RB diff --git a/MyDrivers/USART.h b/MyDrivers/USART.h index f2fa06c..b72fa38 100644 --- a/MyDrivers/USART.h +++ b/MyDrivers/USART.h @@ -1,70 +1,5 @@ -// RIEN A MODIFIER // +#ifndef USART_H +#define USART_H -#ifndef MY_TIMER_H -#define MY_TIMER_H - -/* -Driver pour Timer 1 à 4 du STM32F103RB - -*/ - -#include "stm32f103xb.h" - -/** - * @brief Active l'horloge et règle l'ARR et le PSC du timer visé - * @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * int Arr : valeur à placer dans ARR - * int Psc : valeur à placer dans PSC - * @retval None - */ -void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc); - - -/** - * @brief Démarre le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Start(TIM_TypeDef * Timer); - - -/** - * @brief Arrêt le timer considéré - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_Stop(TIM_TypeDef * Timer); - - -/** - * @brief Configure le Timer considéré en interruption sur débordement. - * @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable ) - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption - * int Prio : priorité associée à l'interruption - * @retval None - */ -void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio); - - -/** - * @brief Autorise les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Enable(TIM_TypeDef * Timer); - - -/** - * @brief Interdit les interruptions - * @note - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void MyTimer_IT_Disable(TIM_TypeDef * Timer); #endif diff --git a/Services/Accelerometer.h b/Services/Accelerometer.h index 4b03760..67bee39 100644 --- a/Services/Accelerometer.h +++ b/Services/Accelerometer.h @@ -1,107 +1,4 @@ -// RIEN A MODIFIER // - -#ifndef CHRONO_H -#define CHRONO_H - -/* -Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 -Utilise un timer au choix (TIMER1 à TIMER4). -Utilise la lib MyTimers.h /.c -*/ - -#include "stm32f103xb.h" - -/* ===================================================================================== -Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) -=======================================================================================*/ - - -#define PinStart LL_GPIO_PIN_8 -#define PinStop LL_GPIO_PIN_6 -// à compléter pour la pin reset du chronometre -#define PinLED LL_GPIO_PIN_10 -#define GPIO_Pin GPIOC -#define GPIO_LED GPIOC - - - - - - -/** - * @brief polle les 3 entrées et gènère les actions à faire - * @note Fct à lancer en tâche de fond (non bloquante) - * @param None - * @retval None - */ - -void Chrono_Background(void); - -//=======================================================================================// - - - - -// Type de donnée utilisé dans le module - -typedef struct { - char Hund; - char Sec; - char Min; -} Time; - - - - -/** - * @brief Configure le chronomètre. - * @note A lancer avant toute autre fonction. - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void Chrono_Conf(TIM_TypeDef * Timer); - - - - - - -/** - * @brief Démarre le chronomètre. - * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart - * @param Aucun - * @retval Aucun - */ -void Chrono_Start(void); - - -/** - * @brief Arrête le chronomètre. - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Stop(void); - - -/** - * @brief Remet le chronomètre à 0 - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Reset(void); - - -/** - * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c - * @note - * @param Aucun - * @retval adresse de la variable Time - */ -Time * Chrono_Read(void); - - - +#ifndef ACCELEROMETER_H +#define ACCELEROMETER_H #endif diff --git a/Services/Chrono.c b/Services/Chrono.c index 615a4c6..8fe22ee 100644 --- a/Services/Chrono.c +++ b/Services/Chrono.c @@ -9,7 +9,7 @@ Utilise la lib MyTimers.h /.c #include "Chrono.h" -#include "MyTimer.h" +#include "Timer.h" // variable privée de type Time qui mémorise la durée mesurée static Time Chrono_Time; // rem : static rend la visibilité de la variable Chrono_Time limitée à ce fichier diff --git a/Services/DCMotor.h b/Services/DCMotor.h index 4b03760..924b7d4 100644 --- a/Services/DCMotor.h +++ b/Services/DCMotor.h @@ -1,107 +1,5 @@ -// RIEN A MODIFIER // - -#ifndef CHRONO_H -#define CHRONO_H - -/* -Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 -Utilise un timer au choix (TIMER1 à TIMER4). -Utilise la lib MyTimers.h /.c -*/ - -#include "stm32f103xb.h" - -/* ===================================================================================== -Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) -=======================================================================================*/ - - -#define PinStart LL_GPIO_PIN_8 -#define PinStop LL_GPIO_PIN_6 -// à compléter pour la pin reset du chronometre -#define PinLED LL_GPIO_PIN_10 -#define GPIO_Pin GPIOC -#define GPIO_LED GPIOC - - - - - - -/** - * @brief polle les 3 entrées et gènère les actions à faire - * @note Fct à lancer en tâche de fond (non bloquante) - * @param None - * @retval None - */ - -void Chrono_Background(void); - -//=======================================================================================// - - - - -// Type de donnée utilisé dans le module - -typedef struct { - char Hund; - char Sec; - char Min; -} Time; - - - - -/** - * @brief Configure le chronomètre. - * @note A lancer avant toute autre fonction. - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void Chrono_Conf(TIM_TypeDef * Timer); - - - - - - -/** - * @brief Démarre le chronomètre. - * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart - * @param Aucun - * @retval Aucun - */ -void Chrono_Start(void); - - -/** - * @brief Arrête le chronomètre. - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Stop(void); - - -/** - * @brief Remet le chronomètre à 0 - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Reset(void); - - -/** - * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c - * @note - * @param Aucun - * @retval adresse de la variable Time - */ -Time * Chrono_Read(void); - - +#ifndef DCMOTOR_H +#define DCMOTOR_H #endif diff --git a/Services/IncrementalEncoder.h b/Services/IncrementalEncoder.h index 4b03760..fc68d34 100644 --- a/Services/IncrementalEncoder.h +++ b/Services/IncrementalEncoder.h @@ -1,107 +1,4 @@ -// RIEN A MODIFIER // - -#ifndef CHRONO_H -#define CHRONO_H - -/* -Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 -Utilise un timer au choix (TIMER1 à TIMER4). -Utilise la lib MyTimers.h /.c -*/ - -#include "stm32f103xb.h" - -/* ===================================================================================== -Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) -=======================================================================================*/ - - -#define PinStart LL_GPIO_PIN_8 -#define PinStop LL_GPIO_PIN_6 -// à compléter pour la pin reset du chronometre -#define PinLED LL_GPIO_PIN_10 -#define GPIO_Pin GPIOC -#define GPIO_LED GPIOC - - - - - - -/** - * @brief polle les 3 entrées et gènère les actions à faire - * @note Fct à lancer en tâche de fond (non bloquante) - * @param None - * @retval None - */ - -void Chrono_Background(void); - -//=======================================================================================// - - - - -// Type de donnée utilisé dans le module - -typedef struct { - char Hund; - char Sec; - char Min; -} Time; - - - - -/** - * @brief Configure le chronomètre. - * @note A lancer avant toute autre fonction. - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void Chrono_Conf(TIM_TypeDef * Timer); - - - - - - -/** - * @brief Démarre le chronomètre. - * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart - * @param Aucun - * @retval Aucun - */ -void Chrono_Start(void); - - -/** - * @brief Arrête le chronomètre. - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Stop(void); - - -/** - * @brief Remet le chronomètre à 0 - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Reset(void); - - -/** - * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c - * @note - * @param Aucun - * @retval adresse de la variable Time - */ -Time * Chrono_Read(void); - - - +#ifndef INC_ENCODER_H +#define INC_ENCODER_H #endif diff --git a/Services/RFEmitter.h b/Services/RFEmitter.h index 4b03760..d76d926 100644 --- a/Services/RFEmitter.h +++ b/Services/RFEmitter.h @@ -1,107 +1,4 @@ -// RIEN A MODIFIER // - -#ifndef CHRONO_H -#define CHRONO_H - -/* -Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 -Utilise un timer au choix (TIMER1 à TIMER4). -Utilise la lib MyTimers.h /.c -*/ - -#include "stm32f103xb.h" - -/* ===================================================================================== -Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) -=======================================================================================*/ - - -#define PinStart LL_GPIO_PIN_8 -#define PinStop LL_GPIO_PIN_6 -// à compléter pour la pin reset du chronometre -#define PinLED LL_GPIO_PIN_10 -#define GPIO_Pin GPIOC -#define GPIO_LED GPIOC - - - - - - -/** - * @brief polle les 3 entrées et gènère les actions à faire - * @note Fct à lancer en tâche de fond (non bloquante) - * @param None - * @retval None - */ - -void Chrono_Background(void); - -//=======================================================================================// - - - - -// Type de donnée utilisé dans le module - -typedef struct { - char Hund; - char Sec; - char Min; -} Time; - - - - -/** - * @brief Configure le chronomètre. - * @note A lancer avant toute autre fonction. - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void Chrono_Conf(TIM_TypeDef * Timer); - - - - - - -/** - * @brief Démarre le chronomètre. - * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart - * @param Aucun - * @retval Aucun - */ -void Chrono_Start(void); - - -/** - * @brief Arrête le chronomètre. - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Stop(void); - - -/** - * @brief Remet le chronomètre à 0 - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Reset(void); - - -/** - * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c - * @note - * @param Aucun - * @retval adresse de la variable Time - */ -Time * Chrono_Read(void); - - - +#ifndef RFEMITTER_H +#define RFEMITTER_H #endif diff --git a/Services/RFReceiver.h b/Services/RFReceiver.h index 4b03760..e14454b 100644 --- a/Services/RFReceiver.h +++ b/Services/RFReceiver.h @@ -1,107 +1,4 @@ -// RIEN A MODIFIER // - -#ifndef CHRONO_H -#define CHRONO_H - -/* -Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 -Utilise un timer au choix (TIMER1 à TIMER4). -Utilise la lib MyTimers.h /.c -*/ - -#include "stm32f103xb.h" - -/* ===================================================================================== -Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) -=======================================================================================*/ - - -#define PinStart LL_GPIO_PIN_8 -#define PinStop LL_GPIO_PIN_6 -// à compléter pour la pin reset du chronometre -#define PinLED LL_GPIO_PIN_10 -#define GPIO_Pin GPIOC -#define GPIO_LED GPIOC - - - - - - -/** - * @brief polle les 3 entrées et gènère les actions à faire - * @note Fct à lancer en tâche de fond (non bloquante) - * @param None - * @retval None - */ - -void Chrono_Background(void); - -//=======================================================================================// - - - - -// Type de donnée utilisé dans le module - -typedef struct { - char Hund; - char Sec; - char Min; -} Time; - - - - -/** - * @brief Configure le chronomètre. - * @note A lancer avant toute autre fonction. - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void Chrono_Conf(TIM_TypeDef * Timer); - - - - - - -/** - * @brief Démarre le chronomètre. - * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart - * @param Aucun - * @retval Aucun - */ -void Chrono_Start(void); - - -/** - * @brief Arrête le chronomètre. - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Stop(void); - - -/** - * @brief Remet le chronomètre à 0 - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Reset(void); - - -/** - * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c - * @note - * @param Aucun - * @retval adresse de la variable Time - */ -Time * Chrono_Read(void); - - - +#ifndef RFRECEIVER_H +#define RFRECEIVER_H #endif diff --git a/Services/ServoMotor.h b/Services/ServoMotor.h index 4b03760..c28a0fc 100644 --- a/Services/ServoMotor.h +++ b/Services/ServoMotor.h @@ -1,107 +1,4 @@ -// RIEN A MODIFIER // - -#ifndef CHRONO_H -#define CHRONO_H - -/* -Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 -Utilise un timer au choix (TIMER1 à TIMER4). -Utilise la lib MyTimers.h /.c -*/ - -#include "stm32f103xb.h" - -/* ===================================================================================== -Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) -=======================================================================================*/ - - -#define PinStart LL_GPIO_PIN_8 -#define PinStop LL_GPIO_PIN_6 -// à compléter pour la pin reset du chronometre -#define PinLED LL_GPIO_PIN_10 -#define GPIO_Pin GPIOC -#define GPIO_LED GPIOC - - - - - - -/** - * @brief polle les 3 entrées et gènère les actions à faire - * @note Fct à lancer en tâche de fond (non bloquante) - * @param None - * @retval None - */ - -void Chrono_Background(void); - -//=======================================================================================// - - - - -// Type de donnée utilisé dans le module - -typedef struct { - char Hund; - char Sec; - char Min; -} Time; - - - - -/** - * @brief Configure le chronomètre. - * @note A lancer avant toute autre fonction. - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void Chrono_Conf(TIM_TypeDef * Timer); - - - - - - -/** - * @brief Démarre le chronomètre. - * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart - * @param Aucun - * @retval Aucun - */ -void Chrono_Start(void); - - -/** - * @brief Arrête le chronomètre. - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Stop(void); - - -/** - * @brief Remet le chronomètre à 0 - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Reset(void); - - -/** - * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c - * @note - * @param Aucun - * @retval adresse de la variable Time - */ -Time * Chrono_Read(void); - - - +#ifndef SERVO_MOTOR_H +#define SERVO_MOTOR_H #endif diff --git a/Services/Voltage.h b/Services/Voltage.h index 4b03760..141c358 100644 --- a/Services/Voltage.h +++ b/Services/Voltage.h @@ -1,107 +1,4 @@ -// RIEN A MODIFIER // - -#ifndef CHRONO_H -#define CHRONO_H - -/* -Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 -Utilise un timer au choix (TIMER1 à TIMER4). -Utilise la lib MyTimers.h /.c -*/ - -#include "stm32f103xb.h" - -/* ===================================================================================== -Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) -=======================================================================================*/ - - -#define PinStart LL_GPIO_PIN_8 -#define PinStop LL_GPIO_PIN_6 -// à compléter pour la pin reset du chronometre -#define PinLED LL_GPIO_PIN_10 -#define GPIO_Pin GPIOC -#define GPIO_LED GPIOC - - - - - - -/** - * @brief polle les 3 entrées et gènère les actions à faire - * @note Fct à lancer en tâche de fond (non bloquante) - * @param None - * @retval None - */ - -void Chrono_Background(void); - -//=======================================================================================// - - - - -// Type de donnée utilisé dans le module - -typedef struct { - char Hund; - char Sec; - char Min; -} Time; - - - - -/** - * @brief Configure le chronomètre. - * @note A lancer avant toute autre fonction. - * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 - * @retval None - */ -void Chrono_Conf(TIM_TypeDef * Timer); - - - - - - -/** - * @brief Démarre le chronomètre. - * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart - * @param Aucun - * @retval Aucun - */ -void Chrono_Start(void); - - -/** - * @brief Arrête le chronomètre. - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Stop(void); - - -/** - * @brief Remet le chronomètre à 0 - * @note - * @param Aucun - * @retval Aucun - */ -void Chrono_Reset(void); - - -/** - * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c - * @note - * @param Aucun - * @retval adresse de la variable Time - */ -Time * Chrono_Read(void); - - - +#ifndef VOLTAGE_H +#define VOLTAGE_H #endif diff --git a/Src/Command.h b/Src/Command.h deleted file mode 100644 index e69de29..0000000 diff --git a/Src/Display.h b/Src/Display.h index e69de29..d8b1037 100644 --- a/Src/Display.h +++ b/Src/Display.h @@ -0,0 +1,4 @@ +#ifndef DISPLAY_H +#define DISPLAY_H + +#endif diff --git a/Src/Orientation.h b/Src/Orientation.h index e69de29..d6c0abd 100644 --- a/Src/Orientation.h +++ b/Src/Orientation.h @@ -0,0 +1,4 @@ +#ifndef ORIENTATION_H +#define ORIENTATION_H + +#endif diff --git a/Src/Roll.h b/Src/Roll.h index e69de29..e6969d7 100644 --- a/Src/Roll.h +++ b/Src/Roll.h @@ -0,0 +1,4 @@ +#ifndef ROLL_H +#define ROLL_H + +#endif diff --git a/Src/Sail.h b/Src/Sail.h index e69de29..888c68f 100644 --- a/Src/Sail.h +++ b/Src/Sail.h @@ -0,0 +1,4 @@ +#ifndef SAIL_H +#define SAIL_H + +#endif