From 919fd8f2a8fc0dc9f99ff83ab13f46adbc5518b4 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 02 四月 2025 17:08:13 +0800 Subject: [PATCH] 最新boot,测试可以用,支持升级 ota,注意跳转延时不要动 --- dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm | 863 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 420 insertions(+), 443 deletions(-) diff --git a/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm b/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm index e5c2902..2d1a850 100644 --- a/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm +++ b/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm @@ -3,7 +3,7 @@ <title>Static Call Graph - [.\Objects\customboot.axf]</title></head> <body><HR> <H1>Static Call Graph for image .\Objects\customboot.axf</H1><HR> -<BR><P>#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Wed Mar 5 15:20:34 2025 +<BR><P>#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Wed Apr 2 15:10:04 2025 <BR><P> <H3>Maximum Stack Usage = 368 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> Call chain for Maximum Stack Depth:</H3> @@ -60,7 +60,7 @@ <LI><a href="#[0]">app_wdt_callback</a> from customboot.o(.text.app_wdt_callback) referenced 2 times from customboot.o(.data.app_wdt_cfg) <LI><a href="#[28]">clock_attach</a> from mk_clock.o(.text.clock_attach) referenced from board.o(.text.board_clock_run) <LI><a href="#[2a]">flash_dma_callback</a> from mk_flash.o(.text.flash_dma_callback) referenced from mk_flash.o(.text.flash_dma_callback) - <LI><a href="#[2a]">flash_dma_callback</a> from mk_flash.o(.text.flash_dma_callback) referenced from mk_flash.o(.text.flash_write) + <LI><a href="#[2a]">flash_dma_callback</a> from mk_flash.o(.text.flash_dma_callback) referenced from mk_flash.o(.text.flash_read) <LI><a href="#[2b]">flash_dma_write_nbytes_callback</a> from mk_flash.o(.text.flash_dma_write_nbytes_callback) referenced from mk_flash.o(.text.flash_dma_write_nbytes_callback) <LI><a href="#[2b]">flash_dma_write_nbytes_callback</a> from mk_flash.o(.text.flash_dma_write_nbytes_callback) referenced from mk_flash.o(.text.flash_write_nbytes) <LI><a href="#[29]">io_pin_mux_set</a> from mk_io.o(.text.io_pin_mux_set) referenced from pin_config.o(.text.board_pins_config) @@ -94,43 +94,41 @@ <P><STRONG><a name="[93]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F)) -<P><STRONG><a name="[3a]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text)) +<P><STRONG><a name="[38]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text)) <BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[80]">>></a> flash_write -<LI><a href="#[79]">>></a> flash_sector_erase -<LI><a href="#[7e]">>></a> flash_read -<LI><a href="#[44]">>></a> flash_erase -<LI><a href="#[6e]">>></a> flash_block_erase -<LI><a href="#[7c]">>></a> flash_write_quad_mode -<LI><a href="#[7d]">>></a> flash_page_write_nbytes -<LI><a href="#[39]">>></a> Int2Str +<BR>[Called By]<UL><LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[78]">>></a> flash_sector_erase +<LI><a href="#[7d]">>></a> flash_read +<LI><a href="#[42]">>></a> flash_erase +<LI><a href="#[6d]">>></a> flash_block_erase +<LI><a href="#[7b]">>></a> flash_write_quad_mode +<LI><a href="#[7c]">>></a> flash_page_write_nbytes +<LI><a href="#[37]">>></a> Int2Str </UL> -<P><STRONG><a name="[78]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text)) +<P><STRONG><a name="[77]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text)) <BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = __aeabi_uidivmod </UL> -<BR>[Called By]<UL><LI><a href="#[80]">>></a> flash_write -<LI><a href="#[44]">>></a> flash_erase +<BR>[Called By]<UL><LI><a href="#[42]">>></a> flash_erase </UL> -<P><STRONG><a name="[53]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text)) -<BR><BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[80]">>></a> flash_write -<LI><a href="#[7e]">>></a> flash_read -<LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[61]">>></a> sys_timer_open +<P><STRONG><a name="[52]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text)) +<BR><BR>[Called By]<UL><LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[7d]">>></a> flash_read +<LI><a href="#[79]">>></a> flash_open +<LI><a href="#[60]">>></a> sys_timer_open <LI><a href="#[25]">>></a> main -<LI><a href="#[4e]">>></a> Ymodem_Receive +<LI><a href="#[4d]">>></a> Ymodem_Receive </UL> -<P><STRONG><a name="[94]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED) - -<P><STRONG><a name="[38]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text)) +<P><STRONG><a name="[86]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text)) <BR><BR>[Called By]<UL><LI><a href="#[25]">>></a> main -<LI><a href="#[42]">>></a> Main_Menu -<LI><a href="#[37]">>></a> IAP_JumpTo +</UL> + +<P><STRONG><a name="[44]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text)) +<BR><BR>[Called By]<UL><LI><a href="#[25]">>></a> main +<LI><a href="#[40]">>></a> Main_Menu </UL> <P><STRONG><a name="[31]"></a>__aeabi_memset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) @@ -138,19 +136,19 @@ <LI><a href="#[30]">>></a> __aeabi_memclr </UL> -<P><STRONG><a name="[95]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +<P><STRONG><a name="[94]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) -<P><STRONG><a name="[96]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +<P><STRONG><a name="[95]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) <P><STRONG><a name="[30]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) <BR><BR>[Calls]<UL><LI><a href="#[31]">>></a> __aeabi_memset </UL> <P><STRONG><a name="[8d]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text)) -<BR><BR>[Called By]<UL><LI><a href="#[4f]">>></a> uart_send +<BR><BR>[Called By]<UL><LI><a href="#[4e]">>></a> uart_send </UL> -<P><STRONG><a name="[97]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +<P><STRONG><a name="[96]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) <P><STRONG><a name="[32]"></a>_memset$wrapper</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED) <BR><BR>[Calls]<UL><LI><a href="#[31]">>></a> __aeabi_memset @@ -162,11 +160,11 @@ <BR>[Called By]<UL><LI><a href="#[2e]">>></a> _main_scatterload </UL> -<P><STRONG><a name="[98]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) +<P><STRONG><a name="[97]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) -<P><STRONG><a name="[99]"></a>__decompress</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED) +<P><STRONG><a name="[98]"></a>__decompress</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED) -<P><STRONG><a name="[9a]"></a>__decompress0</STRONG> (Thumb, 58 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED) +<P><STRONG><a name="[99]"></a>__decompress0</STRONG> (Thumb, 58 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED) <P><STRONG><a name="[7]"></a>BOD_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, mk_misc.o(.text.BOD_IRQHandler)) <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) @@ -179,7 +177,7 @@ </UL> <BR>[Calls]<UL><LI><a href="#[35]">>></a> UpdateCRC16 </UL> -<BR>[Called By]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive +<BR>[Called By]<UL><LI><a href="#[4d]">>></a> Ymodem_Receive </UL> <P><STRONG><a name="[26]"></a>CalcCols</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, aes.o(.text.CalcCols)) @@ -187,29 +185,29 @@ </UL> <BR>[Address Reference Count : 1]<UL><LI> aes.o(.text.InvMixColumn) </UL> -<P><STRONG><a name="[56]"></a>CalcPowLog</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, aes.o(.text.CalcPowLog)) +<P><STRONG><a name="[55]"></a>CalcPowLog</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, aes.o(.text.CalcPowLog)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = CalcPowLog </UL> -<BR>[Called By]<UL><LI><a href="#[51]">>></a> aesDecInit +<BR>[Called By]<UL><LI><a href="#[50]">>></a> aesDecInit </UL> -<P><STRONG><a name="[57]"></a>CalcSBox</STRONG> (Thumb, 68 bytes, Stack size 20 bytes, aes.o(.text.CalcSBox)) +<P><STRONG><a name="[56]"></a>CalcSBox</STRONG> (Thumb, 68 bytes, Stack size 20 bytes, aes.o(.text.CalcSBox)) <BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = CalcSBox </UL> -<BR>[Called By]<UL><LI><a href="#[51]">>></a> aesDecInit +<BR>[Called By]<UL><LI><a href="#[50]">>></a> aesDecInit </UL> -<P><STRONG><a name="[58]"></a>CalcSBoxInv</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, aes.o(.text.CalcSBoxInv)) +<P><STRONG><a name="[57]"></a>CalcSBoxInv</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, aes.o(.text.CalcSBoxInv)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = CalcSBoxInv </UL> -<BR>[Called By]<UL><LI><a href="#[51]">>></a> aesDecInit +<BR>[Called By]<UL><LI><a href="#[50]">>></a> aesDecInit </UL> <P><STRONG><a name="[36]"></a>CopyBytes</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, aes.o(.text.CopyBytes)) <BR><BR>[Calls]<UL><LI><a href="#[36]">>></a> CopyBytes </UL> -<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt -<LI><a href="#[40]">>></a> KeyExpansion +<BR>[Called By]<UL><LI><a href="#[53]">>></a> aesDecrypt +<LI><a href="#[3e]">>></a> KeyExpansion <LI><a href="#[36]">>></a> CopyBytes </UL> @@ -234,7 +232,7 @@ <P><STRONG><a name="[f]"></a>AES_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[9b]"></a>Default_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler), UNUSED) +<P><STRONG><a name="[9a]"></a>Default_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler), UNUSED) <P><STRONG><a name="[3]"></a>HardFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) @@ -303,83 +301,75 @@ </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[37]"></a>IAP_JumpTo</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, menu.o(.text.IAP_JumpTo)) -<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = IAP_JumpTo -</UL> -<BR>[Calls]<UL><LI><a href="#[38]">>></a> __aeabi_memcpy8 -</UL> -<BR>[Called By]<UL><LI><a href="#[25]">>></a> main -</UL> - -<P><STRONG><a name="[39]"></a>Int2Str</STRONG> (Thumb, 96 bytes, Stack size 40 bytes, menu.o(.text.Int2Str)) +<P><STRONG><a name="[37]"></a>Int2Str</STRONG> (Thumb, 96 bytes, Stack size 40 bytes, menu.o(.text.Int2Str)) <BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = Int2Str ⇒ __aeabi_uidiv </UL> -<BR>[Calls]<UL><LI><a href="#[3a]">>></a> __aeabi_uidiv +<BR>[Calls]<UL><LI><a href="#[38]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[43]">>></a> SerialDownload +<BR>[Called By]<UL><LI><a href="#[41]">>></a> SerialDownload </UL> -<P><STRONG><a name="[3b]"></a>InvCipher</STRONG> (Thumb, 88 bytes, Stack size 32 bytes, aes.o(.text.InvCipher)) +<P><STRONG><a name="[39]"></a>InvCipher</STRONG> (Thumb, 88 bytes, Stack size 32 bytes, aes.o(.text.InvCipher)) <BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = InvCipher ⇒ InvMixColumn </UL> -<BR>[Calls]<UL><LI><a href="#[3c]">>></a> XORBytes -<LI><a href="#[3e]">>></a> InvSubBytesAndXOR -<LI><a href="#[3d]">>></a> InvShiftRows -<LI><a href="#[3f]">>></a> InvMixColumn +<BR>[Calls]<UL><LI><a href="#[3a]">>></a> XORBytes +<LI><a href="#[3c]">>></a> InvSubBytesAndXOR +<LI><a href="#[3b]">>></a> InvShiftRows +<LI><a href="#[3d]">>></a> InvMixColumn </UL> -<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt +<BR>[Called By]<UL><LI><a href="#[53]">>></a> aesDecrypt </UL> -<P><STRONG><a name="[3f]"></a>InvMixColumn</STRONG> (Thumb, 176 bytes, Stack size 64 bytes, aes.o(.text.InvMixColumn)) +<P><STRONG><a name="[3d]"></a>InvMixColumn</STRONG> (Thumb, 176 bytes, Stack size 64 bytes, aes.o(.text.InvMixColumn)) <BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = InvMixColumn </UL> -<BR>[Called By]<UL><LI><a href="#[3b]">>></a> InvCipher +<BR>[Called By]<UL><LI><a href="#[39]">>></a> InvCipher </UL> -<P><STRONG><a name="[3d]"></a>InvShiftRows</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, aes.o(.text.InvShiftRows)) -<BR><BR>[Called By]<UL><LI><a href="#[3b]">>></a> InvCipher +<P><STRONG><a name="[3b]"></a>InvShiftRows</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, aes.o(.text.InvShiftRows)) +<BR><BR>[Called By]<UL><LI><a href="#[39]">>></a> InvCipher </UL> -<P><STRONG><a name="[3e]"></a>InvSubBytesAndXOR</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, aes.o(.text.InvSubBytesAndXOR)) +<P><STRONG><a name="[3c]"></a>InvSubBytesAndXOR</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, aes.o(.text.InvSubBytesAndXOR)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = InvSubBytesAndXOR </UL> -<BR>[Called By]<UL><LI><a href="#[3b]">>></a> InvCipher +<BR>[Called By]<UL><LI><a href="#[39]">>></a> InvCipher </UL> -<P><STRONG><a name="[40]"></a>KeyExpansion</STRONG> (Thumb, 208 bytes, Stack size 48 bytes, aes.o(.text.KeyExpansion)) +<P><STRONG><a name="[3e]"></a>KeyExpansion</STRONG> (Thumb, 208 bytes, Stack size 48 bytes, aes.o(.text.KeyExpansion)) <BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = KeyExpansion ⇒ XORBytes </UL> -<BR>[Calls]<UL><LI><a href="#[3c]">>></a> XORBytes -<LI><a href="#[41]">>></a> SubBytes +<BR>[Calls]<UL><LI><a href="#[3a]">>></a> XORBytes +<LI><a href="#[3f]">>></a> SubBytes <LI><a href="#[36]">>></a> CopyBytes </UL> -<BR>[Called By]<UL><LI><a href="#[51]">>></a> aesDecInit +<BR>[Called By]<UL><LI><a href="#[50]">>></a> aesDecInit </UL> -<P><STRONG><a name="[42]"></a>Main_Menu</STRONG> (Thumb, 96 bytes, Stack size 24 bytes, menu.o(.text.Main_Menu)) +<P><STRONG><a name="[40]"></a>Main_Menu</STRONG> (Thumb, 96 bytes, Stack size 24 bytes, menu.o(.text.Main_Menu)) <BR><BR>[Stack]<UL><LI>Max Depth = 328<LI>Call Chain = Main_Menu ⇒ SerialDownload ⇒ Ymodem_Receive ⇒ flash_write_nbytes ⇒ flash_page_write_nbytes ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[44]">>></a> flash_erase -<LI><a href="#[38]">>></a> __aeabi_memcpy8 -<LI><a href="#[46]">>></a> delay_ms -<LI><a href="#[43]">>></a> SerialDownload -<LI><a href="#[47]">>></a> __NVIC_SystemReset +<BR>[Calls]<UL><LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[42]">>></a> flash_erase +<LI><a href="#[44]">>></a> __aeabi_memcpy8 +<LI><a href="#[45]">>></a> delay_ms +<LI><a href="#[41]">>></a> SerialDownload +<LI><a href="#[46]">>></a> __NVIC_SystemReset </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[48]"></a>Receive_Byte</STRONG> (Thumb, 30 bytes, Stack size 16 bytes, ymodem.o(.text.Receive_Byte)) +<P><STRONG><a name="[47]"></a>Receive_Byte</STRONG> (Thumb, 30 bytes, Stack size 16 bytes, ymodem.o(.text.Receive_Byte)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Receive_Byte </UL> -<BR>[Calls]<UL><LI><a href="#[49]">>></a> SerialKeyPressed +<BR>[Calls]<UL><LI><a href="#[48]">>></a> SerialKeyPressed </UL> -<BR>[Called By]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive +<BR>[Called By]<UL><LI><a href="#[4d]">>></a> Ymodem_Receive </UL> <P><STRONG><a name="[1]"></a>Reset_Handler</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Reset_Handler)) -<BR><BR>[Calls]<UL><LI><a href="#[4b]">>></a> start_main_asm -<LI><a href="#[4a]">>></a> SystemInit +<BR><BR>[Calls]<UL><LI><a href="#[4a]">>></a> start_main_asm +<LI><a href="#[49]">>></a> SystemInit </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> @@ -388,57 +378,57 @@ </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[4c]"></a>Send_Byte</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, ymodem.o(.text.Send_Byte)) +<P><STRONG><a name="[4b]"></a>Send_Byte</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, ymodem.o(.text.Send_Byte)) <BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = Send_Byte ⇒ SerialPutChar ⇒ uart_send ⇒ dma_transfer </UL> -<BR>[Calls]<UL><LI><a href="#[4d]">>></a> SerialPutChar +<BR>[Calls]<UL><LI><a href="#[4c]">>></a> SerialPutChar </UL> -<BR>[Called By]<UL><LI><a href="#[43]">>></a> SerialDownload +<BR>[Called By]<UL><LI><a href="#[41]">>></a> SerialDownload </UL> -<P><STRONG><a name="[43]"></a>SerialDownload</STRONG> (Thumb, 152 bytes, Stack size 32 bytes, menu.o(.text.SerialDownload)) +<P><STRONG><a name="[41]"></a>SerialDownload</STRONG> (Thumb, 152 bytes, Stack size 32 bytes, menu.o(.text.SerialDownload)) <BR><BR>[Stack]<UL><LI>Max Depth = 304<LI>Call Chain = SerialDownload ⇒ Ymodem_Receive ⇒ flash_write_nbytes ⇒ flash_page_write_nbytes ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive -<LI><a href="#[4c]">>></a> Send_Byte -<LI><a href="#[39]">>></a> Int2Str +<BR>[Calls]<UL><LI><a href="#[4d]">>></a> Ymodem_Receive +<LI><a href="#[4b]">>></a> Send_Byte +<LI><a href="#[37]">>></a> Int2Str </UL> -<BR>[Called By]<UL><LI><a href="#[42]">>></a> Main_Menu +<BR>[Called By]<UL><LI><a href="#[40]">>></a> Main_Menu </UL> -<P><STRONG><a name="[49]"></a>SerialKeyPressed</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, mk_uart.o(.text.SerialKeyPressed)) -<BR><BR>[Called By]<UL><LI><a href="#[48]">>></a> Receive_Byte +<P><STRONG><a name="[48]"></a>SerialKeyPressed</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, mk_uart.o(.text.SerialKeyPressed)) +<BR><BR>[Called By]<UL><LI><a href="#[47]">>></a> Receive_Byte </UL> -<P><STRONG><a name="[4d]"></a>SerialPutChar</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, mk_uart.o(.text.SerialPutChar)) +<P><STRONG><a name="[4c]"></a>SerialPutChar</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, mk_uart.o(.text.SerialPutChar)) <BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = SerialPutChar ⇒ uart_send ⇒ dma_transfer </UL> -<BR>[Calls]<UL><LI><a href="#[4f]">>></a> uart_send +<BR>[Calls]<UL><LI><a href="#[4e]">>></a> uart_send </UL> <BR>[Called By]<UL><LI><a href="#[27]">>></a> Serial_PutString -<LI><a href="#[4e]">>></a> Ymodem_Receive -<LI><a href="#[4c]">>></a> Send_Byte +<LI><a href="#[4d]">>></a> Ymodem_Receive +<LI><a href="#[4b]">>></a> Send_Byte </UL> <P><STRONG><a name="[27]"></a>Serial_PutString</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_uart.o(.text.Serial_PutString)) <BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = Serial_PutString ⇒ SerialPutChar ⇒ uart_send ⇒ dma_transfer </UL> -<BR>[Calls]<UL><LI><a href="#[4d]">>></a> SerialPutChar +<BR>[Calls]<UL><LI><a href="#[4c]">>></a> SerialPutChar </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> <BR>[Address Reference Count : 1]<UL><LI> menu.o(.text.SerialDownload) </UL> -<P><STRONG><a name="[55]"></a>Str2Int</STRONG> (Thumb, 172 bytes, Stack size 16 bytes, ymodem.o(.text.Str2Int)) +<P><STRONG><a name="[54]"></a>Str2Int</STRONG> (Thumb, 172 bytes, Stack size 16 bytes, ymodem.o(.text.Str2Int)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Str2Int </UL> -<BR>[Called By]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive +<BR>[Called By]<UL><LI><a href="#[4d]">>></a> Ymodem_Receive </UL> -<P><STRONG><a name="[41]"></a>SubBytes</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, aes.o(.text.SubBytes)) +<P><STRONG><a name="[3f]"></a>SubBytes</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, aes.o(.text.SubBytes)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SubBytes </UL> -<BR>[Called By]<UL><LI><a href="#[40]">>></a> KeyExpansion +<BR>[Called By]<UL><LI><a href="#[3e]">>></a> KeyExpansion </UL> <P><STRONG><a name="[6]"></a>SysTick_Handler</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, mk_misc.o(.text.SysTick_Handler)) @@ -446,7 +436,7 @@ </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[4a]"></a>SystemInit</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, system_mk800x.o(.text.SystemInit)) +<P><STRONG><a name="[49]"></a>SystemInit</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, system_mk800x.o(.text.SystemInit)) <BR><BR>[Called By]<UL><LI><a href="#[1]">>></a> Reset_Handler </UL> @@ -463,14 +453,14 @@ <P><STRONG><a name="[1f]"></a>UART0_IRQHandler</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, mk_uart.o(.text.UART0_IRQHandler)) <BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = UART0_IRQHandler ⇒ uart_irq_handler ⇒ uart_state_clear </UL> -<BR>[Calls]<UL><LI><a href="#[50]">>></a> uart_irq_handler +<BR>[Calls]<UL><LI><a href="#[4f]">>></a> uart_irq_handler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> <P><STRONG><a name="[20]"></a>UART1_IRQHandler</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, mk_uart.o(.text.UART1_IRQHandler)) <BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = UART1_IRQHandler ⇒ uart_irq_handler ⇒ uart_state_clear </UL> -<BR>[Calls]<UL><LI><a href="#[50]">>></a> uart_irq_handler +<BR>[Calls]<UL><LI><a href="#[4f]">>></a> uart_irq_handler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> @@ -485,337 +475,320 @@ </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[3c]"></a>XORBytes</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, aes.o(.text.XORBytes)) +<P><STRONG><a name="[3a]"></a>XORBytes</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, aes.o(.text.XORBytes)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = XORBytes </UL> -<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt -<LI><a href="#[40]">>></a> KeyExpansion -<LI><a href="#[3b]">>></a> InvCipher +<BR>[Called By]<UL><LI><a href="#[53]">>></a> aesDecrypt +<LI><a href="#[3e]">>></a> KeyExpansion +<LI><a href="#[39]">>></a> InvCipher </UL> -<P><STRONG><a name="[4e]"></a>Ymodem_Receive</STRONG> (Thumb, 748 bytes, Stack size 40 bytes, ymodem.o(.text.Ymodem_Receive)) +<P><STRONG><a name="[4d]"></a>Ymodem_Receive</STRONG> (Thumb, 748 bytes, Stack size 40 bytes, ymodem.o(.text.Ymodem_Receive)) <BR><BR>[Stack]<UL><LI>Max Depth = 272<LI>Call Chain = Ymodem_Receive ⇒ flash_write_nbytes ⇒ flash_page_write_nbytes ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[54]">>></a> aesDecrypt -<LI><a href="#[51]">>></a> aesDecInit -<LI><a href="#[4d]">>></a> SerialPutChar -<LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[44]">>></a> flash_erase -<LI><a href="#[52]">>></a> wdt_ping -<LI><a href="#[53]">>></a> __aeabi_memcpy -<LI><a href="#[55]">>></a> Str2Int -<LI><a href="#[48]">>></a> Receive_Byte +<BR>[Calls]<UL><LI><a href="#[53]">>></a> aesDecrypt +<LI><a href="#[50]">>></a> aesDecInit +<LI><a href="#[4c]">>></a> SerialPutChar +<LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[42]">>></a> flash_erase +<LI><a href="#[51]">>></a> wdt_ping +<LI><a href="#[52]">>></a> __aeabi_memcpy +<LI><a href="#[54]">>></a> Str2Int +<LI><a href="#[47]">>></a> Receive_Byte <LI><a href="#[34]">>></a> Cal_CRC16 </UL> -<BR>[Called By]<UL><LI><a href="#[43]">>></a> SerialDownload +<BR>[Called By]<UL><LI><a href="#[41]">>></a> SerialDownload </UL> -<P><STRONG><a name="[51]"></a>aesDecInit</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, aes.o(.text.aesDecInit)) +<P><STRONG><a name="[50]"></a>aesDecInit</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, aes.o(.text.aesDecInit)) <BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = aesDecInit ⇒ KeyExpansion ⇒ XORBytes </UL> -<BR>[Calls]<UL><LI><a href="#[40]">>></a> KeyExpansion -<LI><a href="#[58]">>></a> CalcSBoxInv -<LI><a href="#[57]">>></a> CalcSBox -<LI><a href="#[56]">>></a> CalcPowLog +<BR>[Calls]<UL><LI><a href="#[3e]">>></a> KeyExpansion +<LI><a href="#[57]">>></a> CalcSBoxInv +<LI><a href="#[56]">>></a> CalcSBox +<LI><a href="#[55]">>></a> CalcPowLog </UL> -<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt +<BR>[Called By]<UL><LI><a href="#[53]">>></a> aesDecrypt <LI><a href="#[25]">>></a> main -<LI><a href="#[4e]">>></a> Ymodem_Receive +<LI><a href="#[4d]">>></a> Ymodem_Receive </UL> -<P><STRONG><a name="[54]"></a>aesDecrypt</STRONG> (Thumb, 64 bytes, Stack size 24 bytes, aes.o(.text.aesDecrypt)) +<P><STRONG><a name="[53]"></a>aesDecrypt</STRONG> (Thumb, 64 bytes, Stack size 24 bytes, aes.o(.text.aesDecrypt)) <BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = aesDecrypt ⇒ InvCipher ⇒ InvMixColumn </UL> -<BR>[Calls]<UL><LI><a href="#[51]">>></a> aesDecInit -<LI><a href="#[3c]">>></a> XORBytes -<LI><a href="#[3b]">>></a> InvCipher +<BR>[Calls]<UL><LI><a href="#[50]">>></a> aesDecInit +<LI><a href="#[3a]">>></a> XORBytes +<LI><a href="#[39]">>></a> InvCipher <LI><a href="#[36]">>></a> CopyBytes </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main -<LI><a href="#[4e]">>></a> Ymodem_Receive +<LI><a href="#[4d]">>></a> Ymodem_Receive </UL> -<P><STRONG><a name="[59]"></a>board_clock_run</STRONG> (Thumb, 104 bytes, Stack size 24 bytes, board.o(.text.board_clock_run)) +<P><STRONG><a name="[58]"></a>board_clock_run</STRONG> (Thumb, 104 bytes, Stack size 24 bytes, board.o(.text.board_clock_run)) <BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = board_clock_run ⇒ sys_timer_open ⇒ clock_get_frequency ⇒ clock_get_apb_clk_freq ⇒ clock_get_ahb_clk_freq </UL> -<BR>[Calls]<UL><LI><a href="#[5f]">>></a> clock_set_divider -<LI><a href="#[5a]">>></a> delay_us -<LI><a href="#[5c]">>></a> calib_start -<LI><a href="#[5b]">>></a> calib_open -<LI><a href="#[5e]">>></a> calib_close -<LI><a href="#[5d]">>></a> calib_check -<LI><a href="#[61]">>></a> sys_timer_open -<LI><a href="#[60]">>></a> sys_tick_start +<BR>[Calls]<UL><LI><a href="#[5e]">>></a> clock_set_divider +<LI><a href="#[59]">>></a> delay_us +<LI><a href="#[5b]">>></a> calib_start +<LI><a href="#[5a]">>></a> calib_open +<LI><a href="#[5d]">>></a> calib_close +<LI><a href="#[5c]">>></a> calib_check +<LI><a href="#[60]">>></a> sys_timer_open +<LI><a href="#[5f]">>></a> sys_tick_start </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[85]"></a>board_configure</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, board.o(.text.board_configure)) +<P><STRONG><a name="[83]"></a>board_configure</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, board.o(.text.board_configure)) <BR><BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[82]"></a>board_pins_config</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, pin_config.o(.text.board_pins_config)) +<P><STRONG><a name="[80]"></a>board_pins_config</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, pin_config.o(.text.board_pins_config)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = board_pins_config </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[5d]"></a>calib_check</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mk_calib.o(.text.calib_check)) -<BR><BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run +<P><STRONG><a name="[5c]"></a>calib_check</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mk_calib.o(.text.calib_check)) +<BR><BR>[Called By]<UL><LI><a href="#[58]">>></a> board_clock_run </UL> -<P><STRONG><a name="[62]"></a>calib_chip</STRONG> (Thumb, 296 bytes, Stack size 16 bytes, mk_calib.o(.text.calib_chip)) +<P><STRONG><a name="[61]"></a>calib_chip</STRONG> (Thumb, 296 bytes, Stack size 16 bytes, mk_calib.o(.text.calib_chip)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = calib_chip </UL> -<BR>[Calls]<UL><LI><a href="#[63]">>></a> clock_enable -<LI><a href="#[64]">>></a> mk_chip_id +<BR>[Calls]<UL><LI><a href="#[62]">>></a> clock_enable +<LI><a href="#[63]">>></a> mk_chip_id </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[5e]"></a>calib_close</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, mk_calib.o(.text.calib_close)) +<P><STRONG><a name="[5d]"></a>calib_close</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, mk_calib.o(.text.calib_close)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = calib_close </UL> -<BR>[Calls]<UL><LI><a href="#[65]">>></a> clock_disable +<BR>[Calls]<UL><LI><a href="#[64]">>></a> clock_disable </UL> -<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[58]">>></a> board_clock_run </UL> -<P><STRONG><a name="[5b]"></a>calib_open</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_calib.o(.text.calib_open)) +<P><STRONG><a name="[5a]"></a>calib_open</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_calib.o(.text.calib_open)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = calib_open </UL> -<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module -<LI><a href="#[63]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[65]">>></a> reset_module +<LI><a href="#[62]">>></a> clock_enable </UL> -<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[58]">>></a> board_clock_run </UL> -<P><STRONG><a name="[5c]"></a>calib_start</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mk_calib.o(.text.calib_start)) -<BR><BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run +<P><STRONG><a name="[5b]"></a>calib_start</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mk_calib.o(.text.calib_start)) +<BR><BR>[Called By]<UL><LI><a href="#[58]">>></a> board_clock_run </UL> <P><STRONG><a name="[28]"></a>clock_attach</STRONG> (Thumb, 188 bytes, Stack size 16 bytes, mk_clock.o(.text.clock_attach)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = clock_attach </UL> -<BR>[Calls]<UL><LI><a href="#[67]">>></a> clock_xtal38m4_injection_set +<BR>[Calls]<UL><LI><a href="#[66]">>></a> clock_xtal38m4_injection_set </UL> <BR>[Address Reference Count : 1]<UL><LI> board.o(.text.board_clock_run) </UL> -<P><STRONG><a name="[65]"></a>clock_disable</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_disable)) -<BR><BR>[Called By]<UL><LI><a href="#[83]">>></a> wdt_close -<LI><a href="#[5e]">>></a> calib_close +<P><STRONG><a name="[64]"></a>clock_disable</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_disable)) +<BR><BR>[Called By]<UL><LI><a href="#[85]">>></a> uart_close +<LI><a href="#[81]">>></a> wdt_close +<LI><a href="#[5d]">>></a> calib_close </UL> -<P><STRONG><a name="[63]"></a>clock_enable</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_enable)) -<BR><BR>[Called By]<UL><LI><a href="#[6c]">>></a> dma_open -<LI><a href="#[86]">>></a> uart_open -<LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[84]">>></a> wdt_open -<LI><a href="#[5b]">>></a> calib_open -<LI><a href="#[62]">>></a> calib_chip -<LI><a href="#[81]">>></a> gpio_open -<LI><a href="#[6d]">>></a> dual_timer_open +<P><STRONG><a name="[62]"></a>clock_enable</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_enable)) +<BR><BR>[Called By]<UL><LI><a href="#[6b]">>></a> dma_open +<LI><a href="#[84]">>></a> uart_open +<LI><a href="#[79]">>></a> flash_open +<LI><a href="#[82]">>></a> wdt_open +<LI><a href="#[5a]">>></a> calib_open +<LI><a href="#[61]">>></a> calib_chip +<LI><a href="#[7f]">>></a> gpio_open +<LI><a href="#[6c]">>></a> dual_timer_open </UL> -<P><STRONG><a name="[6b]"></a>clock_get_frequency</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_frequency)) +<P><STRONG><a name="[6a]"></a>clock_get_frequency</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_frequency)) <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = clock_get_frequency ⇒ clock_get_apb_clk_freq ⇒ clock_get_ahb_clk_freq </UL> -<BR>[Calls]<UL><LI><a href="#[69]">>></a> clock_get_sys_clk_freq -<LI><a href="#[6a]">>></a> clock_get_apb_clk_freq -<LI><a href="#[68]">>></a> clock_get_ahb_clk_freq +<BR>[Calls]<UL><LI><a href="#[68]">>></a> clock_get_sys_clk_freq +<LI><a href="#[69]">>></a> clock_get_apb_clk_freq +<LI><a href="#[67]">>></a> clock_get_ahb_clk_freq </UL> -<BR>[Called By]<UL><LI><a href="#[61]">>></a> sys_timer_open +<BR>[Called By]<UL><LI><a href="#[60]">>></a> sys_timer_open </UL> -<P><STRONG><a name="[5f]"></a>clock_set_divider</STRONG> (Thumb, 96 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_set_divider)) +<P><STRONG><a name="[5e]"></a>clock_set_divider</STRONG> (Thumb, 96 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_set_divider)) <BR><BR>[Called By]<UL><LI><a href="#[8a]">>></a> uart_baud_set -<LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[59]">>></a> board_clock_run +<LI><a href="#[79]">>></a> flash_open +<LI><a href="#[58]">>></a> board_clock_run </UL> -<P><STRONG><a name="[67]"></a>clock_xtal38m4_injection_set</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_xtal38m4_injection_set)) +<P><STRONG><a name="[66]"></a>clock_xtal38m4_injection_set</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_xtal38m4_injection_set)) <BR><BR>[Called By]<UL><LI><a href="#[28]">>></a> clock_attach </UL> -<P><STRONG><a name="[46]"></a>delay_ms</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, menu.o(.text.delay_ms)) +<P><STRONG><a name="[45]"></a>delay_ms</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, menu.o(.text.delay_ms)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = delay_ms </UL> -<BR>[Calls]<UL><LI><a href="#[5a]">>></a> delay_us +<BR>[Calls]<UL><LI><a href="#[59]">>></a> delay_us </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main -<LI><a href="#[42]">>></a> Main_Menu +<LI><a href="#[40]">>></a> Main_Menu </UL> -<P><STRONG><a name="[5a]"></a>delay_us</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mk_misc.o(.text.delay_us)) +<P><STRONG><a name="[59]"></a>delay_us</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mk_misc.o(.text.delay_us)) <BR><BR>[Called By]<UL><LI><a href="#[8a]">>></a> uart_baud_set -<LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[72]">>></a> flash_wait_done +<LI><a href="#[79]">>></a> flash_open +<LI><a href="#[71]">>></a> flash_wait_done <LI><a href="#[2b]">>></a> flash_dma_write_nbytes_callback -<LI><a href="#[59]">>></a> board_clock_run -<LI><a href="#[46]">>></a> delay_ms +<LI><a href="#[58]">>></a> board_clock_run +<LI><a href="#[45]">>></a> delay_ms </UL> -<P><STRONG><a name="[6c]"></a>dma_open</STRONG> (Thumb, 220 bytes, Stack size 24 bytes, mk_dma.o(.text.dma_open)) +<P><STRONG><a name="[6b]"></a>dma_open</STRONG> (Thumb, 220 bytes, Stack size 24 bytes, mk_dma.o(.text.dma_open)) <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = dma_open </UL> -<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module -<LI><a href="#[63]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[65]">>></a> reset_module +<LI><a href="#[62]">>></a> clock_enable </UL> -<BR>[Called By]<UL><LI><a href="#[4f]">>></a> uart_send -<LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[80]">>></a> flash_write -<LI><a href="#[7e]">>></a> flash_read +<BR>[Called By]<UL><LI><a href="#[4e]">>></a> uart_send +<LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[7d]">>></a> flash_read </UL> -<P><STRONG><a name="[76]"></a>dma_transfer</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, mk_dma.o(.text.dma_transfer)) +<P><STRONG><a name="[75]"></a>dma_transfer</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, mk_dma.o(.text.dma_transfer)) <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = dma_transfer </UL> -<BR>[Called By]<UL><LI><a href="#[4f]">>></a> uart_send -<LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[80]">>></a> flash_write -<LI><a href="#[7e]">>></a> flash_read +<BR>[Called By]<UL><LI><a href="#[4e]">>></a> uart_send +<LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[7d]">>></a> flash_read <LI><a href="#[2b]">>></a> flash_dma_write_nbytes_callback <LI><a href="#[2a]">>></a> flash_dma_callback </UL> <P><STRONG><a name="[88]"></a>dual_timer_get</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, mk_dual_timer.o(.text.dual_timer_get)) -<BR><BR>[Called By]<UL><LI><a href="#[7f]">>></a> sys_timer_get +<BR><BR>[Called By]<UL><LI><a href="#[7e]">>></a> sys_timer_get </UL> -<P><STRONG><a name="[6d]"></a>dual_timer_open</STRONG> (Thumb, 204 bytes, Stack size 24 bytes, mk_dual_timer.o(.text.dual_timer_open)) +<P><STRONG><a name="[6c]"></a>dual_timer_open</STRONG> (Thumb, 204 bytes, Stack size 24 bytes, mk_dual_timer.o(.text.dual_timer_open)) <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = dual_timer_open </UL> -<BR>[Calls]<UL><LI><a href="#[63]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[62]">>></a> clock_enable </UL> -<BR>[Called By]<UL><LI><a href="#[61]">>></a> sys_timer_open +<BR>[Called By]<UL><LI><a href="#[60]">>></a> sys_timer_open </UL> <P><STRONG><a name="[89]"></a>dual_timer_start</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, mk_dual_timer.o(.text.dual_timer_start)) -<BR><BR>[Called By]<UL><LI><a href="#[61]">>></a> sys_timer_open +<BR><BR>[Called By]<UL><LI><a href="#[60]">>></a> sys_timer_open </UL> -<P><STRONG><a name="[6e]"></a>flash_block_erase</STRONG> (Thumb, 140 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_block_erase)) +<P><STRONG><a name="[6d]"></a>flash_block_erase</STRONG> (Thumb, 140 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_block_erase)) <BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = flash_block_erase ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[73]">>></a> flash_write_mem_cmd -<LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[72]">>></a> flash_wait_done -<LI><a href="#[6f]">>></a> flash_state_update -<LI><a href="#[70]">>></a> flash_reset_cmd -<LI><a href="#[3a]">>></a> __aeabi_uidiv +<BR>[Calls]<UL><LI><a href="#[72]">>></a> flash_write_mem_cmd +<LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[71]">>></a> flash_wait_done +<LI><a href="#[6e]">>></a> flash_state_update +<LI><a href="#[6f]">>></a> flash_reset_cmd +<LI><a href="#[38]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[44]">>></a> flash_erase +<BR>[Called By]<UL><LI><a href="#[42]">>></a> flash_erase </UL> -<P><STRONG><a name="[74]"></a>flash_check_busy</STRONG> (Thumb, 120 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_check_busy)) +<P><STRONG><a name="[73]"></a>flash_check_busy</STRONG> (Thumb, 120 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_check_busy)) <BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = flash_check_busy ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[73]">>></a> flash_write_mem_cmd -<LI><a href="#[75]">>></a> flash_read_status +<BR>[Calls]<UL><LI><a href="#[72]">>></a> flash_write_mem_cmd +<LI><a href="#[74]">>></a> flash_read_status </UL> -<BR>[Called By]<UL><LI><a href="#[44]">>></a> flash_erase +<BR>[Called By]<UL><LI><a href="#[42]">>></a> flash_erase <LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[44]"></a>flash_erase</STRONG> (Thumb, 312 bytes, Stack size 48 bytes, mk_flash.o(.text.flash_erase)) +<P><STRONG><a name="[42]"></a>flash_erase</STRONG> (Thumb, 312 bytes, Stack size 48 bytes, mk_flash.o(.text.flash_erase)) <BR><BR>[Stack]<UL><LI>Max Depth = 176<LI>Call Chain = flash_erase ⇒ flash_sector_erase ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[79]">>></a> flash_sector_erase -<LI><a href="#[74]">>></a> flash_check_busy -<LI><a href="#[6e]">>></a> flash_block_erase -<LI><a href="#[78]">>></a> __aeabi_uidivmod -<LI><a href="#[3a]">>></a> __aeabi_uidiv +<BR>[Calls]<UL><LI><a href="#[78]">>></a> flash_sector_erase +<LI><a href="#[73]">>></a> flash_check_busy +<LI><a href="#[6d]">>></a> flash_block_erase +<LI><a href="#[77]">>></a> __aeabi_uidivmod +<LI><a href="#[38]">>></a> __aeabi_uidiv </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main -<LI><a href="#[4e]">>></a> Ymodem_Receive -<LI><a href="#[42]">>></a> Main_Menu +<LI><a href="#[4d]">>></a> Ymodem_Receive +<LI><a href="#[40]">>></a> Main_Menu </UL> -<P><STRONG><a name="[7a]"></a>flash_open</STRONG> (Thumb, 384 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_open)) +<P><STRONG><a name="[79]"></a>flash_open</STRONG> (Thumb, 384 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_open)) <BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = flash_open ⇒ flash_write_quad_mode ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module -<LI><a href="#[5f]">>></a> clock_set_divider -<LI><a href="#[63]">>></a> clock_enable -<LI><a href="#[5a]">>></a> delay_us -<LI><a href="#[7c]">>></a> flash_write_quad_mode -<LI><a href="#[73]">>></a> flash_write_mem_cmd -<LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[7b]">>></a> flash_wait_status -<LI><a href="#[70]">>></a> flash_reset_cmd -<LI><a href="#[53]">>></a> __aeabi_memcpy +<BR>[Calls]<UL><LI><a href="#[65]">>></a> reset_module +<LI><a href="#[5e]">>></a> clock_set_divider +<LI><a href="#[62]">>></a> clock_enable +<LI><a href="#[59]">>></a> delay_us +<LI><a href="#[7b]">>></a> flash_write_quad_mode +<LI><a href="#[72]">>></a> flash_write_mem_cmd +<LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[7a]">>></a> flash_wait_status +<LI><a href="#[6f]">>></a> flash_reset_cmd +<LI><a href="#[52]">>></a> __aeabi_memcpy </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[7e]"></a>flash_read</STRONG> (Thumb, 380 bytes, Stack size 80 bytes, mk_flash.o(.text.flash_read)) +<P><STRONG><a name="[7d]"></a>flash_read</STRONG> (Thumb, 384 bytes, Stack size 80 bytes, mk_flash.o(.text.flash_read)) <BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = flash_read ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[76]">>></a> dma_transfer -<LI><a href="#[6c]">>></a> dma_open -<LI><a href="#[73]">>></a> flash_write_mem_cmd -<LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[6f]">>></a> flash_state_update -<LI><a href="#[70]">>></a> flash_reset_cmd -<LI><a href="#[53]">>></a> __aeabi_memcpy -<LI><a href="#[3a]">>></a> __aeabi_uidiv +<BR>[Calls]<UL><LI><a href="#[75]">>></a> dma_transfer +<LI><a href="#[6b]">>></a> dma_open +<LI><a href="#[72]">>></a> flash_write_mem_cmd +<LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[6e]">>></a> flash_state_update +<LI><a href="#[6f]">>></a> flash_reset_cmd +<LI><a href="#[52]">>></a> __aeabi_memcpy +<LI><a href="#[38]">>></a> __aeabi_uidiv </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[79]"></a>flash_sector_erase</STRONG> (Thumb, 144 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_sector_erase)) +<P><STRONG><a name="[78]"></a>flash_sector_erase</STRONG> (Thumb, 144 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_sector_erase)) <BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = flash_sector_erase ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[73]">>></a> flash_write_mem_cmd -<LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[72]">>></a> flash_wait_done -<LI><a href="#[6f]">>></a> flash_state_update -<LI><a href="#[70]">>></a> flash_reset_cmd -<LI><a href="#[3a]">>></a> __aeabi_uidiv +<BR>[Calls]<UL><LI><a href="#[72]">>></a> flash_write_mem_cmd +<LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[71]">>></a> flash_wait_done +<LI><a href="#[6e]">>></a> flash_state_update +<LI><a href="#[6f]">>></a> flash_reset_cmd +<LI><a href="#[38]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[44]">>></a> flash_erase +<BR>[Called By]<UL><LI><a href="#[42]">>></a> flash_erase </UL> -<P><STRONG><a name="[80]"></a>flash_write</STRONG> (Thumb, 400 bytes, Stack size 88 bytes, mk_flash.o(.text.flash_write)) -<BR><BR>[Stack]<UL><LI>Max Depth = 192<LI>Call Chain = flash_write ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get -</UL> -<BR>[Calls]<UL><LI><a href="#[76]">>></a> dma_transfer -<LI><a href="#[6c]">>></a> dma_open -<LI><a href="#[73]">>></a> flash_write_mem_cmd -<LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[72]">>></a> flash_wait_done -<LI><a href="#[6f]">>></a> flash_state_update -<LI><a href="#[70]">>></a> flash_reset_cmd -<LI><a href="#[53]">>></a> __aeabi_memcpy -<LI><a href="#[78]">>></a> __aeabi_uidivmod -<LI><a href="#[3a]">>></a> __aeabi_uidiv -</UL> -<BR>[Called By]<UL><LI><a href="#[25]">>></a> main -</UL> - -<P><STRONG><a name="[45]"></a>flash_write_nbytes</STRONG> (Thumb, 548 bytes, Stack size 96 bytes, mk_flash.o(.text.flash_write_nbytes)) +<P><STRONG><a name="[43]"></a>flash_write_nbytes</STRONG> (Thumb, 552 bytes, Stack size 96 bytes, mk_flash.o(.text.flash_write_nbytes)) <BR><BR>[Stack]<UL><LI>Max Depth = 232<LI>Call Chain = flash_write_nbytes ⇒ flash_page_write_nbytes ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[76]">>></a> dma_transfer -<LI><a href="#[6c]">>></a> dma_open -<LI><a href="#[77]">>></a> flash_write_variable_len_cmd -<LI><a href="#[73]">>></a> flash_write_mem_cmd -<LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[6f]">>></a> flash_state_update -<LI><a href="#[70]">>></a> flash_reset_cmd -<LI><a href="#[7d]">>></a> flash_page_write_nbytes -<LI><a href="#[53]">>></a> __aeabi_memcpy -<LI><a href="#[3a]">>></a> __aeabi_uidiv +<BR>[Calls]<UL><LI><a href="#[75]">>></a> dma_transfer +<LI><a href="#[6b]">>></a> dma_open +<LI><a href="#[76]">>></a> flash_write_variable_len_cmd +<LI><a href="#[72]">>></a> flash_write_mem_cmd +<LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[6e]">>></a> flash_state_update +<LI><a href="#[6f]">>></a> flash_reset_cmd +<LI><a href="#[7c]">>></a> flash_page_write_nbytes +<LI><a href="#[52]">>></a> __aeabi_memcpy +<LI><a href="#[38]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive -<LI><a href="#[42]">>></a> Main_Menu +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +<LI><a href="#[4d]">>></a> Ymodem_Receive +<LI><a href="#[40]">>></a> Main_Menu </UL> -<P><STRONG><a name="[81]"></a>gpio_open</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_gpio.o(.text.gpio_open)) +<P><STRONG><a name="[7f]"></a>gpio_open</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_gpio.o(.text.gpio_open)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = gpio_open </UL> -<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module -<LI><a href="#[63]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[65]">>></a> reset_module +<LI><a href="#[62]">>></a> clock_enable </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> @@ -823,88 +796,97 @@ <P><STRONG><a name="[29]"></a>io_pin_mux_set</STRONG> (Thumb, 80 bytes, Stack size 0 bytes, mk_io.o(.text.io_pin_mux_set)) <BR>[Address Reference Count : 1]<UL><LI> pin_config.o(.text.board_pins_config) </UL> -<P><STRONG><a name="[25]"></a>main</STRONG> (Thumb, 464 bytes, Stack size 40 bytes, customboot.o(.text.main)) +<P><STRONG><a name="[25]"></a>main</STRONG> (Thumb, 680 bytes, Stack size 40 bytes, customboot.o(.text.main)) <BR><BR>[Stack]<UL><LI>Max Depth = 368<LI>Call Chain = main ⇒ Main_Menu ⇒ SerialDownload ⇒ Ymodem_Receive ⇒ flash_write_nbytes ⇒ flash_page_write_nbytes ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[54]">>></a> aesDecrypt -<LI><a href="#[51]">>></a> aesDecInit -<LI><a href="#[86]">>></a> uart_open +<BR>[Calls]<UL><LI><a href="#[53]">>></a> aesDecrypt +<LI><a href="#[50]">>></a> aesDecInit +<LI><a href="#[84]">>></a> uart_open +<LI><a href="#[85]">>></a> uart_close <LI><a href="#[27]">>></a> Serial_PutString -<LI><a href="#[80]">>></a> flash_write -<LI><a href="#[7e]">>></a> flash_read -<LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[44]">>></a> flash_erase -<LI><a href="#[74]">>></a> flash_check_busy -<LI><a href="#[52]">>></a> wdt_ping -<LI><a href="#[84]">>></a> wdt_open -<LI><a href="#[83]">>></a> wdt_close -<LI><a href="#[62]">>></a> calib_chip -<LI><a href="#[81]">>></a> gpio_open -<LI><a href="#[38]">>></a> __aeabi_memcpy8 -<LI><a href="#[53]">>></a> __aeabi_memcpy -<LI><a href="#[82]">>></a> board_pins_config -<LI><a href="#[85]">>></a> board_configure -<LI><a href="#[59]">>></a> board_clock_run +<LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[7d]">>></a> flash_read +<LI><a href="#[79]">>></a> flash_open +<LI><a href="#[42]">>></a> flash_erase +<LI><a href="#[73]">>></a> flash_check_busy +<LI><a href="#[51]">>></a> wdt_ping +<LI><a href="#[82]">>></a> wdt_open +<LI><a href="#[81]">>></a> wdt_close +<LI><a href="#[61]">>></a> calib_chip +<LI><a href="#[7f]">>></a> gpio_open +<LI><a href="#[44]">>></a> __aeabi_memcpy8 +<LI><a href="#[86]">>></a> __aeabi_memcpy4 +<LI><a href="#[52]">>></a> __aeabi_memcpy +<LI><a href="#[80]">>></a> board_pins_config +<LI><a href="#[83]">>></a> board_configure +<LI><a href="#[58]">>></a> board_clock_run <LI><a href="#[87]">>></a> __NVIC_SystemReset -<LI><a href="#[46]">>></a> delay_ms -<LI><a href="#[42]">>></a> Main_Menu -<LI><a href="#[37]">>></a> IAP_JumpTo +<LI><a href="#[45]">>></a> delay_ms +<LI><a href="#[40]">>></a> Main_Menu </UL> <BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B) </UL> -<P><STRONG><a name="[64]"></a>mk_chip_id</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, mk_misc.o(.text.mk_chip_id)) -<BR><BR>[Called By]<UL><LI><a href="#[62]">>></a> calib_chip +<P><STRONG><a name="[63]"></a>mk_chip_id</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, mk_misc.o(.text.mk_chip_id)) +<BR><BR>[Called By]<UL><LI><a href="#[61]">>></a> calib_chip </UL> -<P><STRONG><a name="[66]"></a>reset_module</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mk_reset.o(.text.reset_module)) -<BR><BR>[Called By]<UL><LI><a href="#[6c]">>></a> dma_open -<LI><a href="#[86]">>></a> uart_open -<LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[84]">>></a> wdt_open -<LI><a href="#[5b]">>></a> calib_open -<LI><a href="#[81]">>></a> gpio_open +<P><STRONG><a name="[65]"></a>reset_module</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mk_reset.o(.text.reset_module)) +<BR><BR>[Called By]<UL><LI><a href="#[6b]">>></a> dma_open +<LI><a href="#[84]">>></a> uart_open +<LI><a href="#[79]">>></a> flash_open +<LI><a href="#[82]">>></a> wdt_open +<LI><a href="#[5a]">>></a> calib_open +<LI><a href="#[7f]">>></a> gpio_open </UL> -<P><STRONG><a name="[4b]"></a>start_main_asm</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, startup_mk800x.o(.text.start_main_asm)) +<P><STRONG><a name="[4a]"></a>start_main_asm</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, startup_mk800x.o(.text.start_main_asm)) <BR><BR>[Called By]<UL><LI><a href="#[1]">>></a> Reset_Handler </UL> -<P><STRONG><a name="[60]"></a>sys_tick_start</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, mk_misc.o(.text.sys_tick_start)) +<P><STRONG><a name="[5f]"></a>sys_tick_start</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, mk_misc.o(.text.sys_tick_start)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = sys_tick_start </UL> -<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[58]">>></a> board_clock_run </UL> -<P><STRONG><a name="[7f]"></a>sys_timer_get</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, mk_misc.o(.text.sys_timer_get)) +<P><STRONG><a name="[7e]"></a>sys_timer_get</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, mk_misc.o(.text.sys_timer_get)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = sys_timer_get </UL> <BR>[Calls]<UL><LI><a href="#[88]">>></a> dual_timer_get </UL> -<BR>[Called By]<UL><LI><a href="#[7b]">>></a> flash_wait_status -<LI><a href="#[72]">>></a> flash_wait_done +<BR>[Called By]<UL><LI><a href="#[7a]">>></a> flash_wait_status +<LI><a href="#[71]">>></a> flash_wait_done </UL> -<P><STRONG><a name="[61]"></a>sys_timer_open</STRONG> (Thumb, 76 bytes, Stack size 40 bytes, mk_misc.o(.text.sys_timer_open)) +<P><STRONG><a name="[60]"></a>sys_timer_open</STRONG> (Thumb, 76 bytes, Stack size 40 bytes, mk_misc.o(.text.sys_timer_open)) <BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = sys_timer_open ⇒ clock_get_frequency ⇒ clock_get_apb_clk_freq ⇒ clock_get_ahb_clk_freq </UL> -<BR>[Calls]<UL><LI><a href="#[6b]">>></a> clock_get_frequency +<BR>[Calls]<UL><LI><a href="#[6a]">>></a> clock_get_frequency <LI><a href="#[89]">>></a> dual_timer_start -<LI><a href="#[6d]">>></a> dual_timer_open -<LI><a href="#[53]">>></a> __aeabi_memcpy +<LI><a href="#[6c]">>></a> dual_timer_open +<LI><a href="#[52]">>></a> __aeabi_memcpy </UL> -<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[58]">>></a> board_clock_run </UL> <P><STRONG><a name="[8a]"></a>uart_baud_set</STRONG> (Thumb, 72 bytes, Stack size 24 bytes, mk_uart.o(.text.uart_baud_set)) <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = uart_baud_set </UL> -<BR>[Calls]<UL><LI><a href="#[5f]">>></a> clock_set_divider -<LI><a href="#[5a]">>></a> delay_us +<BR>[Calls]<UL><LI><a href="#[5e]">>></a> clock_set_divider +<LI><a href="#[59]">>></a> delay_us </UL> -<BR>[Called By]<UL><LI><a href="#[86]">>></a> uart_open +<BR>[Called By]<UL><LI><a href="#[84]">>></a> uart_open </UL> -<P><STRONG><a name="[50]"></a>uart_irq_handler</STRONG> (Thumb, 372 bytes, Stack size 32 bytes, mk_uart.o(.text.uart_irq_handler)) +<P><STRONG><a name="[85]"></a>uart_close</STRONG> (Thumb, 124 bytes, Stack size 16 bytes, mk_uart.o(.text.uart_close)) +<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = uart_close +</UL> +<BR>[Calls]<UL><LI><a href="#[64]">>></a> clock_disable +</UL> +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +</UL> + +<P><STRONG><a name="[4f]"></a>uart_irq_handler</STRONG> (Thumb, 376 bytes, Stack size 32 bytes, mk_uart.o(.text.uart_irq_handler)) <BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = uart_irq_handler ⇒ uart_state_clear </UL> <BR>[Calls]<UL><LI><a href="#[8b]">>></a> uart_state_clear @@ -913,223 +895,218 @@ <LI><a href="#[1f]">>></a> UART0_IRQHandler </UL> -<P><STRONG><a name="[86]"></a>uart_open</STRONG> (Thumb, 332 bytes, Stack size 32 bytes, mk_uart.o(.text.uart_open)) +<P><STRONG><a name="[84]"></a>uart_open</STRONG> (Thumb, 336 bytes, Stack size 32 bytes, mk_uart.o(.text.uart_open)) <BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = uart_open ⇒ uart_baud_set </UL> -<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module -<LI><a href="#[63]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[65]">>></a> reset_module +<LI><a href="#[62]">>></a> clock_enable <LI><a href="#[8a]">>></a> uart_baud_set </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[4f]"></a>uart_send</STRONG> (Thumb, 340 bytes, Stack size 72 bytes, mk_uart.o(.text.uart_send)) +<P><STRONG><a name="[4e]"></a>uart_send</STRONG> (Thumb, 340 bytes, Stack size 72 bytes, mk_uart.o(.text.uart_send)) <BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = uart_send ⇒ dma_transfer </UL> -<BR>[Calls]<UL><LI><a href="#[76]">>></a> dma_transfer -<LI><a href="#[6c]">>></a> dma_open +<BR>[Calls]<UL><LI><a href="#[75]">>></a> dma_transfer +<LI><a href="#[6b]">>></a> dma_open <LI><a href="#[8c]">>></a> uart_state_set <LI><a href="#[8b]">>></a> uart_state_clear <LI><a href="#[8d]">>></a> __aeabi_memclr4 </UL> -<BR>[Called By]<UL><LI><a href="#[4d]">>></a> SerialPutChar +<BR>[Called By]<UL><LI><a href="#[4c]">>></a> SerialPutChar </UL> -<P><STRONG><a name="[83]"></a>wdt_close</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, mk_wdt.o(.text.wdt_close)) +<P><STRONG><a name="[81]"></a>wdt_close</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, mk_wdt.o(.text.wdt_close)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = wdt_close </UL> -<BR>[Calls]<UL><LI><a href="#[65]">>></a> clock_disable +<BR>[Calls]<UL><LI><a href="#[64]">>></a> clock_disable </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[84]"></a>wdt_open</STRONG> (Thumb, 156 bytes, Stack size 24 bytes, mk_wdt.o(.text.wdt_open)) +<P><STRONG><a name="[82]"></a>wdt_open</STRONG> (Thumb, 156 bytes, Stack size 24 bytes, mk_wdt.o(.text.wdt_open)) <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = wdt_open </UL> -<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module -<LI><a href="#[63]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[65]">>></a> reset_module +<LI><a href="#[62]">>></a> clock_enable </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[52]"></a>wdt_ping</STRONG> (Thumb, 44 bytes, Stack size 0 bytes, mk_wdt.o(.text.wdt_ping)) +<P><STRONG><a name="[51]"></a>wdt_ping</STRONG> (Thumb, 44 bytes, Stack size 0 bytes, mk_wdt.o(.text.wdt_ping)) <BR><BR>[Called By]<UL><LI><a href="#[25]">>></a> main -<LI><a href="#[4e]">>></a> Ymodem_Receive +<LI><a href="#[4d]">>></a> Ymodem_Receive </UL> -<P><STRONG><a name="[9c]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) +<P><STRONG><a name="[9b]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) -<P><STRONG><a name="[9d]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) +<P><STRONG><a name="[9c]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) -<P><STRONG><a name="[9e]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) +<P><STRONG><a name="[9d]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) <P> <H3> Local Symbols </H3> -<P><STRONG><a name="[68]"></a>clock_get_ahb_clk_freq</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_ahb_clk_freq)) +<P><STRONG><a name="[67]"></a>clock_get_ahb_clk_freq</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_ahb_clk_freq)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = clock_get_ahb_clk_freq </UL> -<BR>[Calls]<UL><LI><a href="#[69]">>></a> clock_get_sys_clk_freq +<BR>[Calls]<UL><LI><a href="#[68]">>></a> clock_get_sys_clk_freq </UL> -<BR>[Called By]<UL><LI><a href="#[6b]">>></a> clock_get_frequency -<LI><a href="#[6a]">>></a> clock_get_apb_clk_freq +<BR>[Called By]<UL><LI><a href="#[6a]">>></a> clock_get_frequency +<LI><a href="#[69]">>></a> clock_get_apb_clk_freq </UL> -<P><STRONG><a name="[6a]"></a>clock_get_apb_clk_freq</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_apb_clk_freq)) +<P><STRONG><a name="[69]"></a>clock_get_apb_clk_freq</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_apb_clk_freq)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = clock_get_apb_clk_freq ⇒ clock_get_ahb_clk_freq </UL> -<BR>[Calls]<UL><LI><a href="#[68]">>></a> clock_get_ahb_clk_freq +<BR>[Calls]<UL><LI><a href="#[67]">>></a> clock_get_ahb_clk_freq </UL> -<BR>[Called By]<UL><LI><a href="#[6b]">>></a> clock_get_frequency +<BR>[Called By]<UL><LI><a href="#[6a]">>></a> clock_get_frequency </UL> -<P><STRONG><a name="[69]"></a>clock_get_sys_clk_freq</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_get_sys_clk_freq)) -<BR><BR>[Called By]<UL><LI><a href="#[6b]">>></a> clock_get_frequency -<LI><a href="#[68]">>></a> clock_get_ahb_clk_freq +<P><STRONG><a name="[68]"></a>clock_get_sys_clk_freq</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_get_sys_clk_freq)) +<BR><BR>[Called By]<UL><LI><a href="#[6a]">>></a> clock_get_frequency +<LI><a href="#[67]">>></a> clock_get_ahb_clk_freq </UL> <P><STRONG><a name="[2a]"></a>flash_dma_callback</STRONG> (Thumb, 220 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_dma_callback)) <BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = flash_dma_callback ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[76]">>></a> dma_transfer -<LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[70]">>></a> flash_reset_cmd +<BR>[Calls]<UL><LI><a href="#[75]">>></a> dma_transfer +<LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[6f]">>></a> flash_reset_cmd </UL> -<BR>[Address Reference Count : 2]<UL><LI> mk_flash.o(.text.flash_write) -<LI> mk_flash.o(.text.flash_dma_callback) +<BR>[Address Reference Count : 2]<UL><LI> mk_flash.o(.text.flash_dma_callback) +<LI> mk_flash.o(.text.flash_read) </UL> <P><STRONG><a name="[2b]"></a>flash_dma_write_nbytes_callback</STRONG> (Thumb, 196 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_dma_write_nbytes_callback)) <BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = flash_dma_write_nbytes_callback ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[76]">>></a> dma_transfer -<LI><a href="#[5a]">>></a> delay_us -<LI><a href="#[77]">>></a> flash_write_variable_len_cmd -<LI><a href="#[71]">>></a> flash_write_cmd +<BR>[Calls]<UL><LI><a href="#[75]">>></a> dma_transfer +<LI><a href="#[59]">>></a> delay_us +<LI><a href="#[76]">>></a> flash_write_variable_len_cmd +<LI><a href="#[70]">>></a> flash_write_cmd </UL> <BR>[Address Reference Count : 2]<UL><LI> mk_flash.o(.text.flash_write_nbytes) <LI> mk_flash.o(.text.flash_dma_write_nbytes_callback) </UL> -<P><STRONG><a name="[7d]"></a>flash_page_write_nbytes</STRONG> (Thumb, 88 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_page_write_nbytes)) +<P><STRONG><a name="[7c]"></a>flash_page_write_nbytes</STRONG> (Thumb, 88 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_page_write_nbytes)) <BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = flash_page_write_nbytes ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[77]">>></a> flash_write_variable_len_cmd -<LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[72]">>></a> flash_wait_done -<LI><a href="#[3a]">>></a> __aeabi_uidiv +<BR>[Calls]<UL><LI><a href="#[76]">>></a> flash_write_variable_len_cmd +<LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[71]">>></a> flash_wait_done +<LI><a href="#[38]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes +<BR>[Called By]<UL><LI><a href="#[43]">>></a> flash_write_nbytes </UL> -<P><STRONG><a name="[75]"></a>flash_read_status</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, mk_flash.o(.text.flash_read_status)) +<P><STRONG><a name="[74]"></a>flash_read_status</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, mk_flash.o(.text.flash_read_status)) <BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[7b]">>></a> flash_wait_status +<BR>[Calls]<UL><LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[7a]">>></a> flash_wait_status </UL> -<BR>[Called By]<UL><LI><a href="#[74]">>></a> flash_check_busy -<LI><a href="#[72]">>></a> flash_wait_done +<BR>[Called By]<UL><LI><a href="#[73]">>></a> flash_check_busy +<LI><a href="#[71]">>></a> flash_wait_done </UL> -<P><STRONG><a name="[70]"></a>flash_reset_cmd</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, mk_flash.o(.text.flash_reset_cmd)) +<P><STRONG><a name="[6f]"></a>flash_reset_cmd</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, mk_flash.o(.text.flash_reset_cmd)) <BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = flash_reset_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[7b]">>></a> flash_wait_status +<BR>[Calls]<UL><LI><a href="#[7a]">>></a> flash_wait_status </UL> -<BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[80]">>></a> flash_write -<LI><a href="#[79]">>></a> flash_sector_erase -<LI><a href="#[7e]">>></a> flash_read -<LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[6e]">>></a> flash_block_erase +<BR>[Called By]<UL><LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[78]">>></a> flash_sector_erase +<LI><a href="#[7d]">>></a> flash_read +<LI><a href="#[79]">>></a> flash_open +<LI><a href="#[6d]">>></a> flash_block_erase <LI><a href="#[2a]">>></a> flash_dma_callback </UL> -<P><STRONG><a name="[6f]"></a>flash_state_update</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_state_update)) +<P><STRONG><a name="[6e]"></a>flash_state_update</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_state_update)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = flash_state_update </UL> -<BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[80]">>></a> flash_write -<LI><a href="#[79]">>></a> flash_sector_erase -<LI><a href="#[7e]">>></a> flash_read -<LI><a href="#[6e]">>></a> flash_block_erase +<BR>[Called By]<UL><LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[78]">>></a> flash_sector_erase +<LI><a href="#[7d]">>></a> flash_read +<LI><a href="#[6d]">>></a> flash_block_erase </UL> -<P><STRONG><a name="[72]"></a>flash_wait_done</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_wait_done)) +<P><STRONG><a name="[71]"></a>flash_wait_done</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_wait_done)) <BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[7f]">>></a> sys_timer_get -<LI><a href="#[5a]">>></a> delay_us -<LI><a href="#[75]">>></a> flash_read_status +<BR>[Calls]<UL><LI><a href="#[7e]">>></a> sys_timer_get +<LI><a href="#[59]">>></a> delay_us +<LI><a href="#[74]">>></a> flash_read_status </UL> -<BR>[Called By]<UL><LI><a href="#[80]">>></a> flash_write -<LI><a href="#[79]">>></a> flash_sector_erase -<LI><a href="#[6e]">>></a> flash_block_erase -<LI><a href="#[7c]">>></a> flash_write_quad_mode -<LI><a href="#[7d]">>></a> flash_page_write_nbytes +<BR>[Called By]<UL><LI><a href="#[78]">>></a> flash_sector_erase +<LI><a href="#[6d]">>></a> flash_block_erase +<LI><a href="#[7b]">>></a> flash_write_quad_mode +<LI><a href="#[7c]">>></a> flash_page_write_nbytes </UL> -<P><STRONG><a name="[7b]"></a>flash_wait_status</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_wait_status)) +<P><STRONG><a name="[7a]"></a>flash_wait_status</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_wait_status)) <BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[7f]">>></a> sys_timer_get +<BR>[Calls]<UL><LI><a href="#[7e]">>></a> sys_timer_get </UL> -<BR>[Called By]<UL><LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[77]">>></a> flash_write_variable_len_cmd -<LI><a href="#[73]">>></a> flash_write_mem_cmd -<LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[70]">>></a> flash_reset_cmd -<LI><a href="#[75]">>></a> flash_read_status +<BR>[Called By]<UL><LI><a href="#[79]">>></a> flash_open +<LI><a href="#[76]">>></a> flash_write_variable_len_cmd +<LI><a href="#[72]">>></a> flash_write_mem_cmd +<LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[6f]">>></a> flash_reset_cmd +<LI><a href="#[74]">>></a> flash_read_status </UL> -<P><STRONG><a name="[71]"></a>flash_write_cmd</STRONG> (Thumb, 204 bytes, Stack size 48 bytes, mk_flash.o(.text.flash_write_cmd)) +<P><STRONG><a name="[70]"></a>flash_write_cmd</STRONG> (Thumb, 204 bytes, Stack size 48 bytes, mk_flash.o(.text.flash_write_cmd)) <BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[7b]">>></a> flash_wait_status +<BR>[Calls]<UL><LI><a href="#[7a]">>></a> flash_wait_status </UL> -<BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[80]">>></a> flash_write -<LI><a href="#[79]">>></a> flash_sector_erase -<LI><a href="#[7e]">>></a> flash_read -<LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[6e]">>></a> flash_block_erase -<LI><a href="#[7c]">>></a> flash_write_quad_mode -<LI><a href="#[75]">>></a> flash_read_status -<LI><a href="#[7d]">>></a> flash_page_write_nbytes +<BR>[Called By]<UL><LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[78]">>></a> flash_sector_erase +<LI><a href="#[7d]">>></a> flash_read +<LI><a href="#[79]">>></a> flash_open +<LI><a href="#[6d]">>></a> flash_block_erase +<LI><a href="#[7b]">>></a> flash_write_quad_mode +<LI><a href="#[74]">>></a> flash_read_status +<LI><a href="#[7c]">>></a> flash_page_write_nbytes <LI><a href="#[2b]">>></a> flash_dma_write_nbytes_callback <LI><a href="#[2a]">>></a> flash_dma_callback </UL> -<P><STRONG><a name="[73]"></a>flash_write_mem_cmd</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, mk_flash.o(.text.flash_write_mem_cmd)) +<P><STRONG><a name="[72]"></a>flash_write_mem_cmd</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, mk_flash.o(.text.flash_write_mem_cmd)) <BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = flash_write_mem_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[7b]">>></a> flash_wait_status +<BR>[Calls]<UL><LI><a href="#[7a]">>></a> flash_wait_status </UL> -<BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[80]">>></a> flash_write -<LI><a href="#[79]">>></a> flash_sector_erase -<LI><a href="#[7e]">>></a> flash_read -<LI><a href="#[7a]">>></a> flash_open -<LI><a href="#[74]">>></a> flash_check_busy -<LI><a href="#[6e]">>></a> flash_block_erase +<BR>[Called By]<UL><LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[78]">>></a> flash_sector_erase +<LI><a href="#[7d]">>></a> flash_read +<LI><a href="#[79]">>></a> flash_open +<LI><a href="#[73]">>></a> flash_check_busy +<LI><a href="#[6d]">>></a> flash_block_erase </UL> -<P><STRONG><a name="[7c]"></a>flash_write_quad_mode</STRONG> (Thumb, 112 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_write_quad_mode)) +<P><STRONG><a name="[7b]"></a>flash_write_quad_mode</STRONG> (Thumb, 120 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_write_quad_mode)) <BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = flash_write_quad_mode ⇒ flash_wait_done ⇒ flash_read_status ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[71]">>></a> flash_write_cmd -<LI><a href="#[72]">>></a> flash_wait_done -<LI><a href="#[3a]">>></a> __aeabi_uidiv +<BR>[Calls]<UL><LI><a href="#[70]">>></a> flash_write_cmd +<LI><a href="#[71]">>></a> flash_wait_done +<LI><a href="#[38]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[7a]">>></a> flash_open +<BR>[Called By]<UL><LI><a href="#[79]">>></a> flash_open </UL> -<P><STRONG><a name="[77]"></a>flash_write_variable_len_cmd</STRONG> (Thumb, 108 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_write_variable_len_cmd)) +<P><STRONG><a name="[76]"></a>flash_write_variable_len_cmd</STRONG> (Thumb, 108 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_write_variable_len_cmd)) <BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = flash_write_variable_len_cmd ⇒ flash_wait_status ⇒ sys_timer_get </UL> -<BR>[Calls]<UL><LI><a href="#[7b]">>></a> flash_wait_status +<BR>[Calls]<UL><LI><a href="#[7a]">>></a> flash_wait_status </UL> -<BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes -<LI><a href="#[7d]">>></a> flash_page_write_nbytes +<BR>[Called By]<UL><LI><a href="#[43]">>></a> flash_write_nbytes +<LI><a href="#[7c]">>></a> flash_page_write_nbytes <LI><a href="#[2b]">>></a> flash_dma_write_nbytes_callback </UL> @@ -1143,19 +1120,19 @@ <P><STRONG><a name="[8b]"></a>uart_state_clear</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, mk_uart.o(.text.uart_state_clear)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = uart_state_clear </UL> -<BR>[Called By]<UL><LI><a href="#[4f]">>></a> uart_send -<LI><a href="#[50]">>></a> uart_irq_handler +<BR>[Called By]<UL><LI><a href="#[4e]">>></a> uart_send +<LI><a href="#[4f]">>></a> uart_irq_handler <LI><a href="#[2d]">>></a> uart_dma_callback </UL> <P><STRONG><a name="[8c]"></a>uart_state_set</STRONG> (Thumb, 96 bytes, Stack size 16 bytes, mk_uart.o(.text.uart_state_set)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = uart_state_set </UL> -<BR>[Called By]<UL><LI><a href="#[4f]">>></a> uart_send +<BR>[Called By]<UL><LI><a href="#[4e]">>></a> uart_send </UL> -<P><STRONG><a name="[47]"></a>__NVIC_SystemReset</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, menu.o(.text.__NVIC_SystemReset)) -<BR><BR>[Called By]<UL><LI><a href="#[42]">>></a> Main_Menu +<P><STRONG><a name="[46]"></a>__NVIC_SystemReset</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, menu.o(.text.__NVIC_SystemReset)) +<BR><BR>[Called By]<UL><LI><a href="#[40]">>></a> Main_Menu </UL> <P><STRONG><a name="[87]"></a>__NVIC_SystemReset</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, customboot.o(.text.__NVIC_SystemReset)) -- Gitblit v1.9.3