Réalisation timer + début intégration interruptions

This commit is contained in:
Yohan Simard 2020-09-18 11:02:40 +02:00
parent 0185633cef
commit 51958dab3e
18 changed files with 598 additions and 281 deletions

View file

@ -27,9 +27,6 @@ Project File Date: 09/11/2020
<h2>Output:</h2> <h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program Files\Keil_v5\ARM\ARMCC\Bin' *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program Files\Keil_v5\ARM\ARMCC\Bin'
Build target 'Simulateur' Build target 'Simulateur'
compiling main.c...
linking...
Program Size: Code=432 RO-data=268 RW-data=12 ZI-data=1028
"NUCLEO-F103RB\NUCLEO-F103RB.axf" - 0 Error(s), 0 Warning(s). "NUCLEO-F103RB\NUCLEO-F103RB.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2> <h2>Software Packages used:</h2>
@ -53,7 +50,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2> <h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.3.0 * Component: ARM::CMSIS:CORE:5.3.0
Build Time Elapsed: 00:00:01 Build Time Elapsed: 00:00:00
</pre> </pre>
</body> </body>
</html> </html>

View file

@ -3,11 +3,11 @@
<title>Static Call Graph - [NUCLEO-F103RB\NUCLEO-F103RB.axf]</title></head> <title>Static Call Graph - [NUCLEO-F103RB\NUCLEO-F103RB.axf]</title></head>
<body><HR> <body><HR>
<H1>Static Call Graph for image NUCLEO-F103RB\NUCLEO-F103RB.axf</H1><HR> <H1>Static Call Graph for image NUCLEO-F103RB\NUCLEO-F103RB.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Fri Sep 11 09:42:59 2020 <BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Fri Sep 18 10:53:44 2020
<BR><P> <BR><P>
<H3>Maximum Stack Usage = 0 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> <H3>Maximum Stack Usage = 16 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3> Call chain for Maximum Stack Depth:</H3>
main &rArr; Chrono_Conf &rArr; MyTimer_IT_Conf
<P> <P>
<H3> <H3>
Mutually Recursive functions Mutually Recursive functions
@ -30,6 +30,7 @@ Function Pointers
<LI><a href="#[4]">BusFault_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[4]">BusFault_Handler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[1f]">CAN1_RX1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[1f]">CAN1_RX1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[20]">CAN1_SCE_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[20]">CAN1_SCE_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[38]">Chrono_Task_10ms</a> from chrono.o(i.Chrono_Task_10ms) referenced from chrono.o(i.Chrono_Conf)
<LI><a href="#[15]">DMA1_Channel1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[15]">DMA1_Channel1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[16]">DMA1_Channel2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[16]">DMA1_Channel2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[17]">DMA1_Channel3_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[17]">DMA1_Channel3_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
@ -68,10 +69,10 @@ Function Pointers
<LI><a href="#[22]">TIM1_BRK_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[22]">TIM1_BRK_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[25]">TIM1_CC_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[25]">TIM1_CC_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[24]">TIM1_TRG_COM_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[24]">TIM1_TRG_COM_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[23]">TIM1_UP_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[23]">TIM1_UP_IRQHandler</a> from mytimer.o(i.TIM1_UP_IRQHandler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[26]">TIM2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[26]">TIM2_IRQHandler</a> from mytimer.o(i.TIM2_IRQHandler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[27]">TIM3_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[27]">TIM3_IRQHandler</a> from mytimer.o(i.TIM3_IRQHandler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[28]">TIM4_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[28]">TIM4_IRQHandler</a> from mytimer.o(i.TIM4_IRQHandler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[2f]">USART1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[2f]">USART1_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[30]">USART2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[30]">USART2_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[31]">USART3_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET) <LI><a href="#[31]">USART3_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
@ -90,25 +91,25 @@ Global Symbols
<P><STRONG><a name="[37]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000)) <P><STRONG><a name="[37]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text) <BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text)
</UL> </UL>
<P><STRONG><a name="[3f]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) <P><STRONG><a name="[45]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[38]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) <P><STRONG><a name="[39]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload <BR><BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL> </UL>
<P><STRONG><a name="[3a]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) <P><STRONG><a name="[3b]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload <BR><BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL> </UL>
<P><STRONG><a name="[40]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) <P><STRONG><a name="[46]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[41]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) <P><STRONG><a name="[47]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[42]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) <P><STRONG><a name="[48]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[43]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) <P><STRONG><a name="[49]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
<P><STRONG><a name="[44]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F)) <P><STRONG><a name="[4a]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text)) <P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET) <BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
@ -276,18 +277,6 @@ Global Symbols
<P><STRONG><a name="[24]"></a>TIM1_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text)) <P><STRONG><a name="[24]"></a>TIM1_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET) <BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL> </UL>
<P><STRONG><a name="[23]"></a>TIM1_UP_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[26]"></a>TIM2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>TIM3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[2f]"></a>USART1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text)) <P><STRONG><a name="[2f]"></a>USART1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET) <BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL> </UL>
@ -309,28 +298,63 @@ Global Symbols
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text)) <P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET) <BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL> </UL>
<P><STRONG><a name="[39]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) <P><STRONG><a name="[3a]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload <BR><BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload <BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL> </UL>
<P><STRONG><a name="[45]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) <P><STRONG><a name="[4b]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[3d]"></a>Chrono_Conf</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, chrono.o(i.Chrono_Conf)) <P><STRONG><a name="[3c]"></a>Chrono_Conf</STRONG> (Thumb, 48 bytes, Stack size 8 bytes, chrono.o(i.Chrono_Conf))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Chrono_Conf &rArr; MyTimer_IT_Conf
</UL>
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_IT_Enable
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_IT_Conf
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Conf
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[44]"></a>Chrono_Read</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, chrono.o(i.Chrono_Read))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[3e]"></a>Chrono_Start</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, chrono.o(i.Chrono_Start)) <P><STRONG><a name="[40]"></a>Chrono_Start</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, chrono.o(i.Chrono_Start))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR><BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyTimer_Start
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
<P><STRONG><a name="[3c]"></a>LL_SetSystemCoreClock</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)) <P><STRONG><a name="[38]"></a>Chrono_Task_10ms</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, chrono.o(i.Chrono_Task_10ms))
<BR><BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config <BR>[Address Reference Count : 1]<UL><LI> chrono.o(i.Chrono_Conf)
</UL>
<P><STRONG><a name="[43]"></a>LL_SetSystemCoreClock</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL> </UL>
<P><STRONG><a name="[3b]"></a>SystemClock_Config</STRONG> (Thumb, 128 bytes, Stack size 0 bytes, main.o(i.SystemClock_Config)) <P><STRONG><a name="[3d]"></a>MyTimer_Conf</STRONG> (Thumb, 68 bytes, Stack size 8 bytes, mytimer.o(i.MyTimer_Conf))
<BR><BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LL_SetSystemCoreClock <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = MyTimer_Conf
</UL>
<BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chrono_Conf
</UL>
<P><STRONG><a name="[3e]"></a>MyTimer_IT_Conf</STRONG> (Thumb, 96 bytes, Stack size 8 bytes, mytimer.o(i.MyTimer_IT_Conf))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = MyTimer_IT_Conf
</UL>
<BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chrono_Conf
</UL>
<P><STRONG><a name="[3f]"></a>MyTimer_IT_Enable</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_IT_Enable))
<BR><BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chrono_Conf
</UL>
<P><STRONG><a name="[41]"></a>MyTimer_Start</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, mytimer.o(i.MyTimer_Start))
<BR><BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chrono_Start
</UL>
<P><STRONG><a name="[42]"></a>SystemClock_Config</STRONG> (Thumb, 128 bytes, Stack size 0 bytes, main.o(i.SystemClock_Config))
<BR><BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LL_SetSystemCoreClock
</UL> </UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main <BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL> </UL>
@ -338,16 +362,31 @@ Global Symbols
<P><STRONG><a name="[36]"></a>SystemInit</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, system_stm32f1xx.o(i.SystemInit)) <P><STRONG><a name="[36]"></a>SystemInit</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, system_stm32f1xx.o(i.SystemInit))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text) <BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text)
</UL> </UL>
<P><STRONG><a name="[46]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) <P><STRONG><a name="[23]"></a>TIM1_UP_IRQHandler</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.TIM1_UP_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[26]"></a>TIM2_IRQHandler</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.TIM2_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>TIM3_IRQHandler</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.TIM3_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mytimer.o(i.TIM4_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[4c]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[47]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) <P><STRONG><a name="[4d]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[48]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) <P><STRONG><a name="[4e]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 52 bytes, Stack size 0 bytes, main.o(i.main)) <P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, main.o(i.main))
<BR><BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chrono_Start <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = main &rArr; Chrono_Conf &rArr; MyTimer_IT_Conf
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chrono_Conf </UL>
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config <BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chrono_Start
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chrono_Read
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chrono_Conf
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL> </UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B) <BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL><P> </UL><P>

View file

@ -8,10 +8,25 @@ Section Cross References
main.o(i.main) refers to main.o(i.SystemClock_Config) for SystemClock_Config 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_Conf) for Chrono_Conf
main.o(i.main) refers to chrono.o(i.Chrono_Start) for Chrono_Start main.o(i.main) refers to chrono.o(i.Chrono_Start) for Chrono_Start
main.o(i.main) refers to chrono.o(i.Chrono_Read) for Chrono_Read
main.o(i.main) refers to main.o(.data) for .data
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 .data chrono.o(i.Chrono_Conf) refers to chrono.o(.data) for .data
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 .data chrono.o(i.Chrono_Read) refers to chrono.o(.data) for .data
chrono.o(i.Chrono_Reset) refers to chrono.o(.data) for .data chrono.o(i.Chrono_Reset) refers to chrono.o(.data) for .data
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 .data
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 .data
chrono.o(i.Chrono_Task_10ms) refers to chrono.o(.data) for .data chrono.o(i.Chrono_Task_10ms) refers to chrono.o(.data) for .data
mytimer.o(i.MyTimer_IT_Conf) refers to mytimer.o(.data) for .data
mytimer.o(i.TIM1_UP_IRQHandler) refers to mytimer.o(.data) for .data
mytimer.o(i.TIM2_IRQHandler) refers to mytimer.o(.data) for .data
mytimer.o(i.TIM3_IRQHandler) refers to mytimer.o(.data) for .data
mytimer.o(i.TIM4_IRQHandler) refers to mytimer.o(.data) for .data
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_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_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_GetADCClockFreq) refers to stm32f1xx_ll_rcc.o(i.RCC_GetPCLK2ClockFreq) for RCC_GetPCLK2ClockFreq
@ -40,6 +55,10 @@ Section Cross References
system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.constdata) for .constdata system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.constdata) for .constdata
startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(STACK) for __initial_sp 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 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 system_stm32f1xx.o(i.SystemInit) for SystemInit
startup_stm32f103xb.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main 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 entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp
@ -69,13 +88,13 @@ Removing Unused input sections from the image.
Removing chrono.o(.rev16_text), (4 bytes). Removing chrono.o(.rev16_text), (4 bytes).
Removing chrono.o(.revsh_text), (4 bytes). Removing chrono.o(.revsh_text), (4 bytes).
Removing chrono.o(.rrx_text), (6 bytes). Removing chrono.o(.rrx_text), (6 bytes).
Removing chrono.o(i.Chrono_Read), (8 bytes).
Removing chrono.o(i.Chrono_Reset), (16 bytes). Removing chrono.o(i.Chrono_Reset), (16 bytes).
Removing chrono.o(i.Chrono_Stop), (2 bytes). Removing chrono.o(i.Chrono_Stop), (12 bytes).
Removing chrono.o(i.Chrono_Task_10ms), (52 bytes).
Removing mytimer.o(.rev16_text), (4 bytes). Removing mytimer.o(.rev16_text), (4 bytes).
Removing mytimer.o(.revsh_text), (4 bytes). Removing mytimer.o(.revsh_text), (4 bytes).
Removing mytimer.o(.rrx_text), (6 bytes). Removing mytimer.o(.rrx_text), (6 bytes).
Removing mytimer.o(i.MyTimer_IT_Disable), (10 bytes).
Removing mytimer.o(i.MyTimer_Stop), (10 bytes).
Removing stm32f1xx_ll_rcc.o(.rev16_text), (4 bytes). Removing stm32f1xx_ll_rcc.o(.rev16_text), (4 bytes).
Removing stm32f1xx_ll_rcc.o(.revsh_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(.rrx_text), (6 bytes).
@ -108,7 +127,7 @@ Removing Unused input sections from the image.
Removing system_stm32f1xx.o(.constdata), (8 bytes). Removing system_stm32f1xx.o(.constdata), (8 bytes).
Removing startup_stm32f103xb.o(HEAP), (512 bytes). Removing startup_stm32f103xb.o(HEAP), (512 bytes).
44 unused section(s) (total 1778 bytes) removed from the image. 44 unused section(s) (total 1748 bytes) removed from the image.
============================================================================== ==============================================================================
@ -120,19 +139,19 @@ Image Symbol Table
../Src/main.c 0x00000000 Number 0 main.o ABSOLUTE ../Src/main.c 0x00000000 Number 0 main.o ABSOLUTE
../Src/system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE ../Src/system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.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 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.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 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 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 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.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_rcc.c 0x00000000 Number 0 stm32f1xx_ll_rcc.o ABSOLUTE
..\LLDrivers\src\stm32f1xx_ll_utils.c 0x00000000 Number 0 stm32f1xx_ll_utils.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 ..\MyDrivers\MyTimer.c 0x00000000 Number 0 mytimer.o ABSOLUTE
@ -161,19 +180,35 @@ Image Symbol Table
.text 0x08000100 Section 36 startup_stm32f103xb.o(.text) .text 0x08000100 Section 36 startup_stm32f103xb.o(.text)
.text 0x08000124 Section 36 init.o(.text) .text 0x08000124 Section 36 init.o(.text)
i.Chrono_Conf 0x08000148 Section 0 chrono.o(i.Chrono_Conf) i.Chrono_Conf 0x08000148 Section 0 chrono.o(i.Chrono_Conf)
i.Chrono_Start 0x0800015c Section 0 chrono.o(i.Chrono_Start) i.Chrono_Read 0x08000180 Section 0 chrono.o(i.Chrono_Read)
i.LL_SetSystemCoreClock 0x08000160 Section 0 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) i.Chrono_Start 0x08000188 Section 0 chrono.o(i.Chrono_Start)
i.SystemClock_Config 0x0800016c Section 0 main.o(i.SystemClock_Config) i.Chrono_Task_10ms 0x08000194 Section 0 chrono.o(i.Chrono_Task_10ms)
i.SystemInit 0x080001f8 Section 0 system_stm32f1xx.o(i.SystemInit) i.LL_SetSystemCoreClock 0x080001c8 Section 0 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)
i.__scatterload_copy 0x08000240 Section 14 handlers.o(i.__scatterload_copy) i.MyTimer_Conf 0x080001d4 Section 0 mytimer.o(i.MyTimer_Conf)
i.__scatterload_null 0x0800024e Section 2 handlers.o(i.__scatterload_null) i.MyTimer_IT_Conf 0x08000228 Section 0 mytimer.o(i.MyTimer_IT_Conf)
i.__scatterload_zeroinit 0x08000250 Section 14 handlers.o(i.__scatterload_zeroinit) i.MyTimer_IT_Enable 0x08000298 Section 0 mytimer.o(i.MyTimer_IT_Enable)
i.main 0x08000260 Section 0 main.o(i.main) i.MyTimer_Start 0x080002a2 Section 0 mytimer.o(i.MyTimer_Start)
.data 0x20000000 Section 8 chrono.o(.data) i.SystemClock_Config 0x080002ac Section 0 main.o(i.SystemClock_Config)
Chrono_Time 0x20000000 Data 3 chrono.o(.data) i.SystemInit 0x08000338 Section 0 system_stm32f1xx.o(i.SystemInit)
Chrono_Timer 0x20000004 Data 4 chrono.o(.data) i.TIM1_UP_IRQHandler 0x08000380 Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
.data 0x20000008 Section 4 system_stm32f1xx.o(.data) i.TIM2_IRQHandler 0x0800038c Section 0 mytimer.o(i.TIM2_IRQHandler)
STACK 0x20000010 Section 1024 startup_stm32f103xb.o(STACK) i.TIM3_IRQHandler 0x08000398 Section 0 mytimer.o(i.TIM3_IRQHandler)
i.TIM4_IRQHandler 0x080003a4 Section 0 mytimer.o(i.TIM4_IRQHandler)
i.__scatterload_copy 0x080003b0 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x080003be Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x080003c0 Section 14 handlers.o(i.__scatterload_zeroinit)
i.main 0x080003d0 Section 0 main.o(i.main)
.data 0x20000000 Section 4 main.o(.data)
.data 0x20000004 Section 8 chrono.o(.data)
Chrono_Time 0x20000004 Data 3 chrono.o(.data)
Chrono_Timer 0x20000008 Data 4 chrono.o(.data)
.data 0x2000000c Section 16 mytimer.o(.data)
tim1_handler 0x2000000c Data 4 mytimer.o(.data)
tim2_handler 0x20000010 Data 4 mytimer.o(.data)
tim3_handler 0x20000014 Data 4 mytimer.o(.data)
tim4_handler 0x20000018 Data 4 mytimer.o(.data)
.data 0x2000001c Section 4 system_stm32f1xx.o(.data)
STACK 0x20000020 Section 1024 startup_stm32f103xb.o(STACK)
Global Symbols Global Symbols
@ -240,10 +275,6 @@ Image Symbol Table
TIM1_BRK_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_CC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
TIM1_TRG_COM_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) TIM1_TRG_COM_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
TIM1_UP_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
TIM2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
TIM3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
TIM4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
USART1_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) USART2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
USART3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text) USART3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
@ -253,19 +284,30 @@ Image Symbol Table
WWDG_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 0x08000125 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x08000125 Thumb Code 0 init.o(.text) __scatterload_rt2 0x08000125 Thumb Code 0 init.o(.text)
Chrono_Conf 0x08000149 Thumb Code 16 chrono.o(i.Chrono_Conf) Chrono_Conf 0x08000149 Thumb Code 48 chrono.o(i.Chrono_Conf)
Chrono_Start 0x0800015d Thumb Code 2 chrono.o(i.Chrono_Start) Chrono_Read 0x08000181 Thumb Code 4 chrono.o(i.Chrono_Read)
LL_SetSystemCoreClock 0x08000161 Thumb Code 6 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock) Chrono_Start 0x08000189 Thumb Code 8 chrono.o(i.Chrono_Start)
SystemClock_Config 0x0800016d Thumb Code 128 main.o(i.SystemClock_Config) Chrono_Task_10ms 0x08000195 Thumb Code 48 chrono.o(i.Chrono_Task_10ms)
SystemInit 0x080001f9 Thumb Code 56 system_stm32f1xx.o(i.SystemInit) LL_SetSystemCoreClock 0x080001c9 Thumb Code 6 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)
__scatterload_copy 0x08000241 Thumb Code 14 handlers.o(i.__scatterload_copy) MyTimer_Conf 0x080001d5 Thumb Code 68 mytimer.o(i.MyTimer_Conf)
__scatterload_null 0x0800024f Thumb Code 2 handlers.o(i.__scatterload_null) MyTimer_IT_Conf 0x08000229 Thumb Code 96 mytimer.o(i.MyTimer_IT_Conf)
__scatterload_zeroinit 0x08000251 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) MyTimer_IT_Enable 0x08000299 Thumb Code 10 mytimer.o(i.MyTimer_IT_Enable)
main 0x08000261 Thumb Code 52 main.o(i.main) MyTimer_Start 0x080002a3 Thumb Code 10 mytimer.o(i.MyTimer_Start)
Region$$Table$$Base 0x0800029c Number 0 anon$$obj.o(Region$$Table) SystemClock_Config 0x080002ad Thumb Code 128 main.o(i.SystemClock_Config)
Region$$Table$$Limit 0x080002bc Number 0 anon$$obj.o(Region$$Table) SystemInit 0x08000339 Thumb Code 56 system_stm32f1xx.o(i.SystemInit)
SystemCoreClock 0x20000008 Data 4 system_stm32f1xx.o(.data) TIM1_UP_IRQHandler 0x08000381 Thumb Code 6 mytimer.o(i.TIM1_UP_IRQHandler)
__initial_sp 0x20000410 Data 0 startup_stm32f103xb.o(STACK) TIM2_IRQHandler 0x0800038d Thumb Code 6 mytimer.o(i.TIM2_IRQHandler)
TIM3_IRQHandler 0x08000399 Thumb Code 6 mytimer.o(i.TIM3_IRQHandler)
TIM4_IRQHandler 0x080003a5 Thumb Code 6 mytimer.o(i.TIM4_IRQHandler)
__scatterload_copy 0x080003b1 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x080003bf Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x080003c1 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
main 0x080003d1 Thumb Code 28 main.o(i.main)
Region$$Table$$Base 0x080003f0 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08000410 Number 0 anon$$obj.o(Region$$Table)
time 0x20000000 Data 4 main.o(.data)
SystemCoreClock 0x2000001c Data 4 system_stm32f1xx.o(.data)
__initial_sp 0x20000420 Data 0 startup_stm32f103xb.o(STACK)
@ -275,46 +317,56 @@ Memory Map of the image
Image Entry point : 0x080000ed Image Entry point : 0x080000ed
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000002c8, Max: 0x00020000, ABSOLUTE) Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000430, Max: 0x00020000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000002bc, Max: 0x00020000, ABSOLUTE) Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000410, Max: 0x00020000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 343 RESET startup_stm32f103xb.o 0x08000000 0x08000000 0x000000ec Data RO 408 RESET startup_stm32f103xb.o
0x080000ec 0x080000ec 0x00000000 Code RO 348 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) 0x080000ec 0x080000ec 0x00000000 Code RO 413 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x080000ec 0x080000ec 0x00000004 Code RO 351 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) 0x080000ec 0x080000ec 0x00000004 Code RO 416 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x080000f0 0x080000f0 0x00000004 Code RO 354 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) 0x080000f0 0x080000f0 0x00000004 Code RO 419 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x080000f4 0x080000f4 0x00000000 Code RO 356 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) 0x080000f4 0x080000f4 0x00000000 Code RO 421 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x080000f4 0x080000f4 0x00000000 Code RO 358 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) 0x080000f4 0x080000f4 0x00000000 Code RO 423 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x080000f4 0x080000f4 0x00000008 Code RO 359 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) 0x080000f4 0x080000f4 0x00000008 Code RO 424 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x080000fc 0x080000fc 0x00000000 Code RO 361 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) 0x080000fc 0x080000fc 0x00000000 Code RO 426 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
0x080000fc 0x080000fc 0x00000000 Code RO 363 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) 0x080000fc 0x080000fc 0x00000000 Code RO 428 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
0x080000fc 0x080000fc 0x00000004 Code RO 352 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) 0x080000fc 0x080000fc 0x00000004 Code RO 417 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000100 0x08000100 0x00000024 Code RO 344 .text startup_stm32f103xb.o 0x08000100 0x08000100 0x00000024 Code RO 409 .text startup_stm32f103xb.o
0x08000124 0x08000124 0x00000024 Code RO 365 .text mc_w.l(init.o) 0x08000124 0x08000124 0x00000024 Code RO 430 .text mc_w.l(init.o)
0x08000148 0x08000148 0x00000014 Code RO 75 i.Chrono_Conf chrono.o 0x08000148 0x08000148 0x00000038 Code RO 78 i.Chrono_Conf chrono.o
0x0800015c 0x0800015c 0x00000002 Code RO 78 i.Chrono_Start chrono.o 0x08000180 0x08000180 0x00000008 Code RO 79 i.Chrono_Read chrono.o
0x0800015e 0x0800015e 0x00000002 PAD 0x08000188 0x08000188 0x0000000c Code RO 81 i.Chrono_Start chrono.o
0x08000160 0x08000160 0x0000000c Code RO 228 i.LL_SetSystemCoreClock stm32f1xx_ll_utils.o 0x08000194 0x08000194 0x00000034 Code RO 83 i.Chrono_Task_10ms chrono.o
0x0800016c 0x0800016c 0x0000008c Code RO 4 i.SystemClock_Config main.o 0x080001c8 0x080001c8 0x0000000c Code RO 293 i.LL_SetSystemCoreClock stm32f1xx_ll_utils.o
0x080001f8 0x080001f8 0x00000048 Code RO 307 i.SystemInit system_stm32f1xx.o 0x080001d4 0x080001d4 0x00000054 Code RO 137 i.MyTimer_Conf mytimer.o
0x08000240 0x08000240 0x0000000e Code RO 369 i.__scatterload_copy mc_w.l(handlers.o) 0x08000228 0x08000228 0x00000070 Code RO 138 i.MyTimer_IT_Conf mytimer.o
0x0800024e 0x0800024e 0x00000002 Code RO 370 i.__scatterload_null mc_w.l(handlers.o) 0x08000298 0x08000298 0x0000000a Code RO 140 i.MyTimer_IT_Enable mytimer.o
0x08000250 0x08000250 0x0000000e Code RO 371 i.__scatterload_zeroinit mc_w.l(handlers.o) 0x080002a2 0x080002a2 0x0000000a Code RO 141 i.MyTimer_Start mytimer.o
0x0800025e 0x0800025e 0x00000002 PAD 0x080002ac 0x080002ac 0x0000008c Code RO 4 i.SystemClock_Config main.o
0x08000260 0x08000260 0x0000003c Code RO 5 i.main main.o 0x08000338 0x08000338 0x00000048 Code RO 372 i.SystemInit system_stm32f1xx.o
0x0800029c 0x0800029c 0x00000020 Data RO 367 Region$$Table anon$$obj.o 0x08000380 0x08000380 0x0000000c Code RO 143 i.TIM1_UP_IRQHandler mytimer.o
0x0800038c 0x0800038c 0x0000000c Code RO 144 i.TIM2_IRQHandler mytimer.o
0x08000398 0x08000398 0x0000000c Code RO 145 i.TIM3_IRQHandler mytimer.o
0x080003a4 0x080003a4 0x0000000c Code RO 146 i.TIM4_IRQHandler mytimer.o
0x080003b0 0x080003b0 0x0000000e Code RO 434 i.__scatterload_copy mc_w.l(handlers.o)
0x080003be 0x080003be 0x00000002 Code RO 435 i.__scatterload_null mc_w.l(handlers.o)
0x080003c0 0x080003c0 0x0000000e Code RO 436 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x080003ce 0x080003ce 0x00000002 PAD
0x080003d0 0x080003d0 0x00000020 Code RO 5 i.main main.o
0x080003f0 0x080003f0 0x00000020 Data RO 432 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080002bc, Size: 0x00000410, Max: 0x00005000, ABSOLUTE) Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000410, Size: 0x00000420, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080002bc 0x00000008 Data RW 81 .data chrono.o 0x20000000 0x08000410 0x00000004 Data RW 6 .data main.o
0x20000008 0x080002c4 0x00000004 Data RW 310 .data system_stm32f1xx.o 0x20000004 0x08000414 0x00000008 Data RW 84 .data chrono.o
0x2000000c 0x080002c8 0x00000004 PAD 0x2000000c 0x0800041c 0x00000010 Data RW 147 .data mytimer.o
0x20000010 - 0x00000400 Zero RW 341 STACK startup_stm32f103xb.o 0x2000001c 0x0800042c 0x00000004 Data RW 375 .data system_stm32f1xx.o
0x20000020 - 0x00000400 Zero RW 406 STACK startup_stm32f103xb.o
============================================================================== ==============================================================================
@ -324,16 +376,17 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name Code (inc. data) RO Data RW Data ZI Data Debug Object Name
22 4 0 8 0 1361 chrono.o 128 20 0 8 0 2286 chrono.o
200 20 0 0 0 355384 main.o 172 16 0 4 0 355939 main.o
264 56 0 16 0 4432 mytimer.o
36 8 236 0 1024 760 startup_stm32f103xb.o 36 8 236 0 1024 760 startup_stm32f103xb.o
12 6 0 0 0 4116 stm32f1xx_ll_utils.o 12 6 0 0 0 4116 stm32f1xx_ll_utils.o
72 16 0 4 0 1111 system_stm32f1xx.o 72 16 0 4 0 1111 system_stm32f1xx.o
---------------------------------------------------------------------- ----------------------------------------------------------------------
344 54 268 12 1028 362732 Object Totals 684 122 268 32 1024 368644 Object Totals
0 0 32 0 0 0 (incl. Generated) 0 0 32 0 0 0 (incl. Generated)
2 0 0 0 4 0 (incl. Padding) 0 0 0 0 0 0 (incl. Padding)
---------------------------------------------------------------------- ----------------------------------------------------------------------
@ -370,15 +423,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Code (inc. data) RO Data RW Data ZI Data Debug
432 70 268 12 1028 362848 Grand Totals 772 138 268 32 1024 368292 Grand Totals
432 70 268 12 1028 362848 ELF Image Totals 772 138 268 32 1024 368292 ELF Image Totals
432 70 268 12 0 0 ROM Totals 772 138 268 32 0 0 ROM Totals
============================================================================== ==============================================================================
Total RO Size (Code + RO Data) 700 ( 0.68kB) Total RO Size (Code + RO Data) 1040 ( 1.02kB)
Total RW Size (RW Data + ZI Data) 1040 ( 1.02kB) Total RW Size (RW Data + ZI Data) 1056 ( 1.03kB)
Total ROM Size (Code + RO Data + RW Data) 712 ( 0.70kB) Total ROM Size (Code + RO Data + RW Data) 1072 ( 1.05kB)
============================================================================== ==============================================================================

View file

@ -1,6 +1,6 @@
Dependencies for Project 'Project', Target 'Simulateur': (DO NOT MODIFY !) Dependencies for Project 'Project', Target 'Simulateur': (DO NOT MODIFY !)
CompilerVersion: 5060750::V5.06 update 6 (build 750)::ARMCC CompilerVersion: 5060750::V5.06 update 6 (build 750)::ARMCC
F (../Src/main.c)(0x5F5B2A6C)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -ID:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -ID:\Users\yoh12\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\main.o --omf_browse nucleo-f103rb\main.crf --depend nucleo-f103rb\main.d) F (../Src/main.c)(0x5F647597)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -ID:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -ID:\Users\yoh12\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\main.o --omf_browse nucleo-f103rb\main.crf --depend nucleo-f103rb\main.d)
I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5D10A074) I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5D10A074)
I (..\Inc\stm32f1xx.h)(0x5D1623CA) I (..\Inc\stm32f1xx.h)(0x5D1623CA)
I (..\Inc\stm32f103xb.h)(0x5D1623CA) I (..\Inc\stm32f103xb.h)(0x5D1623CA)
@ -13,7 +13,7 @@ I (..\Inc\system_stm32f1xx.h)(0x5D1623CA)
I (..\LLDrivers\inc\stm32f1xx_ll_utils.h)(0x5D10A087) I (..\LLDrivers\inc\stm32f1xx_ll_utils.h)(0x5D10A087)
I (..\LLDrivers\inc\stm32f1xx_ll_system.h)(0x5D10A068) I (..\LLDrivers\inc\stm32f1xx_ll_system.h)(0x5D10A068)
I (..\Services\Chrono.h)(0x5D6F75A3) I (..\Services\Chrono.h)(0x5D6F75A3)
F (..\Services\Chrono.c)(0x5D6F7522)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -ID:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -ID:\Users\yoh12\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\chrono.o --omf_browse nucleo-f103rb\chrono.crf --depend nucleo-f103rb\chrono.d) F (..\Services\Chrono.c)(0x5F6474CE)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -ID:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -ID:\Users\yoh12\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\chrono.o --omf_browse nucleo-f103rb\chrono.crf --depend nucleo-f103rb\chrono.d)
I (..\Services\Chrono.h)(0x5D6F75A3) I (..\Services\Chrono.h)(0x5D6F75A3)
I (..\Inc\stm32f103xb.h)(0x5D1623CA) I (..\Inc\stm32f103xb.h)(0x5D1623CA)
I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326) I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
@ -22,8 +22,8 @@ I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cms
I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326) I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326) I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5D1623CA) I (..\Inc\system_stm32f1xx.h)(0x5D1623CA)
I (..\MyDrivers\MyTimer.h)(0x5D6F75A3) I (..\MyDrivers\MyTimer.h)(0x5F6458EF)
F (..\MyDrivers\MyTimer.c)(0x5D6F76DB)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -ID:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -ID:\Users\yoh12\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\mytimer.o --omf_browse nucleo-f103rb\mytimer.crf --depend nucleo-f103rb\mytimer.d) F (..\MyDrivers\MyTimer.c)(0x5F6474AE)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -ID:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -ID:\Users\yoh12\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\mytimer.o --omf_browse nucleo-f103rb\mytimer.crf --depend nucleo-f103rb\mytimer.d)
I (..\Inc\stm32f103xb.h)(0x5D1623CA) I (..\Inc\stm32f103xb.h)(0x5D1623CA)
I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326) I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\core_cm3.h)(0x5D25F326)
I (D:\Program Files\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B3488) I (D:\Program Files\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B3488)
@ -31,6 +31,7 @@ I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cms
I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326) I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h)(0x5D25F326)
I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326) I (D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h)(0x5D25F326)
I (..\Inc\system_stm32f1xx.h)(0x5D1623CA) I (..\Inc\system_stm32f1xx.h)(0x5D1623CA)
I (..\MyDrivers\MyTimer.h)(0x5F6458EF)
F (..\LLDrivers\src\stm32f1xx_ll_rcc.c)(0x5D10A074)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -ID:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -ID:\Users\yoh12\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\stm32f1xx_ll_rcc.o --omf_browse nucleo-f103rb\stm32f1xx_ll_rcc.crf --depend nucleo-f103rb\stm32f1xx_ll_rcc.d) F (..\LLDrivers\src\stm32f1xx_ll_rcc.c)(0x5D10A074)(-c --cpu Cortex-M3 -D__EVAL -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ..\Inc -I ..\LLDrivers\inc -I ..\Services -I ..\MyDrivers --C99 -I.\RTE\_Simulateur -ID:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include -ID:\Users\yoh12\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include -D__UVISION_VERSION="529" -D_RTE_ -DSTM32F10X_MD -DSTM32F103xB -DUSE_FULL_LL_DRIVER -DHSE_VALUE="8000000U" -o nucleo-f103rb\stm32f1xx_ll_rcc.o --omf_browse nucleo-f103rb\stm32f1xx_ll_rcc.crf --depend nucleo-f103rb\stm32f1xx_ll_rcc.d)
I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5D10A074) I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5D10A074)
I (..\Inc\stm32f1xx.h)(0x5D1623CA) I (..\Inc\stm32f1xx.h)(0x5D1623CA)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -6,3 +6,4 @@ nucleo-f103rb\mytimer.o: D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\
nucleo-f103rb\mytimer.o: D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h nucleo-f103rb\mytimer.o: D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_compiler.h
nucleo-f103rb\mytimer.o: D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h nucleo-f103rb\mytimer.o: D:\Users\yoh12\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include\cmsis_armcc.h
nucleo-f103rb\mytimer.o: ..\Inc\system_stm32f1xx.h nucleo-f103rb\mytimer.o: ..\Inc\system_stm32f1xx.h
nucleo-f103rb\mytimer.o: ..\MyDrivers\MyTimer.h

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -338,13 +338,67 @@
<Name>-U-O142 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name> <Name>-U-O142 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/> <Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>26</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134218636</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\MyDrivers\MyTimer.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\NUCLEO_F103RB\../MyDrivers/MyTimer.c\26</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>114</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134218132</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\Services\Chrono.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\NUCLEO_F103RB\../Services/Chrono.c\114</Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>28</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\MyDrivers\MyTimer.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<WatchWindow1> <WatchWindow1>
<Ww> <Ww>
<count>0</count> <count>0</count>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<ItemText>((TIM_TypeDef *)((0x40000000UL + 0x00010000UL) + 0x00002C00UL))-&gt;CR2</ItemText> <ItemText>((TIM_TypeDef *)((0x40000000UL + 0x00010000UL) + 0x00002C00UL))-&gt;CR2</ItemText>
</Ww> </Ww>
<Ww>
<count>1</count>
<WinNumber>1</WinNumber>
<ItemText>time</ItemText>
</Ww>
</WatchWindow1> </WatchWindow1>
<Tracepoint> <Tracepoint>
<THDelay>0</THDelay> <THDelay>0</THDelay>
@ -352,7 +406,7 @@
<DebugFlag> <DebugFlag>
<trace>0</trace> <trace>0</trace>
<periodic>1</periodic> <periodic>1</periodic>
<aLwin>1</aLwin> <aLwin>0</aLwin>
<aCover>0</aCover> <aCover>0</aCover>
<aSer1>0</aSer1> <aSer1>0</aSer1>
<aSer2>0</aSer2> <aSer2>0</aSer2>
@ -388,6 +442,13 @@
<pszMrulep></pszMrulep> <pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp> <pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp> <pMultCmdsp></pMultCmdsp>
<LogicAnalyzers>
<Wi>
<IntNumber>0</IntNumber>
<FirstString>((TIM_TypeDef *)(0x40000000UL + 0x00000000UL))-&gt;CNT</FirstString>
<SecondString>FF00000000000000000000000000000000408F4000000000000000000000000000000000282854494D5F54797065446566202A292830783430303030303030554C202B2030783030303030303030554C29292D3E434E5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000001000000000000000000F03F1900000000000000000000000000000000000000E2020008</SecondString>
</Wi>
</LogicAnalyzers>
<SystemViewers> <SystemViewers>
<Entry> <Entry>
<Name>System Viewer\GPIOB</Name> <Name>System Viewer\GPIOB</Name>
@ -401,6 +462,10 @@
<Name>System Viewer\TIM1</Name> <Name>System Viewer\TIM1</Name>
<WinId>35905</WinId> <WinId>35905</WinId>
</Entry> </Entry>
<Entry>
<Name>System Viewer\TIM2</Name>
<WinId>35901</WinId>
</Entry>
<Entry> <Entry>
<Name>System Viewer\USART2</Name> <Name>System Viewer\USART2</Name>
<WinId>35902</WinId> <WinId>35902</WinId>
@ -426,7 +491,7 @@
<GroupNumber>1</GroupNumber> <GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber> <FileNumber>1</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>../Src/main.c</PathWithFileName> <PathWithFileName>../Src/main.c</PathWithFileName>
@ -446,7 +511,7 @@
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>2</FileNumber> <FileNumber>2</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\Services\Chrono.c</PathWithFileName> <PathWithFileName>..\Services\Chrono.c</PathWithFileName>
@ -466,7 +531,7 @@
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>3</FileNumber> <FileNumber>3</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>..\MyDrivers\MyTimer.c</PathWithFileName> <PathWithFileName>..\MyDrivers\MyTimer.c</PathWithFileName>

View file

@ -11,4 +11,129 @@
*/ */
#include "stm32f103xb.h" #include "stm32f103xb.h"
#include "MyTimer.h"
static void (*tim1_handler)(void) = 0;
static void (*tim2_handler)(void) = 0;
static void (*tim3_handler)(void) = 0;
static void (*tim4_handler)(void) = 0;
// TODO: les callbacks ne sont pas appelés :(
void TIM1_UP_IRQHandler() {
(*tim1_handler)();
}
void TIM2_IRQHandler() {
(*tim2_handler)();
}
void TIM3_IRQHandler() {
(*tim3_handler)();
}
void TIM4_IRQHandler() {
(*tim4_handler)();
}
/**
* @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 (autoreload)
* int Psc : valeur à placer dans PSC (prescaler)
* @retval None
*/
void MyTimer_Conf(TIM_TypeDef * Timer, int Arr, int Psc) {
// Activation de la clock correspondante au timer
if (Timer == TIM1) {
RCC->APB2ENR = RCC->APB2ENR | RCC_APB2ENR_TIM1EN;
} else if (Timer == TIM2) {
RCC->APB1ENR = RCC->APB1ENR | RCC_APB1ENR_TIM2EN;
} else if (Timer == TIM3) {
RCC->APB1ENR = RCC->APB1ENR | RCC_APB1ENR_TIM3EN;
} else if (Timer == TIM4) {
RCC->APB1ENR = RCC->APB1ENR | RCC_APB1ENR_TIM4EN;
}
// Règlage ARR
Timer->ARR = Arr;
// Réglage PSC
Timer->PSC = 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) {
Timer->CR1 = Timer->CR1 | TIM_CR1_CEN_Msk;
}
/**
* @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) {
Timer->CR1 = Timer->CR1 & ~TIM_CR1_CEN_Msk;
}
/**
* @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) {
if (Timer == TIM1) {
NVIC->ISER[0] |= TIM1_UP_IRQn;
tim1_handler = IT_function;
} else if (Timer == TIM2) {
NVIC->ISER[0] |= TIM2_IRQn;
tim2_handler = IT_function;
} else if (Timer == TIM3) {
NVIC->ISER[0] |= TIM3_IRQn;
tim3_handler = IT_function;
} else if (Timer == TIM4) {
NVIC->ISER[0] |= TIM4_IRQn;
tim4_handler = IT_function;
}
}
/**
* @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) {
Timer->DIER = Timer->DIER | TIM_DIER_UIE_Msk;
}
/**
* @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) {
Timer->DIER = Timer->DIER & ~TIM_DIER_UIE_Msk;
}

View file

@ -18,7 +18,7 @@ Driver pour Timer 1
* int Psc : valeur à placer dans PSC * int Psc : valeur à placer dans PSC
* @retval None * @retval None
*/ */
void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc); void MyTimer_Conf(TIM_TypeDef * Timer, int Arr, int Psc);
/** /**

View file

@ -34,18 +34,16 @@ void Chrono_Conf(TIM_TypeDef * Timer)
Chrono_Time.Min=0; Chrono_Time.Min=0;
// Fixation du Timer // Fixation du Timer
Chrono_Timer=Timer; Chrono_Timer = Timer;
// Réglage Timer pour un débordement à 10ms // Réglage Timer pour un débordement à 10ms
//MyTimer_Conf(Chrono_Timer... MyTimer_Conf(Chrono_Timer, 720 - 1, 1000 - 1);
// Réglage interruption du Timer avec callback : Chrono_Task_10ms() // Réglage interruption du Timer avec callback : Chrono_Task_10ms()
//MyTimer_IT_Conf(.. MyTimer_IT_Conf(Chrono_Timer, Chrono_Task_10ms, 0);
// Validation IT // Validation IT
//MyTimer_IT_Enable(.. MyTimer_IT_Enable(Chrono_Timer);
} }
@ -57,7 +55,7 @@ void Chrono_Conf(TIM_TypeDef * Timer)
*/ */
void Chrono_Start(void) void Chrono_Start(void)
{ {
//MyTimer_Start(..); MyTimer_Start(Chrono_Timer);
} }
@ -69,7 +67,7 @@ void Chrono_Start(void)
*/ */
void Chrono_Stop(void) void Chrono_Stop(void)
{ {
//MyTimer_Stop(.. MyTimer_Stop(Chrono_Timer);
} }

View file

@ -24,6 +24,9 @@
void SystemClock_Config(void); void SystemClock_Config(void);
Time *time;
/* Private functions ---------------------------------------------------------*/ /* Private functions ---------------------------------------------------------*/
/** /**
@ -37,6 +40,7 @@ int main(void)
SystemClock_Config(); SystemClock_Config();
/* Add your application code here */ /* Add your application code here */
// Configuration chronomètre // Configuration chronomètre
Chrono_Conf(TIM2); Chrono_Conf(TIM2);
@ -46,6 +50,7 @@ int main(void)
/* Infinite loop */ /* Infinite loop */
while (1) while (1)
{ {
time = Chrono_Read();
} }
} }