From 17acf589e4cb214a636813e60cdd3247b4cfabe3 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期二, 08 四月 2025 10:42:22 +0800 Subject: [PATCH] V1.57 1.修复UWB唤醒读取ID的bug,会导致UWB出错的时候,卡死。充电的时候UWB有时会出现读取错误,但是去掉充电器之后,会自动恢复。 --- MDK-ARM/L051/L051.htm | 56 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 30 insertions(+), 26 deletions(-) diff --git a/MDK-ARM/L051/L051.htm b/MDK-ARM/L051/L051.htm index 59c33ea..f3824dc 100644 --- a/MDK-ARM/L051/L051.htm +++ b/MDK-ARM/L051/L051.htm @@ -3,7 +3,7 @@ <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: Thu Nov 21 11:57:05 2024 +<BR><P>#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Mon Apr 07 17:20:59 2025 <BR><P> <H3>Maximum Stack Usage = 248 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> Call chain for Maximum Stack Depth:</H3> @@ -550,7 +550,7 @@ <P><STRONG><a name="[192]"></a>__decompress1</STRONG> (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED) -<P><STRONG><a name="[6e]"></a>Anchor_RecNearPoll</STRONG> (Thumb, 294 bytes, Stack size 40 bytes, dw_mbx_tag.o(i.Anchor_RecNearPoll)) +<P><STRONG><a name="[6e]"></a>Anchor_RecNearPoll</STRONG> (Thumb, 306 bytes, Stack size 40 bytes, dw_mbx_tag.o(i.Anchor_RecNearPoll)) <BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = Anchor_RecNearPoll ⇒ dwt_starttx ⇒ dwt_entersleepaftertx ⇒ dwt_write32bitoffsetreg ⇒ dwt_writetodevice ⇒ writetospi ⇒ Uwb_CS_di ⇒ __2printf </UL> <BR>[Calls]<UL><LI><a href="#[75]">>></a> HAL_LPTIM_ReadCounter @@ -938,7 +938,6 @@ <LI><a href="#[1e]">>></a> main <LI><a href="#[f5]">>></a> IdleTask <LI><a href="#[e9]">>></a> HAL_UART_RxCpltCallback -<LI><a href="#[b2]">>></a> HAL_LPTIM_CompareMatchCallback <LI><a href="#[10f]">>></a> MX_GPIO_Init <LI><a href="#[104]">>></a> LoraReportPoll <LI><a href="#[ff]">>></a> LedTask @@ -1022,12 +1021,11 @@ <BR><BR>[Called By]<UL><LI><a href="#[ba]">>></a> HAL_LPTIM_IRQHandler </UL> -<P><STRONG><a name="[b2]"></a>HAL_LPTIM_CompareMatchCallback</STRONG> (Thumb, 386 bytes, Stack size 24 bytes, main.o(i.HAL_LPTIM_CompareMatchCallback)) +<P><STRONG><a name="[b2]"></a>HAL_LPTIM_CompareMatchCallback</STRONG> (Thumb, 376 bytes, Stack size 24 bytes, main.o(i.HAL_LPTIM_CompareMatchCallback)) <BR><BR>[Stack]<UL><LI>Max Depth = 196<LI>Call Chain = HAL_LPTIM_CompareMatchCallback ⇒ SystemClock_Config ⇒ HAL_RCC_OscConfig ⇒ HAL_InitTick ⇒ __aeabi_uidivmod </UL> <BR>[Calls]<UL><LI><a href="#[60]">>></a> __aeabi_i2f <LI><a href="#[b4]">>></a> __aeabi_cfrcmple -<LI><a href="#[99]">>></a> HAL_GPIO_WritePin <LI><a href="#[86]">>></a> HAL_GPIO_ReadPin <LI><a href="#[52]">>></a> __aeabi_fadd <LI><a href="#[b8]">>></a> __aeabi_cfcmple @@ -1473,8 +1471,8 @@ <LI><a href="#[fd]">>></a> LIS3DH_ReadOneByte </UL> -<P><STRONG><a name="[f5]"></a>IdleTask</STRONG> (Thumb, 164 bytes, Stack size 16 bytes, main.o(i.IdleTask)) -<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = IdleTask ⇒ UsartInit ⇒ MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ UART_SetConfig ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +<P><STRONG><a name="[f5]"></a>IdleTask</STRONG> (Thumb, 190 bytes, Stack size 24 bytes, main.o(i.IdleTask)) +<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = IdleTask ⇒ UsartInit ⇒ MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ UART_SetConfig ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr </UL> <BR>[Calls]<UL><LI><a href="#[99]">>></a> HAL_GPIO_WritePin <LI><a href="#[86]">>></a> HAL_GPIO_ReadPin @@ -1568,8 +1566,8 @@ <LI><a href="#[10c]">>></a> Lora_Send_Poll </UL> -<P><STRONG><a name="[ff]"></a>LedTask</STRONG> (Thumb, 88 bytes, Stack size 16 bytes, dw_mbx_tag.o(i.LedTask)) -<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = LedTask +<P><STRONG><a name="[ff]"></a>LedTask</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, dw_mbx_tag.o(i.LedTask)) +<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = LedTask </UL> <BR>[Calls]<UL><LI><a href="#[99]">>></a> HAL_GPIO_WritePin <LI><a href="#[86]">>></a> HAL_GPIO_ReadPin @@ -1577,7 +1575,7 @@ <BR>[Called By]<UL><LI><a href="#[10c]">>></a> Lora_Send_Poll </UL> -<P><STRONG><a name="[100]"></a>LoraHeartBeartPoll</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, dw_mbx_tag.o(i.LoraHeartBeartPoll)) +<P><STRONG><a name="[100]"></a>LoraHeartBeartPoll</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, dw_mbx_tag.o(i.LoraHeartBeartPoll)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = LoraHeartBeartPoll ⇒ Checksum_u16 </UL> <BR>[Calls]<UL><LI><a href="#[101]">>></a> Checksum_u16 @@ -1593,18 +1591,20 @@ <BR>[Called By]<UL><LI><a href="#[1e]">>></a> main </UL> -<P><STRONG><a name="[106]"></a>LoraReportFreqPoll</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, dw_mbx_tag.o(i.LoraReportFreqPoll)) -<BR><BR>[Called By]<UL><LI><a href="#[104]">>></a> LoraReportPoll +<P><STRONG><a name="[105]"></a>LoraReportFreqPoll</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, dw_mbx_tag.o(i.LoraReportFreqPoll)) +<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = LoraReportFreqPoll +</UL> +<BR>[Called By]<UL><LI><a href="#[104]">>></a> LoraReportPoll </UL> -<P><STRONG><a name="[104]"></a>LoraReportPoll</STRONG> (Thumb, 328 bytes, Stack size 32 bytes, dw_mbx_tag.o(i.LoraReportPoll)) +<P><STRONG><a name="[104]"></a>LoraReportPoll</STRONG> (Thumb, 376 bytes, Stack size 32 bytes, dw_mbx_tag.o(i.LoraReportPoll)) <BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = LoraReportPoll ⇒ Get_Battary ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round </UL> <BR>[Calls]<UL><LI><a href="#[99]">>></a> HAL_GPIO_WritePin <LI><a href="#[86]">>></a> HAL_GPIO_ReadPin <LI><a href="#[103]">>></a> SwitchLoraSettings -<LI><a href="#[105]">>></a> TagListUpdate -<LI><a href="#[106]">>></a> LoraReportFreqPoll +<LI><a href="#[106]">>></a> TagListUpdate +<LI><a href="#[105]">>></a> LoraReportFreqPoll <LI><a href="#[100]">>></a> LoraHeartBeartPoll <LI><a href="#[101]">>></a> Checksum_u16 <LI><a href="#[98]">>></a> Get_Battary @@ -1651,8 +1651,8 @@ <BR>[Called By]<UL><LI><a href="#[1e]">>></a> main </UL> -<P><STRONG><a name="[10c]"></a>Lora_Send_Poll</STRONG> (Thumb, 112 bytes, Stack size 16 bytes, dw_mbx_tag.o(i.Lora_Send_Poll)) -<BR><BR>[Stack]<UL><LI>Max Depth = 200<LI>Call Chain = Lora_Send_Poll ⇒ LoraReportPoll ⇒ Get_Battary ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round +<P><STRONG><a name="[10c]"></a>Lora_Send_Poll</STRONG> (Thumb, 202 bytes, Stack size 24 bytes, dw_mbx_tag.o(i.Lora_Send_Poll)) +<BR><BR>[Stack]<UL><LI>Max Depth = 208<LI>Call Chain = Lora_Send_Poll ⇒ LoraReportPoll ⇒ Get_Battary ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round </UL> <BR>[Calls]<UL><LI><a href="#[103]">>></a> SwitchLoraSettings <LI><a href="#[104]">>></a> LoraReportPoll @@ -1663,7 +1663,7 @@ <BR>[Called By]<UL><LI><a href="#[1e]">>></a> main </UL> -<P><STRONG><a name="[115]"></a>MbxTagUwbRec</STRONG> (Thumb, 416 bytes, Stack size 24 bytes, dw_mbx_tag.o(i.MbxTagUwbRec)) +<P><STRONG><a name="[115]"></a>MbxTagUwbRec</STRONG> (Thumb, 396 bytes, Stack size 24 bytes, dw_mbx_tag.o(i.MbxTagUwbRec)) <BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = MbxTagUwbRec ⇒ Anchor_RecNearPoll ⇒ dwt_starttx ⇒ dwt_entersleepaftertx ⇒ dwt_write32bitoffsetreg ⇒ dwt_writetodevice ⇒ writetospi ⇒ Uwb_CS_di ⇒ __2printf </UL> <BR>[Calls]<UL><LI><a href="#[75]">>></a> HAL_LPTIM_ReadCounter @@ -1684,8 +1684,8 @@ <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="[28]"></a>OnRxDone</STRONG> (Thumb, 528 bytes, Stack size 64 bytes, lora.o(i.OnRxDone)) -<BR><BR>[Stack]<UL><LI>Max Depth = 248<LI>Call Chain = OnRxDone ⇒ MbxTagUwbRec ⇒ Anchor_RecNearPoll ⇒ dwt_starttx ⇒ dwt_entersleepaftertx ⇒ dwt_write32bitoffsetreg ⇒ dwt_writetodevice ⇒ writetospi ⇒ Uwb_CS_di ⇒ __2printf +<P><STRONG><a name="[28]"></a>OnRxDone</STRONG> (Thumb, 524 bytes, Stack size 40 bytes, lora.o(i.OnRxDone)) +<BR><BR>[Stack]<UL><LI>Max Depth = 224<LI>Call Chain = OnRxDone ⇒ MbxTagUwbRec ⇒ Anchor_RecNearPoll ⇒ dwt_starttx ⇒ dwt_entersleepaftertx ⇒ dwt_write32bitoffsetreg ⇒ dwt_writetodevice ⇒ writetospi ⇒ Uwb_CS_di ⇒ __2printf </UL> <BR>[Calls]<UL><LI><a href="#[63]">>></a> __aeabi_ui2d <LI><a href="#[5c]">>></a> __aeabi_dsub @@ -1720,10 +1720,11 @@ </UL> <BR>[Address Reference Count : 1]<UL><LI> lora.o(i.LoraInit) </UL> -<P><STRONG><a name="[27]"></a>OnTxDone</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, lora.o(i.OnTxDone)) -<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = OnTxDone ⇒ __2printf +<P><STRONG><a name="[27]"></a>OnTxDone</STRONG> (Thumb, 96 bytes, Stack size 16 bytes, lora.o(i.OnTxDone)) +<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = OnTxDone ⇒ SwitchLoraSettings </UL> <BR>[Calls]<UL><LI><a href="#[99]">>></a> HAL_GPIO_WritePin +<LI><a href="#[103]">>></a> SwitchLoraSettings <LI><a href="#[11d]">>></a> __2printf </UL> <BR>[Address Reference Count : 1]<UL><LI> lora.o(i.LoraInit) @@ -1746,7 +1747,7 @@ <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="[11f]"></a>Program_Init</STRONG> (Thumb, 224 bytes, Stack size 24 bytes, main.o(i.Program_Init)) +<P><STRONG><a name="[11f]"></a>Program_Init</STRONG> (Thumb, 222 bytes, Stack size 24 bytes, main.o(i.Program_Init)) <BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = Program_Init ⇒ ceil ⇒ __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ _double_round </UL> <BR>[Calls]<UL><LI><a href="#[63]">>></a> __aeabi_ui2d @@ -2622,6 +2623,7 @@ <LI><a href="#[10c]">>></a> Lora_Send_Poll <LI><a href="#[104]">>></a> LoraReportPoll <LI><a href="#[29]">>></a> OnTxTimeout +<LI><a href="#[27]">>></a> OnTxDone <LI><a href="#[2a]">>></a> OnRxTimeout <LI><a href="#[2b]">>></a> OnRxError <LI><a href="#[28]">>></a> OnRxDone @@ -2652,7 +2654,7 @@ <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="[105]"></a>TagListUpdate</STRONG> (Thumb, 116 bytes, Stack size 20 bytes, dw_mbx_tag.o(i.TagListUpdate)) +<P><STRONG><a name="[106]"></a>TagListUpdate</STRONG> (Thumb, 116 bytes, Stack size 20 bytes, dw_mbx_tag.o(i.TagListUpdate)) <BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = TagListUpdate </UL> <BR>[Called By]<UL><LI><a href="#[104]">>></a> LoraReportPoll @@ -2724,11 +2726,12 @@ </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_stm32l051xx.o(RESET) </UL> -<P><STRONG><a name="[11c]"></a>UWB_Wkup</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, dw_app.o(i.UWB_Wkup)) +<P><STRONG><a name="[11c]"></a>UWB_Wkup</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, dw_app.o(i.UWB_Wkup)) <BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = UWB_Wkup ⇒ dwt_readdevid ⇒ dwt_read32bitoffsetreg ⇒ dwt_readfromdevice ⇒ readfromspi ⇒ Uwb_CS_di ⇒ __2printf </UL> <BR>[Calls]<UL><LI><a href="#[ee]">>></a> delay_us <LI><a href="#[168]">>></a> dwt_readdevid +<LI><a href="#[11d]">>></a> __2printf </UL> <BR>[Called By]<UL><LI><a href="#[28]">>></a> OnRxDone </UL> @@ -2808,6 +2811,7 @@ <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __2printf </UL> <BR>[Called By]<UL><LI><a href="#[169]">>></a> UpdateProcess +<LI><a href="#[11c]">>></a> UWB_Wkup <LI><a href="#[16a]">>></a> Uwb_CS_di <LI><a href="#[155]">>></a> SX126x_CS_Di <LI><a href="#[27]">>></a> OnTxDone @@ -3211,7 +3215,7 @@ <BR>[Address Reference Count : 1]<UL><LI> printfb.o(i.__0printf$bare) </UL> <P><STRONG><a name="[1e]"></a>main</STRONG> (Thumb, 284 bytes, Stack size 0 bytes, main.o(i.main)) -<BR><BR>[Stack]<UL><LI>Max Depth = 200<LI>Call Chain = main ⇒ Lora_Send_Poll ⇒ LoraReportPoll ⇒ Get_Battary ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round +<BR><BR>[Stack]<UL><LI>Max Depth = 208<LI>Call Chain = main ⇒ Lora_Send_Poll ⇒ LoraReportPoll ⇒ Get_Battary ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round </UL> <BR>[Calls]<UL><LI><a href="#[99]">>></a> HAL_GPIO_WritePin <LI><a href="#[86]">>></a> HAL_GPIO_ReadPin -- Gitblit v1.9.3