From 8415b6bc61925a1a234fe393d8375d3828756931 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期五, 23 五月 2025 11:28:14 +0800 Subject: [PATCH] 修改搬运大小 --- dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm | 1130 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 609 insertions(+), 521 deletions(-) diff --git a/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm b/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm index e5c2902..b360347 100644 --- a/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm +++ b/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm @@ -3,16 +3,16 @@ <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: Fri May 23 10:12:54 2025 <BR><P> -<H3>Maximum Stack Usage = 368 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> +<H3>Maximum Stack Usage = 336 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> Call chain for Maximum Stack Depth:</H3> 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 <P> <H3> Mutually Recursive functions </H3> <LI><a href="#[8]">ACMP0_IRQHandler</a> ⇒ <a href="#[8]">ACMP0_IRQHandler</a><BR> - <LI><a href="#[36]">CopyBytes</a> ⇒ <a href="#[36]">CopyBytes</a><BR> + <LI><a href="#[3c]">CopyBytes</a> ⇒ <a href="#[3c]">CopyBytes</a><BR> </UL> <P> <H3> @@ -56,117 +56,129 @@ <LI><a href="#[20]">UART1_IRQHandler</a> from mk_uart.o(.text.UART1_IRQHandler) referenced from startup_mk800x.o(RESET) <LI><a href="#[23]">WAKEUP_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) <LI><a href="#[14]">WDT_IRQHandler</a> from mk_wdt.o(.text.WDT_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[2c]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup_mk800x.o(.text.start_main_asm) + <LI><a href="#[30]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup_mk800x.o(.text.start_main_asm) <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="#[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="#[2d]">flash_dma_callback</a> from mk_flash.o(.text.flash_dma_callback) referenced from mk_flash.o(.text.flash_dma_callback) + <LI><a href="#[2d]">flash_dma_callback</a> from mk_flash.o(.text.flash_dma_callback) referenced from mk_flash.o(.text.flash_read) + <LI><a href="#[2e]">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="#[2e]">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="#[2c]">gpio_pin_get_val</a> from mk_gpio.o(.text.gpio_pin_get_val) referenced from pin_config.o(.text.board_pins_config) + <LI><a href="#[2b]">gpio_pin_set_dir</a> from mk_gpio.o(.text.gpio_pin_set_dir) referenced from pin_config.o(.text.board_pins_config) <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) + <LI><a href="#[29]">io_pin_mux_set</a> from mk_io.o(.text.io_pin_mux_set) referenced from pin_config.o(.text.uart1_xuanze) + <LI><a href="#[2a]">io_pull_set</a> from mk_io.o(.text.io_pull_set) referenced from pin_config.o(.text.board_pins_config) <LI><a href="#[25]">main</a> from customboot.o(.text.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B) - <LI><a href="#[2d]">uart_dma_callback</a> from mk_uart.o(.text.uart_dma_callback) referenced from mk_uart.o(.text.uart_send) + <LI><a href="#[2f]">sleep_timer_callback</a> from customboot.o(.text.sleep_timer_callback) referenced from customboot.o(.text.main) + <LI><a href="#[31]">uart_dma_callback</a> from mk_uart.o(.text.uart_dma_callback) referenced from mk_uart.o(.text.uart_send) </UL> <P> <H3> Global Symbols </H3> -<P><STRONG><a name="[2c]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000)) +<P><STRONG><a name="[30]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000)) <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(.text.start_main_asm) </UL> -<P><STRONG><a name="[8e]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry4.o(.ARM.Collect$$$$00000003)) +<P><STRONG><a name="[9c]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry4.o(.ARM.Collect$$$$00000003)) -<P><STRONG><a name="[2e]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) -<BR><BR>[Calls]<UL><LI><a href="#[2f]">>></a> __scatterload +<P><STRONG><a name="[32]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +<BR><BR>[Calls]<UL><LI><a href="#[33]">>></a> __scatterload </UL> -<P><STRONG><a name="[33]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) -<BR><BR>[Called By]<UL><LI><a href="#[2f]">>></a> __scatterload +<P><STRONG><a name="[39]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +<BR><BR>[Called By]<UL><LI><a href="#[33]">>></a> __scatterload </UL> -<P><STRONG><a name="[8f]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) +<P><STRONG><a name="[9d]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) -<P><STRONG><a name="[90]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) +<P><STRONG><a name="[9e]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) -<P><STRONG><a name="[91]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) +<P><STRONG><a name="[9f]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) -<P><STRONG><a name="[92]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) +<P><STRONG><a name="[a0]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) -<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="[a1]"></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="[3e]"></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="#[49]">>></a> flash_write_nbytes +<LI><a href="#[7f]">>></a> flash_sector_erase +<LI><a href="#[84]">>></a> flash_read +<LI><a href="#[48]">>></a> flash_erase +<LI><a href="#[74]">>></a> flash_block_erase +<LI><a href="#[82]">>></a> flash_write_quad_mode +<LI><a href="#[83]">>></a> flash_page_write_nbytes +<LI><a href="#[3d]">>></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="[35]"></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="#[48]">>></a> flash_erase +<LI><a href="#[34]">>></a> __aeabi_idivmod </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 -<LI><a href="#[25]">>></a> main -<LI><a href="#[4e]">>></a> Ymodem_Receive +<P><STRONG><a name="[94]"></a>__aeabi_idiv</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, idiv.o(.text)) +<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_idiv +</UL> +<BR>[Called By]<UL><LI><a href="#[89]">>></a> sleep_timer_start </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="[34]"></a>__aeabi_idivmod</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, idiv.o(.text), UNUSED) +<BR><BR>[Calls]<UL><LI><a href="#[35]">>></a> __aeabi_uidivmod +</UL> -<P><STRONG><a name="[38]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text)) +<P><STRONG><a name="[57]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text)) +<BR><BR>[Called By]<UL><LI><a href="#[49]">>></a> flash_write_nbytes +<LI><a href="#[84]">>></a> flash_read +<LI><a href="#[80]">>></a> flash_open +<LI><a href="#[65]">>></a> sys_timer_open +<LI><a href="#[52]">>></a> Ymodem_Receive +</UL> + +<P><STRONG><a name="[91]"></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="[31]"></a>__aeabi_memset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) -<BR><BR>[Called By]<UL><LI><a href="#[32]">>></a> _memset$wrapper -<LI><a href="#[30]">>></a> __aeabi_memclr +<P><STRONG><a name="[90]"></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 </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="[96]"></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 +<P><STRONG><a name="[37]"></a>__aeabi_memset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +<BR><BR>[Called By]<UL><LI><a href="#[38]">>></a> _memset$wrapper +<LI><a href="#[36]">>></a> __aeabi_memclr </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 +<P><STRONG><a name="[a2]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) + +<P><STRONG><a name="[a3]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) + +<P><STRONG><a name="[36]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +<BR><BR>[Calls]<UL><LI><a href="#[37]">>></a> __aeabi_memset </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="[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 +<P><STRONG><a name="[9b]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text)) +<BR><BR>[Called By]<UL><LI><a href="#[53]">>></a> uart_send </UL> -<P><STRONG><a name="[2f]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) -<BR><BR>[Calls]<UL><LI><a href="#[33]">>></a> __main_after_scatterload -</UL> -<BR>[Called By]<UL><LI><a href="#[2e]">>></a> _main_scatterload +<P><STRONG><a name="[a4]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) + +<P><STRONG><a name="[38]"></a>_memset$wrapper</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED) +<BR><BR>[Calls]<UL><LI><a href="#[37]">>></a> __aeabi_memset </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="[33]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) +<BR><BR>[Calls]<UL><LI><a href="#[39]">>></a> __main_after_scatterload +</UL> +<BR>[Called By]<UL><LI><a href="#[32]">>></a> _main_scatterload +</UL> -<P><STRONG><a name="[99]"></a>__decompress</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED) +<P><STRONG><a name="[a5]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.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="[a6]"></a>__decompress</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED) + +<P><STRONG><a name="[a7]"></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) @@ -174,12 +186,12 @@ <P><STRONG><a name="[21]"></a>CALIB_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, mk_calib.o(.text.CALIB_IRQHandler)) <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[34]"></a>Cal_CRC16</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, ymodem.o(.text.Cal_CRC16)) +<P><STRONG><a name="[3a]"></a>Cal_CRC16</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, ymodem.o(.text.Cal_CRC16)) <BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = Cal_CRC16 ⇒ UpdateCRC16 </UL> -<BR>[Calls]<UL><LI><a href="#[35]">>></a> UpdateCRC16 +<BR>[Calls]<UL><LI><a href="#[3b]">>></a> UpdateCRC16 </UL> -<BR>[Called By]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive +<BR>[Called By]<UL><LI><a href="#[52]">>></a> Ymodem_Receive </UL> <P><STRONG><a name="[26]"></a>CalcCols</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, aes.o(.text.CalcCols)) @@ -187,30 +199,30 @@ </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="[5a]"></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="#[55]">>></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="[5b]"></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="#[55]">>></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="[5c]"></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="#[55]">>></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 +<P><STRONG><a name="[3c]"></a>CopyBytes</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, aes.o(.text.CopyBytes)) +<BR><BR>[Calls]<UL><LI><a href="#[3c]">>></a> CopyBytes </UL> -<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt -<LI><a href="#[40]">>></a> KeyExpansion -<LI><a href="#[36]">>></a> CopyBytes +<BR>[Called By]<UL><LI><a href="#[58]">>></a> aesDecrypt +<LI><a href="#[44]">>></a> KeyExpansion +<LI><a href="#[3c]">>></a> CopyBytes </UL> <P><STRONG><a name="[d]"></a>DMA_IRQHandler</STRONG> (Thumb, 104 bytes, Stack size 24 bytes, mk_dma.o(.text.DMA_IRQHandler)) @@ -234,7 +246,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="[a8]"></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 +315,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="[3d]"></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="#[3e]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[43]">>></a> SerialDownload +<BR>[Called By]<UL><LI><a href="#[47]">>></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="[3f]"></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="#[40]">>></a> XORBytes +<LI><a href="#[42]">>></a> InvSubBytesAndXOR +<LI><a href="#[41]">>></a> InvShiftRows +<LI><a href="#[43]">>></a> InvMixColumn </UL> -<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt +<BR>[Called By]<UL><LI><a href="#[58]">>></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="[43]"></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="#[3f]">>></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="[41]"></a>InvShiftRows</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, aes.o(.text.InvShiftRows)) +<BR><BR>[Called By]<UL><LI><a href="#[3f]">>></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="[42]"></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="#[3f]">>></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="[44]"></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 -<LI><a href="#[36]">>></a> CopyBytes +<BR>[Calls]<UL><LI><a href="#[40]">>></a> XORBytes +<LI><a href="#[45]">>></a> SubBytes +<LI><a href="#[3c]">>></a> CopyBytes </UL> -<BR>[Called By]<UL><LI><a href="#[51]">>></a> aesDecInit +<BR>[Called By]<UL><LI><a href="#[55]">>></a> aesDecInit </UL> -<P><STRONG><a name="[42]"></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 +<P><STRONG><a name="[46]"></a>Main_Menu</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, menu.o(.text.Main_Menu)) +<BR><BR>[Stack]<UL><LI>Max Depth = 312<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="#[49]">>></a> flash_write_nbytes +<LI><a href="#[48]">>></a> flash_erase +<LI><a href="#[4a]">>></a> delay_ms +<LI><a href="#[47]">>></a> SerialDownload +<LI><a href="#[4b]">>></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="[4c]"></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="#[4d]">>></a> SerialKeyPressed </UL> -<BR>[Called By]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +<LI><a href="#[52]">>></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="#[4f]">>></a> start_main_asm +<LI><a href="#[4e]">>></a> SystemInit </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> @@ -388,57 +392,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="[50]"></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="#[51]">>></a> SerialPutChar </UL> -<BR>[Called By]<UL><LI><a href="#[43]">>></a> SerialDownload +<BR>[Called By]<UL><LI><a href="#[47]">>></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="[47]"></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="#[52]">>></a> Ymodem_Receive +<LI><a href="#[50]">>></a> Send_Byte +<LI><a href="#[3d]">>></a> Int2Str </UL> -<BR>[Called By]<UL><LI><a href="#[42]">>></a> Main_Menu +<BR>[Called By]<UL><LI><a href="#[46]">>></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="[4d]"></a>SerialKeyPressed</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, mk_uart.o(.text.SerialKeyPressed)) +<BR><BR>[Called By]<UL><LI><a href="#[4c]">>></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="[51]"></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="#[53]">>></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="#[52]">>></a> Ymodem_Receive +<LI><a href="#[50]">>></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="#[51]">>></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="[59]"></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="#[52]">>></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="[45]"></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="#[44]">>></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 +450,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="[4e]"></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,21 +467,21 @@ <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="#[54]">>></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="#[54]">>></a> uart_irq_handler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[35]"></a>UpdateCRC16</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, ymodem.o(.text.UpdateCRC16)) +<P><STRONG><a name="[3b]"></a>UpdateCRC16</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, ymodem.o(.text.UpdateCRC16)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = UpdateCRC16 </UL> -<BR>[Called By]<UL><LI><a href="#[34]">>></a> Cal_CRC16 +<BR>[Called By]<UL><LI><a href="#[3a]">>></a> Cal_CRC16 </UL> <P><STRONG><a name="[14]"></a>WDT_IRQHandler</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, mk_wdt.o(.text.WDT_IRQHandler)) @@ -485,685 +489,769 @@ </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="[40]"></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="#[58]">>></a> aesDecrypt +<LI><a href="#[44]">>></a> KeyExpansion +<LI><a href="#[3f]">>></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="[52]"></a>Ymodem_Receive</STRONG> (Thumb, 756 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 -<LI><a href="#[34]">>></a> Cal_CRC16 +<BR>[Calls]<UL><LI><a href="#[58]">>></a> aesDecrypt +<LI><a href="#[55]">>></a> aesDecInit +<LI><a href="#[51]">>></a> SerialPutChar +<LI><a href="#[49]">>></a> flash_write_nbytes +<LI><a href="#[48]">>></a> flash_erase +<LI><a href="#[56]">>></a> wdt_ping +<LI><a href="#[57]">>></a> __aeabi_memcpy +<LI><a href="#[59]">>></a> Str2Int +<LI><a href="#[4c]">>></a> Receive_Byte +<LI><a href="#[3a]">>></a> Cal_CRC16 </UL> -<BR>[Called By]<UL><LI><a href="#[43]">>></a> SerialDownload +<BR>[Called By]<UL><LI><a href="#[47]">>></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="[55]"></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="#[44]">>></a> KeyExpansion +<LI><a href="#[5c]">>></a> CalcSBoxInv +<LI><a href="#[5b]">>></a> CalcSBox +<LI><a href="#[5a]">>></a> CalcPowLog </UL> -<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt +<BR>[Called By]<UL><LI><a href="#[58]">>></a> aesDecrypt <LI><a href="#[25]">>></a> main -<LI><a href="#[4e]">>></a> Ymodem_Receive +<LI><a href="#[52]">>></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="[58]"></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 -<LI><a href="#[36]">>></a> CopyBytes +<BR>[Calls]<UL><LI><a href="#[55]">>></a> aesDecInit +<LI><a href="#[40]">>></a> XORBytes +<LI><a href="#[3f]">>></a> InvCipher +<LI><a href="#[3c]">>></a> CopyBytes </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main -<LI><a href="#[4e]">>></a> Ymodem_Receive +<LI><a href="#[52]">>></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="[5d]"></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="#[63]">>></a> clock_set_divider +<LI><a href="#[5e]">>></a> delay_us +<LI><a href="#[60]">>></a> calib_start +<LI><a href="#[5f]">>></a> calib_open +<LI><a href="#[62]">>></a> calib_close +<LI><a href="#[61]">>></a> calib_check +<LI><a href="#[65]">>></a> sys_timer_open +<LI><a href="#[64]">>></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="[8c]"></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)) -<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = board_pins_config +<P><STRONG><a name="[66]"></a>board_pins_config</STRONG> (Thumb, 244 bytes, Stack size 24 bytes, pin_config.o(.text.board_pins_config)) +<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = board_pins_config ⇒ uart1_xuanze ⇒ uart_open ⇒ uart_baud_set +</UL> +<BR>[Calls]<UL><LI><a href="#[2c]">>></a> gpio_pin_get_val +<LI><a href="#[67]">>></a> uart1_xuanze </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="[61]"></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="#[5d]">>></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="[68]"></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="#[69]">>></a> clock_enable +<LI><a href="#[6a]">>></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="[62]"></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="#[6b]">>></a> clock_disable </UL> -<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[5d]">>></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="[5f]"></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="#[6c]">>></a> reset_module +<LI><a href="#[69]">>></a> clock_enable </UL> -<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[5d]">>></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="[60]"></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="#[5d]">>></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="#[6d]">>></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="[6b]"></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="#[8e]">>></a> uart_close +<LI><a href="#[7c]">>></a> flash_close +<LI><a href="#[8a]">>></a> wdt_close +<LI><a href="#[62]">>></a> calib_close +<LI><a href="#[86]">>></a> gpio_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="[69]"></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="#[72]">>></a> dma_open +<LI><a href="#[97]">>></a> uart_open +<LI><a href="#[80]">>></a> flash_open +<LI><a href="#[8b]">>></a> wdt_open +<LI><a href="#[5f]">>></a> calib_open +<LI><a href="#[68]">>></a> calib_chip +<LI><a href="#[87]">>></a> gpio_open +<LI><a href="#[88]">>></a> sleep_timer_open +<LI><a href="#[73]">>></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="[71]"></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="#[6f]">>></a> clock_get_sys_clk_freq +<LI><a href="#[70]">>></a> clock_get_apb_clk_freq +<LI><a href="#[6e]">>></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="#[65]">>></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)) -<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 +<P><STRONG><a name="[63]"></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="#[98]">>></a> uart_baud_set +<LI><a href="#[80]">>></a> flash_open +<LI><a href="#[5d]">>></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="[6d]"></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="[4a]"></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="#[5e]">>></a> delay_us </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main -<LI><a href="#[42]">>></a> Main_Menu +<LI><a href="#[46]">>></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)) -<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="#[2b]">>></a> flash_dma_write_nbytes_callback -<LI><a href="#[59]">>></a> board_clock_run -<LI><a href="#[46]">>></a> delay_ms +<P><STRONG><a name="[5e]"></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="#[98]">>></a> uart_baud_set +<LI><a href="#[80]">>></a> flash_open +<LI><a href="#[7c]">>></a> flash_close +<LI><a href="#[78]">>></a> flash_wait_done +<LI><a href="#[2e]">>></a> flash_dma_write_nbytes_callback +<LI><a href="#[5d]">>></a> board_clock_run +<LI><a href="#[4a]">>></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="[72]"></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="#[6c]">>></a> reset_module +<LI><a href="#[69]">>></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="#[53]">>></a> uart_send +<LI><a href="#[49]">>></a> flash_write_nbytes +<LI><a href="#[84]">>></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="[7d]"></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 -<LI><a href="#[2b]">>></a> flash_dma_write_nbytes_callback -<LI><a href="#[2a]">>></a> flash_dma_callback +<BR>[Called By]<UL><LI><a href="#[53]">>></a> uart_send +<LI><a href="#[49]">>></a> flash_write_nbytes +<LI><a href="#[84]">>></a> flash_read +<LI><a href="#[2e]">>></a> flash_dma_write_nbytes_callback +<LI><a href="#[2d]">>></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 +<P><STRONG><a name="[95]"></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="#[85]">>></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="[73]"></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="#[69]">>></a> clock_enable </UL> -<BR>[Called By]<UL><LI><a href="#[61]">>></a> sys_timer_open +<BR>[Called By]<UL><LI><a href="#[65]">>></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 +<P><STRONG><a name="[96]"></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="#[65]">>></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="[74]"></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="#[79]">>></a> flash_write_mem_cmd +<LI><a href="#[77]">>></a> flash_write_cmd +<LI><a href="#[78]">>></a> flash_wait_done +<LI><a href="#[75]">>></a> flash_state_update +<LI><a href="#[76]">>></a> flash_reset_cmd +<LI><a href="#[3e]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[44]">>></a> flash_erase +<BR>[Called By]<UL><LI><a href="#[48]">>></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="[7a]"></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="#[79]">>></a> flash_write_mem_cmd +<LI><a href="#[7b]">>></a> flash_read_status </UL> -<BR>[Called By]<UL><LI><a href="#[44]">>></a> flash_erase +<BR>[Called By]<UL><LI><a href="#[48]">>></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="[7c]"></a>flash_close</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, mk_flash.o(.text.flash_close)) +<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = flash_close ⇒ flash_write_cmd ⇒ flash_wait_status ⇒ sys_timer_get +</UL> +<BR>[Calls]<UL><LI><a href="#[6b]">>></a> clock_disable +<LI><a href="#[5e]">>></a> delay_us +<LI><a href="#[77]">>></a> flash_write_cmd +</UL> +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +</UL> + +<P><STRONG><a name="[48]"></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="#[7f]">>></a> flash_sector_erase +<LI><a href="#[7a]">>></a> flash_check_busy +<LI><a href="#[74]">>></a> flash_block_erase +<LI><a href="#[35]">>></a> __aeabi_uidivmod +<LI><a href="#[3e]">>></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 +<BR>[Called By]<UL><LI><a href="#[8d]">>></a> usartdata_process +<LI><a href="#[25]">>></a> main +<LI><a href="#[52]">>></a> Ymodem_Receive +<LI><a href="#[46]">>></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="[80]"></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="#[6c]">>></a> reset_module +<LI><a href="#[63]">>></a> clock_set_divider +<LI><a href="#[69]">>></a> clock_enable +<LI><a href="#[5e]">>></a> delay_us +<LI><a href="#[82]">>></a> flash_write_quad_mode +<LI><a href="#[79]">>></a> flash_write_mem_cmd +<LI><a href="#[77]">>></a> flash_write_cmd +<LI><a href="#[81]">>></a> flash_wait_status +<LI><a href="#[76]">>></a> flash_reset_cmd +<LI><a href="#[57]">>></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="[84]"></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="#[7d]">>></a> dma_transfer +<LI><a href="#[72]">>></a> dma_open +<LI><a href="#[79]">>></a> flash_write_mem_cmd +<LI><a href="#[77]">>></a> flash_write_cmd +<LI><a href="#[75]">>></a> flash_state_update +<LI><a href="#[76]">>></a> flash_reset_cmd +<LI><a href="#[57]">>></a> __aeabi_memcpy +<LI><a href="#[3e]">>></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="[7f]"></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="#[79]">>></a> flash_write_mem_cmd +<LI><a href="#[77]">>></a> flash_write_cmd +<LI><a href="#[78]">>></a> flash_wait_done +<LI><a href="#[75]">>></a> flash_state_update +<LI><a href="#[76]">>></a> flash_reset_cmd +<LI><a href="#[3e]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[44]">>></a> flash_erase +<BR>[Called By]<UL><LI><a href="#[48]">>></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="[49]"></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="#[7d]">>></a> dma_transfer +<LI><a href="#[72]">>></a> dma_open +<LI><a href="#[7e]">>></a> flash_write_variable_len_cmd +<LI><a href="#[79]">>></a> flash_write_mem_cmd +<LI><a href="#[77]">>></a> flash_write_cmd +<LI><a href="#[75]">>></a> flash_state_update +<LI><a href="#[76]">>></a> flash_reset_cmd +<LI><a href="#[83]">>></a> flash_page_write_nbytes +<LI><a href="#[57]">>></a> __aeabi_memcpy +<LI><a href="#[3e]">>></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="#[8d]">>></a> usartdata_process +<LI><a href="#[25]">>></a> main +<LI><a href="#[52]">>></a> Ymodem_Receive +<LI><a href="#[46]">>></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)) -<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = gpio_open +<P><STRONG><a name="[86]"></a>gpio_close</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, mk_gpio.o(.text.gpio_close)) +<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = gpio_close </UL> -<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module -<LI><a href="#[63]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[6b]">>></a> clock_disable </UL> <BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<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)) +<P><STRONG><a name="[87]"></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="#[6c]">>></a> reset_module +<LI><a href="#[69]">>></a> clock_enable +</UL> +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +</UL> + +<P><STRONG><a name="[2c]"></a>gpio_pin_get_val</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mk_gpio.o(.text.gpio_pin_get_val)) +<BR><BR>[Called By]<UL><LI><a href="#[66]">>></a> board_pins_config +</UL> <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)) -<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 +<P><STRONG><a name="[2b]"></a>gpio_pin_set_dir</STRONG> (Thumb, 76 bytes, Stack size 0 bytes, mk_gpio.o(.text.gpio_pin_set_dir)) +<BR>[Address Reference Count : 1]<UL><LI> pin_config.o(.text.board_pins_config) </UL> -<BR>[Calls]<UL><LI><a href="#[54]">>></a> aesDecrypt -<LI><a href="#[51]">>></a> aesDecInit -<LI><a href="#[86]">>></a> uart_open +<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 : 2]<UL><LI> pin_config.o(.text.uart1_xuanze) +<LI> pin_config.o(.text.board_pins_config) +</UL> +<P><STRONG><a name="[2a]"></a>io_pull_set</STRONG> (Thumb, 76 bytes, Stack size 20 bytes, mk_io.o(.text.io_pull_set)) +<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = io_pull_set +</UL> +<BR>[Address Reference Count : 1]<UL><LI> pin_config.o(.text.board_pins_config) +</UL> +<P><STRONG><a name="[25]"></a>main</STRONG> (Thumb, 800 bytes, Stack size 24 bytes, customboot.o(.text.main)) +<BR><BR>[Stack]<UL><LI>Max Depth = 336<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="#[58]">>></a> aesDecrypt +<LI><a href="#[55]">>></a> aesDecInit +<LI><a href="#[8e]">>></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="#[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="#[49]">>></a> flash_write_nbytes +<LI><a href="#[84]">>></a> flash_read +<LI><a href="#[80]">>></a> flash_open +<LI><a href="#[48]">>></a> flash_erase +<LI><a href="#[7c]">>></a> flash_close +<LI><a href="#[7a]">>></a> flash_check_busy +<LI><a href="#[56]">>></a> wdt_ping +<LI><a href="#[8b]">>></a> wdt_open +<LI><a href="#[8a]">>></a> wdt_close +<LI><a href="#[68]">>></a> calib_chip +<LI><a href="#[87]">>></a> gpio_open +<LI><a href="#[86]">>></a> gpio_close +<LI><a href="#[89]">>></a> sleep_timer_start +<LI><a href="#[88]">>></a> sleep_timer_open +<LI><a href="#[8f]">>></a> sleep_timer_close +<LI><a href="#[90]">>></a> __aeabi_memcpy8 +<LI><a href="#[91]">>></a> __aeabi_memcpy4 +<LI><a href="#[8d]">>></a> usartdata_process +<LI><a href="#[66]">>></a> board_pins_config +<LI><a href="#[8c]">>></a> board_configure +<LI><a href="#[5d]">>></a> board_clock_run +<LI><a href="#[92]">>></a> __NVIC_SystemReset +<LI><a href="#[4c]">>></a> Receive_Byte +<LI><a href="#[4a]">>></a> delay_ms +<LI><a href="#[46]">>></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="[6a]"></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="#[68]">>></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="[93]"></a>power_wakeup_enable</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, mk_power.o(.text.power_wakeup_enable)) +<BR><BR>[Called By]<UL><LI><a href="#[88]">>></a> sleep_timer_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="[6c]"></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="#[72]">>></a> dma_open +<LI><a href="#[97]">>></a> uart_open +<LI><a href="#[80]">>></a> flash_open +<LI><a href="#[8b]">>></a> wdt_open +<LI><a href="#[5f]">>></a> calib_open +<LI><a href="#[87]">>></a> gpio_open +</UL> + +<P><STRONG><a name="[8f]"></a>sleep_timer_close</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, mk_sleep_timer.o(.text.sleep_timer_close)) +<BR><BR>[Called By]<UL><LI><a href="#[25]">>></a> main +</UL> + +<P><STRONG><a name="[88]"></a>sleep_timer_open</STRONG> (Thumb, 88 bytes, Stack size 16 bytes, mk_sleep_timer.o(.text.sleep_timer_open)) +<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = sleep_timer_open +</UL> +<BR>[Calls]<UL><LI><a href="#[69]">>></a> clock_enable +<LI><a href="#[93]">>></a> power_wakeup_enable +</UL> +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +</UL> + +<P><STRONG><a name="[89]"></a>sleep_timer_start</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, mk_sleep_timer.o(.text.sleep_timer_start)) +<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = sleep_timer_start ⇒ __aeabi_idiv +</UL> +<BR>[Calls]<UL><LI><a href="#[94]">>></a> __aeabi_idiv +</UL> +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +</UL> + +<P><STRONG><a name="[4f]"></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="[64]"></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="#[5d]">>></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="[85]"></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 +<BR>[Calls]<UL><LI><a href="#[95]">>></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="#[81]">>></a> flash_wait_status +<LI><a href="#[78]">>></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="[65]"></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 -<LI><a href="#[89]">>></a> dual_timer_start -<LI><a href="#[6d]">>></a> dual_timer_open -<LI><a href="#[53]">>></a> __aeabi_memcpy +<BR>[Calls]<UL><LI><a href="#[71]">>></a> clock_get_frequency +<LI><a href="#[96]">>></a> dual_timer_start +<LI><a href="#[73]">>></a> dual_timer_open +<LI><a href="#[57]">>></a> __aeabi_memcpy </UL> -<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[5d]">>></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)) +<P><STRONG><a name="[67]"></a>uart1_xuanze</STRONG> (Thumb, 108 bytes, Stack size 32 bytes, pin_config.o(.text.uart1_xuanze)) +<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = uart1_xuanze ⇒ uart_open ⇒ uart_baud_set +</UL> +<BR>[Calls]<UL><LI><a href="#[97]">>></a> uart_open +<LI><a href="#[8e]">>></a> uart_close +</UL> +<BR>[Called By]<UL><LI><a href="#[66]">>></a> board_pins_config +</UL> + +<P><STRONG><a name="[98]"></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="#[63]">>></a> clock_set_divider +<LI><a href="#[5e]">>></a> delay_us </UL> -<BR>[Called By]<UL><LI><a href="#[86]">>></a> uart_open +<BR>[Called By]<UL><LI><a href="#[97]">>></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="[8e]"></a>uart_close</STRONG> (Thumb, 128 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="#[6b]">>></a> clock_disable +</UL> +<BR>[Called By]<UL><LI><a href="#[67]">>></a> uart1_xuanze +<LI><a href="#[25]">>></a> main +</UL> + +<P><STRONG><a name="[54]"></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 +<BR>[Calls]<UL><LI><a href="#[99]">>></a> uart_state_clear </UL> <BR>[Called By]<UL><LI><a href="#[20]">>></a> UART1_IRQHandler <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="[97]"></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 -<LI><a href="#[8a]">>></a> uart_baud_set +<BR>[Calls]<UL><LI><a href="#[6c]">>></a> reset_module +<LI><a href="#[69]">>></a> clock_enable +<LI><a href="#[98]">>></a> uart_baud_set </UL> -<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +<BR>[Called By]<UL><LI><a href="#[67]">>></a> uart1_xuanze </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="[53]"></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 -<LI><a href="#[8c]">>></a> uart_state_set -<LI><a href="#[8b]">>></a> uart_state_clear -<LI><a href="#[8d]">>></a> __aeabi_memclr4 +<BR>[Calls]<UL><LI><a href="#[7d]">>></a> dma_transfer +<LI><a href="#[72]">>></a> dma_open +<LI><a href="#[9a]">>></a> uart_state_set +<LI><a href="#[99]">>></a> uart_state_clear +<LI><a href="#[9b]">>></a> __aeabi_memclr4 </UL> -<BR>[Called By]<UL><LI><a href="#[4d]">>></a> SerialPutChar +<BR>[Called By]<UL><LI><a href="#[51]">>></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="[8d]"></a>usartdata_process</STRONG> (Thumb, 168 bytes, Stack size 24 bytes, customboot.o(.text.usartdata_process)) +<BR><BR>[Stack]<UL><LI>Max Depth = 256<LI>Call Chain = usartdata_process ⇒ 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="#[49]">>></a> flash_write_nbytes +<LI><a href="#[48]">>></a> flash_erase +</UL> +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +</UL> + +<P><STRONG><a name="[8a]"></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="#[6b]">>></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="[8b]"></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="#[6c]">>></a> reset_module +<LI><a href="#[69]">>></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="[56]"></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="#[52]">>></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="[a9]"></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="[aa]"></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="[ab]"></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="[6e]"></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="#[6f]">>></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="#[71]">>></a> clock_get_frequency +<LI><a href="#[70]">>></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="[70]"></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="#[6e]">>></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="#[71]">>></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="[6f]"></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="#[71]">>></a> clock_get_frequency +<LI><a href="#[6e]">>></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)) +<P><STRONG><a name="[2d]"></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="#[7d]">>></a> dma_transfer +<LI><a href="#[77]">>></a> flash_write_cmd +<LI><a href="#[76]">>></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)) +<P><STRONG><a name="[2e]"></a>flash_dma_write_nbytes_callback</STRONG> (Thumb, 200 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="#[7d]">>></a> dma_transfer +<LI><a href="#[5e]">>></a> delay_us +<LI><a href="#[7e]">>></a> flash_write_variable_len_cmd +<LI><a href="#[77]">>></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="[83]"></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="#[7e]">>></a> flash_write_variable_len_cmd +<LI><a href="#[77]">>></a> flash_write_cmd +<LI><a href="#[78]">>></a> flash_wait_done +<LI><a href="#[3e]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes +<BR>[Called By]<UL><LI><a href="#[49]">>></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="[7b]"></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="#[77]">>></a> flash_write_cmd +<LI><a href="#[81]">>></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="#[7a]">>></a> flash_check_busy +<LI><a href="#[78]">>></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="[76]"></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="#[81]">>></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="#[2a]">>></a> flash_dma_callback +<BR>[Called By]<UL><LI><a href="#[49]">>></a> flash_write_nbytes +<LI><a href="#[7f]">>></a> flash_sector_erase +<LI><a href="#[84]">>></a> flash_read +<LI><a href="#[80]">>></a> flash_open +<LI><a href="#[74]">>></a> flash_block_erase +<LI><a href="#[2d]">>></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="[75]"></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="#[49]">>></a> flash_write_nbytes +<LI><a href="#[7f]">>></a> flash_sector_erase +<LI><a href="#[84]">>></a> flash_read +<LI><a href="#[74]">>></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="[78]"></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="#[85]">>></a> sys_timer_get +<LI><a href="#[5e]">>></a> delay_us +<LI><a href="#[7b]">>></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="#[7f]">>></a> flash_sector_erase +<LI><a href="#[74]">>></a> flash_block_erase +<LI><a href="#[82]">>></a> flash_write_quad_mode +<LI><a href="#[83]">>></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="[81]"></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="#[85]">>></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="#[80]">>></a> flash_open +<LI><a href="#[7e]">>></a> flash_write_variable_len_cmd +<LI><a href="#[79]">>></a> flash_write_mem_cmd +<LI><a href="#[77]">>></a> flash_write_cmd +<LI><a href="#[76]">>></a> flash_reset_cmd +<LI><a href="#[7b]">>></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="[77]"></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="#[81]">>></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 -<LI><a href="#[2b]">>></a> flash_dma_write_nbytes_callback -<LI><a href="#[2a]">>></a> flash_dma_callback +<BR>[Called By]<UL><LI><a href="#[49]">>></a> flash_write_nbytes +<LI><a href="#[7f]">>></a> flash_sector_erase +<LI><a href="#[84]">>></a> flash_read +<LI><a href="#[80]">>></a> flash_open +<LI><a href="#[7c]">>></a> flash_close +<LI><a href="#[74]">>></a> flash_block_erase +<LI><a href="#[82]">>></a> flash_write_quad_mode +<LI><a href="#[7b]">>></a> flash_read_status +<LI><a href="#[83]">>></a> flash_page_write_nbytes +<LI><a href="#[2e]">>></a> flash_dma_write_nbytes_callback +<LI><a href="#[2d]">>></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="[79]"></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="#[81]">>></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="#[49]">>></a> flash_write_nbytes +<LI><a href="#[7f]">>></a> flash_sector_erase +<LI><a href="#[84]">>></a> flash_read +<LI><a href="#[80]">>></a> flash_open +<LI><a href="#[7a]">>></a> flash_check_busy +<LI><a href="#[74]">>></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="[82]"></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="#[77]">>></a> flash_write_cmd +<LI><a href="#[78]">>></a> flash_wait_done +<LI><a href="#[3e]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[7a]">>></a> flash_open +<BR>[Called By]<UL><LI><a href="#[80]">>></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="[7e]"></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="#[81]">>></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 -<LI><a href="#[2b]">>></a> flash_dma_write_nbytes_callback +<BR>[Called By]<UL><LI><a href="#[49]">>></a> flash_write_nbytes +<LI><a href="#[83]">>></a> flash_page_write_nbytes +<LI><a href="#[2e]">>></a> flash_dma_write_nbytes_callback </UL> -<P><STRONG><a name="[2d]"></a>uart_dma_callback</STRONG> (Thumb, 200 bytes, Stack size 24 bytes, mk_uart.o(.text.uart_dma_callback)) +<P><STRONG><a name="[31]"></a>uart_dma_callback</STRONG> (Thumb, 200 bytes, Stack size 24 bytes, mk_uart.o(.text.uart_dma_callback)) <BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = uart_dma_callback ⇒ uart_state_clear </UL> -<BR>[Calls]<UL><LI><a href="#[8b]">>></a> uart_state_clear +<BR>[Calls]<UL><LI><a href="#[99]">>></a> uart_state_clear </UL> <BR>[Address Reference Count : 1]<UL><LI> mk_uart.o(.text.uart_send) </UL> -<P><STRONG><a name="[8b]"></a>uart_state_clear</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, mk_uart.o(.text.uart_state_clear)) +<P><STRONG><a name="[99]"></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 -<LI><a href="#[2d]">>></a> uart_dma_callback +<BR>[Called By]<UL><LI><a href="#[53]">>></a> uart_send +<LI><a href="#[54]">>></a> uart_irq_handler +<LI><a href="#[31]">>></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)) +<P><STRONG><a name="[9a]"></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="#[53]">>></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="[4b]"></a>__NVIC_SystemReset</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, menu.o(.text.__NVIC_SystemReset)) +<BR><BR>[Called By]<UL><LI><a href="#[46]">>></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)) +<P><STRONG><a name="[92]"></a>__NVIC_SystemReset</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, customboot.o(.text.__NVIC_SystemReset)) <BR><BR>[Called By]<UL><LI><a href="#[25]">>></a> main +<LI><a href="#[2f]">>></a> sleep_timer_callback </UL> <P><STRONG><a name="[0]"></a>app_wdt_callback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, customboot.o(.text.app_wdt_callback)) <BR>[Address Reference Count : 1]<UL><LI> customboot.o(.data.app_wdt_cfg) +</UL> +<P><STRONG><a name="[2f]"></a>sleep_timer_callback</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, customboot.o(.text.sleep_timer_callback)) +<BR><BR>[Calls]<UL><LI><a href="#[92]">>></a> __NVIC_SystemReset +</UL> +<BR>[Address Reference Count : 1]<UL><LI> customboot.o(.text.main) </UL><P> <H3> Undefined Global Symbols -- Gitblit v1.9.3