Réalisation timer + début intégration interruptions
This commit is contained in:
parent
0185633cef
commit
51958dab3e
18 changed files with 598 additions and 281 deletions
Binary file not shown.
|
@ -27,9 +27,6 @@ Project File Date: 09/11/2020
|
|||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program Files\Keil_v5\ARM\ARMCC\Bin'
|
||||
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).
|
||||
|
||||
<h2>Software Packages used:</h2>
|
||||
|
@ -53,7 +50,7 @@ Package Vendor: Keil
|
|||
<h2>Collection of Component Files used:</h2>
|
||||
|
||||
* Component: ARM::CMSIS:CORE:5.3.0
|
||||
Build Time Elapsed: 00:00:01
|
||||
Build Time Elapsed: 00:00:00
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
<title>Static Call Graph - [NUCLEO-F103RB\NUCLEO-F103RB.axf]</title></head>
|
||||
<body><HR>
|
||||
<H1>Static Call Graph for image NUCLEO-F103RB\NUCLEO-F103RB.axf</H1><HR>
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Fri Sep 11 09:42:59 2020
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Fri Sep 18 10:53:44 2020
|
||||
<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>
|
||||
|
||||
main ⇒ Chrono_Conf ⇒ MyTimer_IT_Conf
|
||||
<P>
|
||||
<H3>
|
||||
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="#[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="#[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="#[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)
|
||||
|
@ -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="#[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="#[23]">TIM1_UP_IRQHandler</a> from startup_stm32f103xb.o(.text) 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="#[27]">TIM3_IRQHandler</a> from startup_stm32f103xb.o(.text) 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="#[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 mytimer.o(i.TIM2_IRQHandler) 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 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="#[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)
|
||||
|
@ -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))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text)
|
||||
</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))
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[39]">>></a> __scatterload
|
||||
<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="#[3a]">>></a> __scatterload
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[3a]"></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]">>></a> __scatterload
|
||||
<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="#[3a]">>></a> __scatterload
|
||||
</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))
|
||||
<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))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
|
||||
</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))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
|
||||
</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))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
|
||||
</UL>
|
||||
<P><STRONG><a name="[39]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[3a]">>></a> __main_after_scatterload
|
||||
<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="#[3b]">>></a> __main_after_scatterload
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[38]">>></a> _main_scatterload
|
||||
<BR>[Called By]<UL><LI><a href="#[39]">>></a> _main_scatterload
|
||||
</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 ⇒ MyTimer_IT_Conf
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[3f]">>></a> MyTimer_IT_Enable
|
||||
<LI><a href="#[3e]">>></a> MyTimer_IT_Conf
|
||||
<LI><a href="#[3d]">>></a> MyTimer_Conf
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> 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]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[3e]"></a>Chrono_Start</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, chrono.o(i.Chrono_Start))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||
<P><STRONG><a name="[40]"></a>Chrono_Start</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, chrono.o(i.Chrono_Start))
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[41]">>></a> MyTimer_Start
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[3c]"></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="#[3b]">>></a> SystemClock_Config
|
||||
<P><STRONG><a name="[38]"></a>Chrono_Task_10ms</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, chrono.o(i.Chrono_Task_10ms))
|
||||
<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]">>></a> SystemClock_Config
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[3b]"></a>SystemClock_Config</STRONG> (Thumb, 128 bytes, Stack size 0 bytes, main.o(i.SystemClock_Config))
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[3c]">>></a> LL_SetSystemCoreClock
|
||||
<P><STRONG><a name="[3d]"></a>MyTimer_Conf</STRONG> (Thumb, 68 bytes, Stack size 8 bytes, mytimer.o(i.MyTimer_Conf))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = MyTimer_Conf
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[3c]">>></a> 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]">>></a> 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]">>></a> 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]">>></a> 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]">>></a> LL_SetSystemCoreClock
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> main
|
||||
</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))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text)
|
||||
</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))
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[3e]">>></a> Chrono_Start
|
||||
<LI><a href="#[3d]">>></a> Chrono_Conf
|
||||
<LI><a href="#[3b]">>></a> SystemClock_Config
|
||||
<P><STRONG><a name="[35]"></a>main</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, main.o(i.main))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = main ⇒ Chrono_Conf ⇒ MyTimer_IT_Conf
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[40]">>></a> Chrono_Start
|
||||
<LI><a href="#[44]">>></a> Chrono_Read
|
||||
<LI><a href="#[3c]">>></a> Chrono_Conf
|
||||
<LI><a href="#[42]">>></a> SystemClock_Config
|
||||
</UL>
|
||||
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
|
||||
</UL><P>
|
||||
|
|
|
@ -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 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_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(i.Chrono_Task_10ms) for Chrono_Task_10ms
|
||||
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_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
|
||||
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_GetHCLKClockFreq) for RCC_GetHCLKClockFreq
|
||||
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
|
||||
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
|
||||
|
@ -69,13 +88,13 @@ Removing Unused input sections from the image.
|
|||
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), (16 bytes).
|
||||
Removing chrono.o(i.Chrono_Stop), (2 bytes).
|
||||
Removing chrono.o(i.Chrono_Task_10ms), (52 bytes).
|
||||
Removing chrono.o(i.Chrono_Stop), (12 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), (10 bytes).
|
||||
Removing mytimer.o(i.MyTimer_Stop), (10 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).
|
||||
|
@ -108,7 +127,7 @@ Removing Unused input sections from the image.
|
|||
Removing system_stm32f1xx.o(.constdata), (8 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/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 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 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 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_utils.c 0x00000000 Number 0 stm32f1xx_ll_utils.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 0x08000124 Section 36 init.o(.text)
|
||||
i.Chrono_Conf 0x08000148 Section 0 chrono.o(i.Chrono_Conf)
|
||||
i.Chrono_Start 0x0800015c Section 0 chrono.o(i.Chrono_Start)
|
||||
i.LL_SetSystemCoreClock 0x08000160 Section 0 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)
|
||||
i.SystemClock_Config 0x0800016c Section 0 main.o(i.SystemClock_Config)
|
||||
i.SystemInit 0x080001f8 Section 0 system_stm32f1xx.o(i.SystemInit)
|
||||
i.__scatterload_copy 0x08000240 Section 14 handlers.o(i.__scatterload_copy)
|
||||
i.__scatterload_null 0x0800024e Section 2 handlers.o(i.__scatterload_null)
|
||||
i.__scatterload_zeroinit 0x08000250 Section 14 handlers.o(i.__scatterload_zeroinit)
|
||||
i.main 0x08000260 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 4 system_stm32f1xx.o(.data)
|
||||
STACK 0x20000010 Section 1024 startup_stm32f103xb.o(STACK)
|
||||
i.Chrono_Read 0x08000180 Section 0 chrono.o(i.Chrono_Read)
|
||||
i.Chrono_Start 0x08000188 Section 0 chrono.o(i.Chrono_Start)
|
||||
i.Chrono_Task_10ms 0x08000194 Section 0 chrono.o(i.Chrono_Task_10ms)
|
||||
i.LL_SetSystemCoreClock 0x080001c8 Section 0 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)
|
||||
i.MyTimer_Conf 0x080001d4 Section 0 mytimer.o(i.MyTimer_Conf)
|
||||
i.MyTimer_IT_Conf 0x08000228 Section 0 mytimer.o(i.MyTimer_IT_Conf)
|
||||
i.MyTimer_IT_Enable 0x08000298 Section 0 mytimer.o(i.MyTimer_IT_Enable)
|
||||
i.MyTimer_Start 0x080002a2 Section 0 mytimer.o(i.MyTimer_Start)
|
||||
i.SystemClock_Config 0x080002ac Section 0 main.o(i.SystemClock_Config)
|
||||
i.SystemInit 0x08000338 Section 0 system_stm32f1xx.o(i.SystemInit)
|
||||
i.TIM1_UP_IRQHandler 0x08000380 Section 0 mytimer.o(i.TIM1_UP_IRQHandler)
|
||||
i.TIM2_IRQHandler 0x0800038c Section 0 mytimer.o(i.TIM2_IRQHandler)
|
||||
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
|
||||
|
||||
|
@ -240,10 +275,6 @@ Image Symbol Table
|
|||
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)
|
||||
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)
|
||||
USART2_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)
|
||||
__scatterload 0x08000125 Thumb Code 28 init.o(.text)
|
||||
__scatterload_rt2 0x08000125 Thumb Code 0 init.o(.text)
|
||||
Chrono_Conf 0x08000149 Thumb Code 16 chrono.o(i.Chrono_Conf)
|
||||
Chrono_Start 0x0800015d Thumb Code 2 chrono.o(i.Chrono_Start)
|
||||
LL_SetSystemCoreClock 0x08000161 Thumb Code 6 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)
|
||||
SystemClock_Config 0x0800016d Thumb Code 128 main.o(i.SystemClock_Config)
|
||||
SystemInit 0x080001f9 Thumb Code 56 system_stm32f1xx.o(i.SystemInit)
|
||||
__scatterload_copy 0x08000241 Thumb Code 14 handlers.o(i.__scatterload_copy)
|
||||
__scatterload_null 0x0800024f Thumb Code 2 handlers.o(i.__scatterload_null)
|
||||
__scatterload_zeroinit 0x08000251 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
||||
main 0x08000261 Thumb Code 52 main.o(i.main)
|
||||
Region$$Table$$Base 0x0800029c Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x080002bc Number 0 anon$$obj.o(Region$$Table)
|
||||
SystemCoreClock 0x20000008 Data 4 system_stm32f1xx.o(.data)
|
||||
__initial_sp 0x20000410 Data 0 startup_stm32f103xb.o(STACK)
|
||||
Chrono_Conf 0x08000149 Thumb Code 48 chrono.o(i.Chrono_Conf)
|
||||
Chrono_Read 0x08000181 Thumb Code 4 chrono.o(i.Chrono_Read)
|
||||
Chrono_Start 0x08000189 Thumb Code 8 chrono.o(i.Chrono_Start)
|
||||
Chrono_Task_10ms 0x08000195 Thumb Code 48 chrono.o(i.Chrono_Task_10ms)
|
||||
LL_SetSystemCoreClock 0x080001c9 Thumb Code 6 stm32f1xx_ll_utils.o(i.LL_SetSystemCoreClock)
|
||||
MyTimer_Conf 0x080001d5 Thumb Code 68 mytimer.o(i.MyTimer_Conf)
|
||||
MyTimer_IT_Conf 0x08000229 Thumb Code 96 mytimer.o(i.MyTimer_IT_Conf)
|
||||
MyTimer_IT_Enable 0x08000299 Thumb Code 10 mytimer.o(i.MyTimer_IT_Enable)
|
||||
MyTimer_Start 0x080002a3 Thumb Code 10 mytimer.o(i.MyTimer_Start)
|
||||
SystemClock_Config 0x080002ad Thumb Code 128 main.o(i.SystemClock_Config)
|
||||
SystemInit 0x08000339 Thumb Code 56 system_stm32f1xx.o(i.SystemInit)
|
||||
TIM1_UP_IRQHandler 0x08000381 Thumb Code 6 mytimer.o(i.TIM1_UP_IRQHandler)
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
0x08000000 0x08000000 0x000000ec Data RO 343 RESET startup_stm32f103xb.o
|
||||
0x080000ec 0x080000ec 0x00000000 Code RO 348 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||
0x080000ec 0x080000ec 0x00000004 Code RO 351 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
|
||||
0x080000f0 0x080000f0 0x00000004 Code RO 354 .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 358 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||
0x080000f4 0x080000f4 0x00000008 Code RO 359 .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 363 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
|
||||
0x080000fc 0x080000fc 0x00000004 Code RO 352 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
|
||||
0x08000100 0x08000100 0x00000024 Code RO 344 .text startup_stm32f103xb.o
|
||||
0x08000124 0x08000124 0x00000024 Code RO 365 .text mc_w.l(init.o)
|
||||
0x08000148 0x08000148 0x00000014 Code RO 75 i.Chrono_Conf chrono.o
|
||||
0x0800015c 0x0800015c 0x00000002 Code RO 78 i.Chrono_Start chrono.o
|
||||
0x0800015e 0x0800015e 0x00000002 PAD
|
||||
0x08000160 0x08000160 0x0000000c Code RO 228 i.LL_SetSystemCoreClock stm32f1xx_ll_utils.o
|
||||
0x0800016c 0x0800016c 0x0000008c Code RO 4 i.SystemClock_Config main.o
|
||||
0x080001f8 0x080001f8 0x00000048 Code RO 307 i.SystemInit system_stm32f1xx.o
|
||||
0x08000240 0x08000240 0x0000000e Code RO 369 i.__scatterload_copy mc_w.l(handlers.o)
|
||||
0x0800024e 0x0800024e 0x00000002 Code RO 370 i.__scatterload_null mc_w.l(handlers.o)
|
||||
0x08000250 0x08000250 0x0000000e Code RO 371 i.__scatterload_zeroinit mc_w.l(handlers.o)
|
||||
0x0800025e 0x0800025e 0x00000002 PAD
|
||||
0x08000260 0x08000260 0x0000003c Code RO 5 i.main main.o
|
||||
0x0800029c 0x0800029c 0x00000020 Data RO 367 Region$$Table anon$$obj.o
|
||||
0x08000000 0x08000000 0x000000ec Data RO 408 RESET startup_stm32f103xb.o
|
||||
0x080000ec 0x080000ec 0x00000000 Code RO 413 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
|
||||
0x080000ec 0x080000ec 0x00000004 Code RO 416 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
|
||||
0x080000f0 0x080000f0 0x00000004 Code RO 419 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
|
||||
0x080000f4 0x080000f4 0x00000000 Code RO 421 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
|
||||
0x080000f4 0x080000f4 0x00000000 Code RO 423 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
|
||||
0x080000f4 0x080000f4 0x00000008 Code RO 424 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
|
||||
0x080000fc 0x080000fc 0x00000000 Code RO 426 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
|
||||
0x080000fc 0x080000fc 0x00000000 Code RO 428 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
|
||||
0x080000fc 0x080000fc 0x00000004 Code RO 417 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
|
||||
0x08000100 0x08000100 0x00000024 Code RO 409 .text startup_stm32f103xb.o
|
||||
0x08000124 0x08000124 0x00000024 Code RO 430 .text mc_w.l(init.o)
|
||||
0x08000148 0x08000148 0x00000038 Code RO 78 i.Chrono_Conf chrono.o
|
||||
0x08000180 0x08000180 0x00000008 Code RO 79 i.Chrono_Read chrono.o
|
||||
0x08000188 0x08000188 0x0000000c Code RO 81 i.Chrono_Start chrono.o
|
||||
0x08000194 0x08000194 0x00000034 Code RO 83 i.Chrono_Task_10ms chrono.o
|
||||
0x080001c8 0x080001c8 0x0000000c Code RO 293 i.LL_SetSystemCoreClock stm32f1xx_ll_utils.o
|
||||
0x080001d4 0x080001d4 0x00000054 Code RO 137 i.MyTimer_Conf mytimer.o
|
||||
0x08000228 0x08000228 0x00000070 Code RO 138 i.MyTimer_IT_Conf mytimer.o
|
||||
0x08000298 0x08000298 0x0000000a Code RO 140 i.MyTimer_IT_Enable mytimer.o
|
||||
0x080002a2 0x080002a2 0x0000000a Code RO 141 i.MyTimer_Start mytimer.o
|
||||
0x080002ac 0x080002ac 0x0000008c Code RO 4 i.SystemClock_Config main.o
|
||||
0x08000338 0x08000338 0x00000048 Code RO 372 i.SystemInit system_stm32f1xx.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
|
||||
|
||||
0x20000000 0x080002bc 0x00000008 Data RW 81 .data chrono.o
|
||||
0x20000008 0x080002c4 0x00000004 Data RW 310 .data system_stm32f1xx.o
|
||||
0x2000000c 0x080002c8 0x00000004 PAD
|
||||
0x20000010 - 0x00000400 Zero RW 341 STACK startup_stm32f103xb.o
|
||||
0x20000000 0x08000410 0x00000004 Data RW 6 .data main.o
|
||||
0x20000004 0x08000414 0x00000008 Data RW 84 .data chrono.o
|
||||
0x2000000c 0x0800041c 0x00000010 Data RW 147 .data mytimer.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
|
||||
|
||||
22 4 0 8 0 1361 chrono.o
|
||||
200 20 0 0 0 355384 main.o
|
||||
128 20 0 8 0 2286 chrono.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
|
||||
12 6 0 0 0 4116 stm32f1xx_ll_utils.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)
|
||||
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
|
||||
|
||||
432 70 268 12 1028 362848 Grand Totals
|
||||
432 70 268 12 1028 362848 ELF Image Totals
|
||||
432 70 268 12 0 0 ROM Totals
|
||||
772 138 268 32 1024 368292 Grand Totals
|
||||
772 138 268 32 1024 368292 ELF Image Totals
|
||||
772 138 268 32 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
Total RO Size (Code + RO Data) 700 ( 0.68kB)
|
||||
Total RW Size (RW Data + ZI Data) 1040 ( 1.02kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 712 ( 0.70kB)
|
||||
Total RO Size (Code + RO Data) 1040 ( 1.02kB)
|
||||
Total RW Size (RW Data + ZI Data) 1056 ( 1.03kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 1072 ( 1.05kB)
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Dependencies for Project 'Project', Target 'Simulateur': (DO NOT MODIFY !)
|
||||
CompilerVersion: 5060750::V5.06 update 6 (build 750)::ARMCC
|
||||
F (../Src/main.c)(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 (..\Inc\stm32f1xx.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_system.h)(0x5D10A068)
|
||||
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 (..\Inc\stm32f103xb.h)(0x5D1623CA)
|
||||
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_armcc.h)(0x5D25F326)
|
||||
I (..\Inc\system_stm32f1xx.h)(0x5D1623CA)
|
||||
I (..\MyDrivers\MyTimer.h)(0x5D6F75A3)
|
||||
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)
|
||||
I (..\MyDrivers\MyTimer.h)(0x5F6458EF)
|
||||
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 (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)
|
||||
|
@ -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_armcc.h)(0x5D25F326)
|
||||
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)
|
||||
I (..\LLDrivers\inc\stm32f1xx_ll_rcc.h)(0x5D10A074)
|
||||
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.
|
@ -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_armcc.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
|
@ -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>
|
||||
</SetRegEntry>
|
||||
</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>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>((TIM_TypeDef *)((0x40000000UL + 0x00010000UL) + 0x00002C00UL))->CR2</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>time</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
|
@ -352,7 +406,7 @@
|
|||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aLwin>0</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
|
@ -388,6 +442,13 @@
|
|||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<LogicAnalyzers>
|
||||
<Wi>
|
||||
<IntNumber>0</IntNumber>
|
||||
<FirstString>((TIM_TypeDef *)(0x40000000UL + 0x00000000UL))->CNT</FirstString>
|
||||
<SecondString>FF00000000000000000000000000000000408F4000000000000000000000000000000000282854494D5F54797065446566202A292830783430303030303030554C202B2030783030303030303030554C29292D3E434E5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000001000000000000000000F03F1900000000000000000000000000000000000000E2020008</SecondString>
|
||||
</Wi>
|
||||
</LogicAnalyzers>
|
||||
<SystemViewers>
|
||||
<Entry>
|
||||
<Name>System Viewer\GPIOB</Name>
|
||||
|
@ -401,6 +462,10 @@
|
|||
<Name>System Viewer\TIM1</Name>
|
||||
<WinId>35905</WinId>
|
||||
</Entry>
|
||||
<Entry>
|
||||
<Name>System Viewer\TIM2</Name>
|
||||
<WinId>35901</WinId>
|
||||
</Entry>
|
||||
<Entry>
|
||||
<Name>System Viewer\USART2</Name>
|
||||
<WinId>35902</WinId>
|
||||
|
@ -426,7 +491,7 @@
|
|||
<GroupNumber>1</GroupNumber>
|
||||
<FileNumber>1</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>../Src/main.c</PathWithFileName>
|
||||
|
@ -446,7 +511,7 @@
|
|||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Services\Chrono.c</PathWithFileName>
|
||||
|
@ -466,7 +531,7 @@
|
|||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\MyDrivers\MyTimer.c</PathWithFileName>
|
||||
|
|
|
@ -7,8 +7,133 @@
|
|||
|
||||
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)
|
||||
pour mettre à 0 , reg = reg&~ Mask (ou Mask est le représente le ou les bits à positionner à 0)
|
||||
|
||||
*/
|
||||
#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;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ Driver pour Timer 1
|
|||
* int Psc : valeur à placer dans PSC
|
||||
* @retval None
|
||||
*/
|
||||
void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc);
|
||||
void MyTimer_Conf(TIM_TypeDef * Timer, int Arr, int Psc);
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -34,18 +34,16 @@ void Chrono_Conf(TIM_TypeDef * Timer)
|
|||
Chrono_Time.Min=0;
|
||||
|
||||
// Fixation du Timer
|
||||
Chrono_Timer=Timer;
|
||||
Chrono_Timer = Timer;
|
||||
|
||||
// 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()
|
||||
//MyTimer_IT_Conf(..
|
||||
MyTimer_IT_Conf(Chrono_Timer, Chrono_Task_10ms, 0);
|
||||
|
||||
// Validation IT
|
||||
//MyTimer_IT_Enable(..
|
||||
|
||||
|
||||
MyTimer_IT_Enable(Chrono_Timer);
|
||||
}
|
||||
|
||||
|
||||
|
@ -57,7 +55,7 @@ void Chrono_Conf(TIM_TypeDef * Timer)
|
|||
*/
|
||||
void Chrono_Start(void)
|
||||
{
|
||||
//MyTimer_Start(..);
|
||||
MyTimer_Start(Chrono_Timer);
|
||||
}
|
||||
|
||||
|
||||
|
@ -69,7 +67,7 @@ void Chrono_Start(void)
|
|||
*/
|
||||
void Chrono_Stop(void)
|
||||
{
|
||||
//MyTimer_Stop(..
|
||||
MyTimer_Stop(Chrono_Timer);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
|
||||
void SystemClock_Config(void);
|
||||
|
||||
Time *time;
|
||||
|
||||
|
||||
/* Private functions ---------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
|
@ -37,6 +40,7 @@ int main(void)
|
|||
SystemClock_Config();
|
||||
|
||||
/* Add your application code here */
|
||||
|
||||
// Configuration chronomètre
|
||||
Chrono_Conf(TIM2);
|
||||
|
||||
|
@ -46,6 +50,7 @@ int main(void)
|
|||
/* Infinite loop */
|
||||
while (1)
|
||||
{
|
||||
time = Chrono_Read();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue