| | |
| | | <title>Static Call Graph - [L051\L051.axf]</title></head> |
| | | <body><HR> |
| | | <H1>Static Call Graph for image L051\L051.axf</H1><HR> |
| | | <BR><P>#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Fri Dec 11 14:13:48 2020 |
| | | <BR><P>#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Thu Dec 24 14:54:43 2020 |
| | | <BR><P> |
| | | <H3>Maximum Stack Usage = 216 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> |
| | | Call chain for Maximum Stack Depth:</H3> |
| | |
| | | <LI><a href="#[25]">UsartParseDataHandler</a> from serial_at_cmd_app.o(i.UsartParseDataHandler) referenced from main.o(i.Program_Init) |
| | | <LI><a href="#[6]">WWDG_IRQHandler</a> from startup_stm32l051xx.o(.text) referenced from startup_stm32l051xx.o(RESET) |
| | | <LI><a href="#[20]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32l051xx.o(.text) |
| | | <LI><a href="#[26]">fputc</a> from usart.o(i.fputc) referenced from printf1.o(i.__0printf$1) |
| | | <LI><a href="#[26]">fputc</a> from usart.o(i.fputc) referenced from printfb.o(i.__0printf$bare) |
| | | <LI><a href="#[1e]">main</a> from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B) |
| | | </UL> |
| | | <P> |
| | |
| | | <LI><a href="#[9e]">>></a> HAL_RCC_GetSysClockFreq |
| | | <LI><a href="#[83]">>></a> HAL_InitTick |
| | | <LI><a href="#[aa]">>></a> UART_SetConfig |
| | | <LI><a href="#[e6]">>></a> _printf_core |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[29]"></a>__aeabi_uldivmod</STRONG> (Thumb, 96 bytes, Stack size 48 bytes, uldiv.o(.text)) |
| | |
| | | <LI><a href="#[b9]">>></a> IdleTask |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[63]"></a>GetNearMsg</STRONG> (Thumb, 196 bytes, Stack size 16 bytes, dw_app.o(i.GetNearMsg)) |
| | | <P><STRONG><a name="[63]"></a>GetNearMsg</STRONG> (Thumb, 214 bytes, Stack size 16 bytes, dw_app.o(i.GetNearMsg)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 100<LI>Call Chain = GetNearMsg ⇒ dwt_starttx ⇒ dwt_entersleepaftertx ⇒ dwt_write32bitoffsetreg ⇒ dwt_writetodevice ⇒ writetospi |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[6e]">>></a> NVIC_SystemReset |
| | |
| | | <LI><a href="#[64]">>></a> dwt_setrxaftertxdelay |
| | | <LI><a href="#[6b]">>></a> dwt_readrxdata |
| | | <LI><a href="#[69]">>></a> dwt_read32bitoffsetreg |
| | | <LI><a href="#[6d]">>></a> __aeabi_memcpy |
| | | <LI><a href="#[6c]">>></a> memcmp |
| | | <LI><a href="#[6d]">>></a> __aeabi_memcpy |
| | | </UL> |
| | | <BR>[Called By]<UL><LI><a href="#[dc]">>></a> Tag_App |
| | | </UL> |
| | |
| | | <LI><a href="#[c5]">>></a> MX_GPIO_Init |
| | | <LI><a href="#[b9]">>></a> IdleTask |
| | | <LI><a href="#[dc]">>></a> Tag_App |
| | | <LI><a href="#[c9]">>></a> NearPoll |
| | | <LI><a href="#[74]">>></a> Get_Battary |
| | | <LI><a href="#[4c]">>></a> Reset_DW1000 |
| | | </UL> |
| | |
| | | <BR><BR>[Called By]<UL><LI><a href="#[90]">>></a> HAL_LPTIM_IRQHandler |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[87]"></a>HAL_LPTIM_CompareMatchCallback</STRONG> (Thumb, 410 bytes, Stack size 24 bytes, main.o(i.HAL_LPTIM_CompareMatchCallback)) |
| | | <P><STRONG><a name="[87]"></a>HAL_LPTIM_CompareMatchCallback</STRONG> (Thumb, 374 bytes, Stack size 24 bytes, main.o(i.HAL_LPTIM_CompareMatchCallback)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = HAL_LPTIM_CompareMatchCallback ⇒ parameter_init ⇒ save_com_map_to_flash ⇒ FLASH_Prepare ⇒ HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation ⇒ FLASH_SetErrorCode |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[3d]">>></a> __aeabi_i2f |
| | |
| | | <LI><a href="#[c1]">>></a> LIS3DH_ReadOneByte |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[b9]"></a>IdleTask</STRONG> (Thumb, 292 bytes, Stack size 24 bytes, main.o(i.IdleTask)) |
| | | <P><STRONG><a name="[b9]"></a>IdleTask</STRONG> (Thumb, 314 bytes, Stack size 24 bytes, main.o(i.IdleTask)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = IdleTask ⇒ GetLPTime ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[53]">>></a> HAL_GPIO_WritePin |
| | |
| | | <P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32l0xx_it.o(i.NMI_Handler)) |
| | | <BR>[Address Reference Count : 1]<UL><LI> startup_stm32l051xx.o(RESET) |
| | | </UL> |
| | | <P><STRONG><a name="[c9]"></a>NearPoll</STRONG> (Thumb, 1246 bytes, Stack size 48 bytes, dw_app.o(i.NearPoll)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = NearPoll ⇒ ceil ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr |
| | | <P><STRONG><a name="[c9]"></a>NearPoll</STRONG> (Thumb, 1324 bytes, Stack size 56 bytes, dw_app.o(i.NearPoll)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 192<LI>Call Chain = NearPoll ⇒ ceil ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[34]">>></a> __aeabi_fdiv |
| | | <LI><a href="#[35]">>></a> __aeabi_dadd |
| | | <LI><a href="#[53]">>></a> HAL_GPIO_WritePin |
| | | <LI><a href="#[52]">>></a> HAL_GPIO_ReadPin |
| | | <LI><a href="#[40]">>></a> __aeabi_ui2d |
| | | <LI><a href="#[3f]">>></a> __aeabi_i2d |
| | |
| | | <LI><a href="#[6b]">>></a> dwt_readrxdata |
| | | <LI><a href="#[69]">>></a> dwt_read32bitoffsetreg |
| | | <LI><a href="#[ce]">>></a> dwt_forcetrxoff |
| | | <LI><a href="#[6c]">>></a> memcmp |
| | | <LI><a href="#[6d]">>></a> __aeabi_memcpy |
| | | <LI><a href="#[ca]">>></a> ceil |
| | | <LI><a href="#[6c]">>></a> memcmp |
| | | </UL> |
| | | <BR>[Called By]<UL><LI><a href="#[dc]">>></a> Tag_App |
| | | </UL> |
| | |
| | | <P><STRONG><a name="[4]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32l0xx_it.o(i.PendSV_Handler)) |
| | | <BR>[Address Reference Count : 1]<UL><LI> startup_stm32l051xx.o(RESET) |
| | | </UL> |
| | | <P><STRONG><a name="[d2]"></a>Poll</STRONG> (Thumb, 728 bytes, Stack size 72 bytes, dw_app.o(i.Poll)) |
| | | <P><STRONG><a name="[d2]"></a>Poll</STRONG> (Thumb, 730 bytes, Stack size 72 bytes, dw_app.o(i.Poll)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 200<LI>Call Chain = Poll ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[3d]">>></a> __aeabi_i2f |
| | |
| | | <LI><a href="#[d0]">>></a> dwt_setdelayedtrxtime |
| | | <LI><a href="#[6b]">>></a> dwt_readrxdata |
| | | <LI><a href="#[69]">>></a> dwt_read32bitoffsetreg |
| | | <LI><a href="#[6d]">>></a> __aeabi_memcpy |
| | | <LI><a href="#[6c]">>></a> memcmp |
| | | <LI><a href="#[6d]">>></a> __aeabi_memcpy |
| | | </UL> |
| | | <BR>[Called By]<UL><LI><a href="#[dc]">>></a> Tag_App |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[d3]"></a>Program_Init</STRONG> (Thumb, 232 bytes, Stack size 24 bytes, main.o(i.Program_Init)) |
| | | <P><STRONG><a name="[d3]"></a>Program_Init</STRONG> (Thumb, 202 bytes, Stack size 24 bytes, main.o(i.Program_Init)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = Program_Init ⇒ GetLPTime ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[3c]">>></a> __aeabi_ddiv |
| | |
| | | <LI><a href="#[42]">>></a> __aeabi_d2uiz |
| | | <LI><a href="#[89]">>></a> parameter_init |
| | | <LI><a href="#[47]">>></a> __aeabi_uidivmod |
| | | <LI><a href="#[bc]">>></a> __2printf |
| | | </UL> |
| | | <BR>[Called By]<UL><LI><a href="#[1e]">>></a> main |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[d5]"></a>Registor_Poll</STRONG> (Thumb, 584 bytes, Stack size 40 bytes, dw_app.o(i.Registor_Poll)) |
| | | <P><STRONG><a name="[d5]"></a>Registor_Poll</STRONG> (Thumb, 602 bytes, Stack size 40 bytes, dw_app.o(i.Registor_Poll)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 200<LI>Call Chain = Registor_Poll ⇒ IdleTask ⇒ GetLPTime ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[3d]">>></a> __aeabi_i2f |
| | |
| | | <LI><a href="#[64]">>></a> dwt_setrxaftertxdelay |
| | | <LI><a href="#[6b]">>></a> dwt_readrxdata |
| | | <LI><a href="#[69]">>></a> dwt_read32bitoffsetreg |
| | | <LI><a href="#[6c]">>></a> memcmp |
| | | <LI><a href="#[6d]">>></a> __aeabi_memcpy |
| | | <LI><a href="#[47]">>></a> __aeabi_uidivmod |
| | | <LI><a href="#[6c]">>></a> memcmp |
| | | </UL> |
| | | <BR>[Called By]<UL><LI><a href="#[dc]">>></a> Tag_App |
| | | </UL> |
| | |
| | | <BR>[Called By]<UL><LI><a href="#[25]">>></a> UsartParseDataHandler |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[88]"></a>SetNextPollTime</STRONG> (Thumb, 110 bytes, Stack size 8 bytes, main.o(i.SetNextPollTime)) |
| | | <P><STRONG><a name="[88]"></a>SetNextPollTime</STRONG> (Thumb, 112 bytes, Stack size 8 bytes, main.o(i.SetNextPollTime)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = SetNextPollTime ⇒ __aeabi_i2d ⇒ _double_epilogue ⇒ __aeabi_llsr |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[3c]">>></a> __aeabi_ddiv |
| | |
| | | <P><STRONG><a name="[1f]"></a>SystemInit</STRONG> (Thumb, 66 bytes, Stack size 0 bytes, system_stm32l0xx.o(i.SystemInit)) |
| | | <BR>[Address Reference Count : 1]<UL><LI> startup_stm32l051xx.o(.text) |
| | | </UL> |
| | | <P><STRONG><a name="[dc]"></a>Tag_App</STRONG> (Thumb, 144 bytes, Stack size 16 bytes, dw_app.o(i.Tag_App)) |
| | | <P><STRONG><a name="[dc]"></a>Tag_App</STRONG> (Thumb, 158 bytes, Stack size 16 bytes, dw_app.o(i.Tag_App)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 216<LI>Call Chain = Tag_App ⇒ Registor_Poll ⇒ IdleTask ⇒ GetLPTime ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[53]">>></a> HAL_GPIO_WritePin |
| | | <LI><a href="#[b2]">>></a> delay_us |
| | | <LI><a href="#[d5]">>></a> Registor_Poll |
| | | <LI><a href="#[d2]">>></a> Poll |
| | | <LI><a href="#[c9]">>></a> NearPoll |
| | |
| | | </UL> |
| | | <BR>[Address Reference Count : 1]<UL><LI> main.o(i.Program_Init) |
| | | </UL> |
| | | <P><STRONG><a name="[e5]"></a>__0printf$1</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1), UNUSED) |
| | | <P><STRONG><a name="[e5]"></a>__0printf$bare</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, printfb.o(i.__0printf$bare), UNUSED) |
| | | <BR><BR>[Calls]<UL><LI><a href="#[e6]">>></a> _printf_core |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[111]"></a>__1printf$1</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1), UNUSED) |
| | | <P><STRONG><a name="[111]"></a>__1printf$bare</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, printfb.o(i.__0printf$bare), UNUSED) |
| | | |
| | | <P><STRONG><a name="[bc]"></a>__2printf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __2printf |
| | | <P><STRONG><a name="[bc]"></a>__2printf</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, printfb.o(i.__0printf$bare)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __2printf |
| | | </UL> |
| | | <BR>[Called By]<UL><LI><a href="#[d3]">>></a> Program_Init |
| | | <LI><a href="#[b9]">>></a> IdleTask |
| | | <BR>[Called By]<UL><LI><a href="#[b9]">>></a> IdleTask |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[44]"></a>__ARM_clz</STRONG> (Thumb, 46 bytes, Stack size 0 bytes, depilogue.o(i.__ARM_clz)) |
| | |
| | | <LI><a href="#[b4]">>></a> IIC2_Read_Byte |
| | | <LI><a href="#[b3]">>></a> IIC2_NAck |
| | | <LI><a href="#[b1]">>></a> IIC2_Ack |
| | | <LI><a href="#[dc]">>></a> Tag_App |
| | | <LI><a href="#[bb]">>></a> UART_CheckSend |
| | | <LI><a href="#[54]">>></a> delay_ms |
| | | </UL> |
| | |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[af]">>></a> HAL_UART_Transmit |
| | | </UL> |
| | | <BR>[Address Reference Count : 1]<UL><LI> printf1.o(i.__0printf$1) |
| | | <BR>[Address Reference Count : 1]<UL><LI> printfb.o(i.__0printf$bare) |
| | | </UL> |
| | | <P><STRONG><a name="[1e]"></a>main</STRONG> (Thumb, 256 bytes, Stack size 0 bytes, main.o(i.main)) |
| | | <P><STRONG><a name="[1e]"></a>main</STRONG> (Thumb, 268 bytes, Stack size 0 bytes, main.o(i.main)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 216<LI>Call Chain = main ⇒ Tag_App ⇒ Registor_Poll ⇒ IdleTask ⇒ GetLPTime ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[53]">>></a> HAL_GPIO_WritePin |
| | |
| | | <BR>[Called By]<UL><LI><a href="#[87]">>></a> HAL_LPTIM_CompareMatchCallback |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[89]"></a>parameter_init</STRONG> (Thumb, 104 bytes, Stack size 8 bytes, global_param.o(i.parameter_init)) |
| | | <P><STRONG><a name="[89]"></a>parameter_init</STRONG> (Thumb, 94 bytes, Stack size 8 bytes, global_param.o(i.parameter_init)) |
| | | <BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = parameter_init ⇒ save_com_map_to_flash ⇒ FLASH_Prepare ⇒ HAL_FLASHEx_Erase ⇒ FLASH_WaitForLastOperation ⇒ FLASH_SetErrorCode |
| | | </UL> |
| | | <BR>[Calls]<UL><LI><a href="#[8a]">>></a> save_com_map_to_flash |
| | |
| | | <BR><BR>[Called By]<UL><LI><a href="#[24]">>></a> UART_DMAError |
| | | </UL> |
| | | |
| | | <P><STRONG><a name="[e6]"></a>_printf_core</STRONG> (Thumb, 332 bytes, Stack size 88 bytes, printf1.o(i._printf_core), UNUSED) |
| | | <BR><BR>[Calls]<UL><LI><a href="#[47]">>></a> __aeabi_uidivmod |
| | | </UL> |
| | | <BR>[Called By]<UL><LI><a href="#[e5]">>></a> __0printf$1 |
| | | <P><STRONG><a name="[e6]"></a>_printf_core</STRONG> (Thumb, 30 bytes, Stack size 24 bytes, printfb.o(i._printf_core), UNUSED) |
| | | <BR><BR>[Called By]<UL><LI><a href="#[e5]">>></a> __0printf$bare |
| | | </UL> |
| | | <P> |
| | | <H3> |