From 10a92afeae49a4ff85143bd17161c08256f30550 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期五, 28 二月 2025 11:06:03 +0800 Subject: [PATCH] 手环bootV1.1,增加了看门狗防止跳转升级到100%跳转有问题的问题 --- dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm | 1290 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 797 insertions(+), 493 deletions(-) diff --git a/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm b/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm index 957da6e..e66de75 100644 --- a/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm +++ b/dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm @@ -3,863 +3,1167 @@ <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: Fri Nov 1 16:14:49 2024 +<BR><P>#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Fri Feb 28 10:43:39 2025 <BR><P> -<H3>Maximum Stack Usage = 352 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> +<H3>Maximum Stack Usage = 368 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_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +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="#[7]">ACMP0_IRQHandler</a> ⇒ <a href="#[7]">ACMP0_IRQHandler</a><BR> +</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> </UL> <P> <H3> Function Pointers </H3><UL> - <LI><a href="#[7]">ACMP0_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[8]">ACMP1_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[f]">ADC_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[e]">AES_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[6]">BOD_IRQHandler</a> from mk_misc.o(.text.BOD_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[20]">CALIB_IRQHandler</a> from mk_calib.o(.text.CALIB_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[c]">DMA_IRQHandler</a> from mk_dma.o(.text.DMA_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[11]">FLASH_CTRL_IRQHandler</a> from mk_flash.o(.text.FLASH_CTRL_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[d]">GPIO_IRQHandler</a> from mk_gpio.o(.text.GPIO_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[2]">HardFault_Handler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[1b]">I2C0_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[12]">LSP_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[a]">MAC_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[1]">NMI_Handler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[b]">PHY_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[23]">PHY_TIMER_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[16]">PWM_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[4]">PendSV_Handler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[21]">RCO32K_CAL_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[14]">RTC_ALARM_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[15]">RTC_TICK_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[0]">Reset_Handler</a> from startup_mk800x.o(.text.Reset_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[9]">SLEEP_TIMER_IRQHandler</a> from mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[1c]">SPI0_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[1d]">SPI1_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[3]">SVC_Handler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[5]">SysTick_Handler</a> from mk_misc.o(.text.SysTick_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[17]">TIMER0_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[18]">TIMER1_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[19]">TIMER2_IRQHandler</a> from mk_dual_timer.o(.text.TIMER2_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[1a]">TIMER3_IRQHandler</a> from mk_dual_timer.o(.text.TIMER3_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[10]">TRNG_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[1e]">UART0_IRQHandler</a> from mk_uart.o(.text.UART0_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[1f]">UART1_IRQHandler</a> from mk_uart.o(.text.UART1_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[22]">WAKEUP_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[13]">WDT_IRQHandler</a> from mk_wdt.o(.text.WDT_IRQHandler) referenced from startup_mk800x.o(RESET) - <LI><a href="#[27]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup_mk800x.o(.text.start_main_asm) - <LI><a href="#[25]">flash_dma_callback</a> from mk_flash.o(.text.flash_dma_callback) referenced from mk_flash.o(.text.flash_dma_callback) - <LI><a href="#[25]">flash_dma_callback</a> from mk_flash.o(.text.flash_dma_callback) referenced from mk_flash.o(.text.flash_read) - <LI><a href="#[25]">flash_dma_callback</a> from mk_flash.o(.text.flash_dma_callback) referenced from mk_flash.o(.text.flash_write) - <LI><a href="#[26]">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="#[26]">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="#[24]">main</a> from customboot.o(.text.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B) - <LI><a href="#[28]">uart_dma_callback</a> from mk_uart.o(.text.uart_dma_callback) referenced from mk_uart.o(.text.uart_send) + <LI><a href="#[8]">ACMP0_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[9]">ACMP1_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[10]">ADC_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[f]">AES_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[7]">BOD_IRQHandler</a> from mk_misc.o(.text.BOD_IRQHandler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[21]">CALIB_IRQHandler</a> from mk_calib.o(.text.CALIB_IRQHandler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[26]">CalcCols</a> from aes.o(.text.CalcCols) referenced from aes.o(.text.InvMixColumn) + <LI><a href="#[d]">DMA_IRQHandler</a> from mk_dma.o(.text.DMA_IRQHandler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[12]">FLASH_CTRL_IRQHandler</a> from mk_flash.o(.text.FLASH_CTRL_IRQHandler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[e]">GPIO_IRQHandler</a> from mk_gpio.o(.text.GPIO_IRQHandler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[3]">HardFault_Handler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[1c]">I2C0_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[13]">LSP_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[b]">MAC_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[2]">NMI_Handler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[c]">PHY_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[24]">PHY_TIMER_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[17]">PWM_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[5]">PendSV_Handler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[22]">RCO32K_CAL_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[15]">RTC_ALARM_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[16]">RTC_TICK_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[1]">Reset_Handler</a> from startup_mk800x.o(.text.Reset_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[a]">SLEEP_TIMER_IRQHandler</a> from mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[1d]">SPI0_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[1e]">SPI1_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[4]">SVC_Handler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[27]">Serial_PutString</a> from mk_uart.o(.text.Serial_PutString) referenced from menu.o(.text.SerialDownload) + <LI><a href="#[6]">SysTick_Handler</a> from mk_misc.o(.text.SysTick_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[18]">TIMER0_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[19]">TIMER1_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[1a]">TIMER2_IRQHandler</a> from mk_dual_timer.o(.text.TIMER2_IRQHandler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[1b]">TIMER3_IRQHandler</a> from mk_dual_timer.o(.text.TIMER3_IRQHandler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[11]">TRNG_IRQHandler</a> from startup_mk800x.o(.text.Default_Handler) referenced from startup_mk800x.o(RESET) + <LI><a href="#[1f]">UART0_IRQHandler</a> from mk_uart.o(.text.UART0_IRQHandler) referenced from startup_mk800x.o(RESET) + <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="#[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="#[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="#[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) </UL> <P> <H3> Global Symbols </H3> -<P><STRONG><a name="[27]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000)) +<P><STRONG><a name="[2c]"></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="[6b]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry4.o(.ARM.Collect$$$$00000003)) +<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="[29]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) -<BR><BR>[Calls]<UL><LI><a href="#[2a]">>></a> __scatterload +<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 </UL> -<P><STRONG><a name="[2b]"></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="#[2a]">>></a> __scatterload +<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 </UL> -<P><STRONG><a name="[6c]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) +<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="[6d]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) +<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="[6e]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) +<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="[6f]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) +<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="[70]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F)) +<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="[2f]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text)) +<P><STRONG><a name="[3a]"></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="#[37]">>></a> flash_write_nbytes -<LI><a href="#[63]">>></a> flash_write -<LI><a href="#[60]">>></a> flash_sector_erase -<LI><a href="#[62]">>></a> flash_read -<LI><a href="#[61]">>></a> flash_open -<LI><a href="#[36]">>></a> flash_erase -<LI><a href="#[5a]">>></a> flash_block_erase -<LI><a href="#[2e]">>></a> Int2Str +<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 </UL> -<P><STRONG><a name="[30]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text)) +<P><STRONG><a name="[78]"></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="#[63]">>></a> flash_write -<LI><a href="#[36]">>></a> flash_erase -<LI><a href="#[2e]">>></a> Int2Str +<BR>[Called By]<UL><LI><a href="#[80]">>></a> flash_write +<LI><a href="#[44]">>></a> flash_erase </UL> -<P><STRONG><a name="[43]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text)) -<BR><BR>[Called By]<UL><LI><a href="#[3c]">>></a> Ymodem_Receive +<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 </UL> -<P><STRONG><a name="[71]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED) +<P><STRONG><a name="[94]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED) -<P><STRONG><a name="[2d]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text)) -<BR><BR>[Called By]<UL><LI><a href="#[24]">>></a> main -<LI><a href="#[33]">>></a> Main_Menu -<LI><a href="#[2c]">>></a> IAP_JumpTo +<P><STRONG><a name="[38]"></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="#[42]">>></a> Main_Menu +<LI><a href="#[37]">>></a> IAP_JumpTo </UL> -<P><STRONG><a name="[2a]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) -<BR><BR>[Calls]<UL><LI><a href="#[2b]">>></a> __main_after_scatterload -</UL> -<BR>[Called By]<UL><LI><a href="#[29]">>></a> _main_scatterload +<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 </UL> -<P><STRONG><a name="[72]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) +<P><STRONG><a name="[95]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) -<P><STRONG><a name="[73]"></a>__decompress</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl.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="[74]"></a>__decompress0</STRONG> (Thumb, 58 bytes, Stack size unknown bytes, __dczerorl.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="[6]"></a>BOD_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, mk_misc.o(.text.BOD_IRQHandler)) +<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 +</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 +</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 +</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="[99]"></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="[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) </UL> -<P><STRONG><a name="[20]"></a>CALIB_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, mk_calib.o(.text.CALIB_IRQHandler)) +<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="[42]"></a>Cal_CRC16</STRONG> (Thumb, 308 bytes, Stack size 24 bytes, ymodem.o(.text.Cal_CRC16)) -<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = Cal_CRC16 +<P><STRONG><a name="[34]"></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>[Called By]<UL><LI><a href="#[3c]">>></a> Ymodem_Receive +<BR>[Calls]<UL><LI><a href="#[35]">>></a> UpdateCRC16 +</UL> +<BR>[Called By]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive </UL> -<P><STRONG><a name="[c]"></a>DMA_IRQHandler</STRONG> (Thumb, 112 bytes, Stack size 24 bytes, mk_dma.o(.text.DMA_IRQHandler)) +<P><STRONG><a name="[26]"></a>CalcCols</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, aes.o(.text.CalcCols)) +<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = CalcCols +</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)) +<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = CalcPowLog +</UL> +<BR>[Called By]<UL><LI><a href="#[51]">>></a> aesDecInit +</UL> + +<P><STRONG><a name="[57]"></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 +</UL> + +<P><STRONG><a name="[58]"></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 +</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 +<LI><a href="#[36]">>></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)) <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = DMA_IRQHandler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[7]"></a>ACMP0_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) -<BR><BR>[Calls]<UL><LI><a href="#[7]">>></a> ACMP0_IRQHandler +<P><STRONG><a name="[8]"></a>ACMP0_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<BR><BR>[Calls]<UL><LI><a href="#[8]">>></a> ACMP0_IRQHandler </UL> -<BR>[Called By]<UL><LI><a href="#[7]">>></a> ACMP0_IRQHandler +<BR>[Called By]<UL><LI><a href="#[8]">>></a> ACMP0_IRQHandler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[8]"></a>ACMP1_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[9]"></a>ACMP1_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="[f]"></a>ADC_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[10]"></a>ADC_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="[e]"></a>AES_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<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="[75]"></a>Default_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler), UNUSED) +<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="[2]"></a>HardFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<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) </UL> -<P><STRONG><a name="[1b]"></a>I2C0_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[1c]"></a>I2C0_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="[12]"></a>LSP_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[13]"></a>LSP_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="[a]"></a>MAC_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[b]"></a>MAC_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="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[2]"></a>NMI_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) </UL> -<P><STRONG><a name="[b]"></a>PHY_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[c]"></a>PHY_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="[23]"></a>PHY_TIMER_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[24]"></a>PHY_TIMER_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="[16]"></a>PWM_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[17]"></a>PWM_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="[4]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[5]"></a>PendSV_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) </UL> -<P><STRONG><a name="[21]"></a>RCO32K_CAL_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[22]"></a>RCO32K_CAL_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="[14]"></a>RTC_ALARM_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[15]"></a>RTC_ALARM_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="[15]"></a>RTC_TICK_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[16]"></a>RTC_TICK_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="[1c]"></a>SPI0_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[1d]"></a>SPI0_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="[1d]"></a>SPI1_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[1e]"></a>SPI1_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="[3]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[4]"></a>SVC_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) </UL> -<P><STRONG><a name="[17]"></a>TIMER0_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[18]"></a>TIMER0_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="[18]"></a>TIMER1_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[19]"></a>TIMER1_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="[10]"></a>TRNG_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[11]"></a>TRNG_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="[22]"></a>WAKEUP_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Default_Handler)) +<P><STRONG><a name="[23]"></a>WAKEUP_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="[11]"></a>FLASH_CTRL_IRQHandler</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, mk_flash.o(.text.FLASH_CTRL_IRQHandler)) +<P><STRONG><a name="[12]"></a>FLASH_CTRL_IRQHandler</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, mk_flash.o(.text.FLASH_CTRL_IRQHandler)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = FLASH_CTRL_IRQHandler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[d]"></a>GPIO_IRQHandler</STRONG> (Thumb, 380 bytes, Stack size 24 bytes, mk_gpio.o(.text.GPIO_IRQHandler)) +<P><STRONG><a name="[e]"></a>GPIO_IRQHandler</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, mk_gpio.o(.text.GPIO_IRQHandler)) <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = GPIO_IRQHandler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[2c]"></a>IAP_JumpTo</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, menu.o(.text.IAP_JumpTo)) +<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="#[2d]">>></a> __aeabi_memcpy8 +<BR>[Calls]<UL><LI><a href="#[38]">>></a> __aeabi_memcpy8 </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[2e]"></a>Int2Str</STRONG> (Thumb, 464 bytes, Stack size 40 bytes, menu.o(.text.Int2Str)) -<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = Int2Str ⇒ __aeabi_uidivmod +<P><STRONG><a name="[39]"></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="#[30]">>></a> __aeabi_uidivmod -<LI><a href="#[2f]">>></a> __aeabi_uidiv +<BR>[Calls]<UL><LI><a href="#[3a]">>></a> __aeabi_uidiv </UL> -<BR>[Called By]<UL><LI><a href="#[34]">>></a> SerialDownload +<BR>[Called By]<UL><LI><a href="#[43]">>></a> SerialDownload </UL> -<P><STRONG><a name="[31]"></a>InvCipher</STRONG> (Thumb, 640 bytes, Stack size 56 bytes, aes.o(.text.InvCipher)) -<BR><BR>[Stack]<UL><LI>Max Depth = 116<LI>Call Chain = InvCipher ⇒ InvMixColumn +<P><STRONG><a name="[3b]"></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="#[32]">>></a> InvMixColumn +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[44]">>></a> aesDecrypt +<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt </UL> -<P><STRONG><a name="[32]"></a>InvMixColumn</STRONG> (Thumb, 256 bytes, Stack size 60 bytes, aes.o(.text.InvMixColumn)) -<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = InvMixColumn +<P><STRONG><a name="[3f]"></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="#[31]">>></a> InvCipher +<BR>[Called By]<UL><LI><a href="#[3b]">>></a> InvCipher </UL> -<P><STRONG><a name="[46]"></a>KeyExpansion</STRONG> (Thumb, 356 bytes, Stack size 60 bytes, aes.o(.text.KeyExpansion)) -<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = KeyExpansion -</UL> -<BR>[Called By]<UL><LI><a href="#[40]">>></a> aesDecInit +<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 </UL> -<P><STRONG><a name="[33]"></a>Main_Menu</STRONG> (Thumb, 128 bytes, Stack size 24 bytes, menu.o(.text.Main_Menu)) -<BR><BR>[Stack]<UL><LI>Max Depth = 304<LI>Call Chain = Main_Menu ⇒ SerialDownload ⇒ Ymodem_Receive ⇒ flash_write_nbytes ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[3e]"></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>[Calls]<UL><LI><a href="#[37]">>></a> flash_write_nbytes -<LI><a href="#[36]">>></a> flash_erase -<LI><a href="#[35]">>></a> delay_us -<LI><a href="#[2d]">>></a> __aeabi_memcpy8 -<LI><a href="#[34]">>></a> SerialDownload -</UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[3b]">>></a> InvCipher </UL> -<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, startup_mk800x.o(.text.Reset_Handler)) -<BR><BR>[Calls]<UL><LI><a href="#[39]">>></a> start_main_asm -<LI><a href="#[38]">>></a> SystemInit +<P><STRONG><a name="[40]"></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 +</UL> +<BR>[Called By]<UL><LI><a href="#[51]">>></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 +</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 +</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)) +<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Receive_Byte +</UL> +<BR>[Calls]<UL><LI><a href="#[49]">>></a> SerialKeyPressed +</UL> +<BR>[Called By]<UL><LI><a href="#[4e]">>></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 </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[9]"></a>SLEEP_TIMER_IRQHandler</STRONG> (Thumb, 60 bytes, Stack size 8 bytes, mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)) +<P><STRONG><a name="[a]"></a>SLEEP_TIMER_IRQHandler</STRONG> (Thumb, 60 bytes, Stack size 8 bytes, mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SLEEP_TIMER_IRQHandler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[3a]"></a>Send_Byte</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, ymodem.o(.text.Send_Byte)) -<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = Send_Byte ⇒ SerialPutChar ⇒ uart_send ⇒ dma_transfer +<P><STRONG><a name="[4c]"></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="#[3b]">>></a> SerialPutChar +<BR>[Calls]<UL><LI><a href="#[4d]">>></a> SerialPutChar </UL> -<BR>[Called By]<UL><LI><a href="#[34]">>></a> SerialDownload +<BR>[Called By]<UL><LI><a href="#[43]">>></a> SerialDownload </UL> -<P><STRONG><a name="[34]"></a>SerialDownload</STRONG> (Thumb, 168 bytes, Stack size 32 bytes, menu.o(.text.SerialDownload)) -<BR><BR>[Stack]<UL><LI>Max Depth = 280<LI>Call Chain = SerialDownload ⇒ Ymodem_Receive ⇒ flash_write_nbytes ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[43]"></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="#[3d]">>></a> Serial_PutString -<LI><a href="#[3c]">>></a> Ymodem_Receive -<LI><a href="#[3a]">>></a> Send_Byte -<LI><a href="#[2e]">>></a> Int2Str +<BR>[Calls]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive +<LI><a href="#[4c]">>></a> Send_Byte +<LI><a href="#[39]">>></a> Int2Str </UL> -<BR>[Called By]<UL><LI><a href="#[33]">>></a> Main_Menu +<BR>[Called By]<UL><LI><a href="#[42]">>></a> Main_Menu </UL> -<P><STRONG><a name="[41]"></a>SerialKeyPressed</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, mk_uart.o(.text.SerialKeyPressed)) -<BR><BR>[Called By]<UL><LI><a href="#[3c]">>></a> Ymodem_Receive +<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 </UL> -<P><STRONG><a name="[3b]"></a>SerialPutChar</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, mk_uart.o(.text.SerialPutChar)) -<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = SerialPutChar ⇒ uart_send ⇒ dma_transfer +<P><STRONG><a name="[4d]"></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="#[3e]">>></a> uart_send +<BR>[Calls]<UL><LI><a href="#[4f]">>></a> uart_send </UL> -<BR>[Called By]<UL><LI><a href="#[3c]">>></a> Ymodem_Receive -<LI><a href="#[3a]">>></a> Send_Byte +<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 </UL> -<P><STRONG><a name="[3d]"></a>Serial_PutString</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, mk_uart.o(.text.Serial_PutString)) -<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = Serial_PutString ⇒ uart_send ⇒ dma_transfer +<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="#[3e]">>></a> uart_send +<BR>[Calls]<UL><LI><a href="#[4d]">>></a> SerialPutChar </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main -<LI><a href="#[34]">>></a> SerialDownload +<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)) +<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Str2Int +</UL> +<BR>[Called By]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive </UL> -<P><STRONG><a name="[45]"></a>Str2Int</STRONG> (Thumb, 1330 bytes, Stack size 20 bytes, ymodem.o(.text.Str2Int)) -<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = Str2Int +<P><STRONG><a name="[41]"></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="#[3c]">>></a> Ymodem_Receive +<BR>[Called By]<UL><LI><a href="#[40]">>></a> KeyExpansion </UL> -<P><STRONG><a name="[5]"></a>SysTick_Handler</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, mk_misc.o(.text.SysTick_Handler)) +<P><STRONG><a name="[6]"></a>SysTick_Handler</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, mk_misc.o(.text.SysTick_Handler)) <BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SysTick_Handler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[38]"></a>SystemInit</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, system_mk800x.o(.text.SystemInit)) -<BR><BR>[Called By]<UL><LI><a href="#[0]">>></a> Reset_Handler +<P><STRONG><a name="[4a]"></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> -<P><STRONG><a name="[19]"></a>TIMER2_IRQHandler</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, mk_dual_timer.o(.text.TIMER2_IRQHandler)) +<P><STRONG><a name="[1a]"></a>TIMER2_IRQHandler</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, mk_dual_timer.o(.text.TIMER2_IRQHandler)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIMER2_IRQHandler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[1a]"></a>TIMER3_IRQHandler</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, mk_dual_timer.o(.text.TIMER3_IRQHandler)) +<P><STRONG><a name="[1b]"></a>TIMER3_IRQHandler</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, mk_dual_timer.o(.text.TIMER3_IRQHandler)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIMER3_IRQHandler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[1e]"></a>UART0_IRQHandler</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, mk_uart.o(.text.UART0_IRQHandler)) -<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = UART0_IRQHandler ⇒ uart_irq_handler +<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="#[3f]">>></a> uart_irq_handler +<BR>[Calls]<UL><LI><a href="#[50]">>></a> uart_irq_handler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[1f]"></a>UART1_IRQHandler</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, mk_uart.o(.text.UART1_IRQHandler)) -<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = UART1_IRQHandler ⇒ uart_irq_handler +<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="#[3f]">>></a> uart_irq_handler +<BR>[Calls]<UL><LI><a href="#[50]">>></a> uart_irq_handler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[13]"></a>WDT_IRQHandler</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, mk_wdt.o(.text.WDT_IRQHandler)) +<P><STRONG><a name="[35]"></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 +</UL> + +<P><STRONG><a name="[14]"></a>WDT_IRQHandler</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, mk_wdt.o(.text.WDT_IRQHandler)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = WDT_IRQHandler </UL> <BR>[Address Reference Count : 1]<UL><LI> startup_mk800x.o(RESET) </UL> -<P><STRONG><a name="[3c]"></a>Ymodem_Receive</STRONG> (Thumb, 812 bytes, Stack size 32 bytes, ymodem.o(.text.Ymodem_Receive)) -<BR><BR>[Stack]<UL><LI>Max Depth = 248<LI>Call Chain = Ymodem_Receive ⇒ flash_write_nbytes ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[3c]"></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>[Calls]<UL><LI><a href="#[44]">>></a> aesDecrypt -<LI><a href="#[40]">>></a> aesDecInit -<LI><a href="#[3b]">>></a> SerialPutChar -<LI><a href="#[41]">>></a> SerialKeyPressed -<LI><a href="#[37]">>></a> flash_write_nbytes -<LI><a href="#[36]">>></a> flash_erase -<LI><a href="#[43]">>></a> __aeabi_memcpy -<LI><a href="#[45]">>></a> Str2Int -<LI><a href="#[42]">>></a> Cal_CRC16 -</UL> -<BR>[Called By]<UL><LI><a href="#[34]">>></a> SerialDownload +<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt +<LI><a href="#[40]">>></a> KeyExpansion +<LI><a href="#[3b]">>></a> InvCipher </UL> -<P><STRONG><a name="[40]"></a>aesDecInit</STRONG> (Thumb, 196 bytes, Stack size 24 bytes, aes.o(.text.aesDecInit)) -<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = aesDecInit ⇒ KeyExpansion +<P><STRONG><a name="[4e]"></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="#[46]">>></a> KeyExpansion +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[44]">>></a> aesDecrypt -<LI><a href="#[24]">>></a> main -<LI><a href="#[3c]">>></a> Ymodem_Receive +<BR>[Called By]<UL><LI><a href="#[43]">>></a> SerialDownload </UL> -<P><STRONG><a name="[44]"></a>aesDecrypt</STRONG> (Thumb, 308 bytes, Stack size 40 bytes, aes.o(.text.aesDecrypt)) -<BR><BR>[Stack]<UL><LI>Max Depth = 156<LI>Call Chain = aesDecrypt ⇒ InvCipher ⇒ InvMixColumn +<P><STRONG><a name="[51]"></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> aesDecInit -<LI><a href="#[31]">>></a> InvCipher +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main -<LI><a href="#[3c]">>></a> Ymodem_Receive +<BR>[Called By]<UL><LI><a href="#[54]">>></a> aesDecrypt +<LI><a href="#[25]">>></a> main +<LI><a href="#[4e]">>></a> Ymodem_Receive </UL> -<P><STRONG><a name="[47]"></a>board_clock_run</STRONG> (Thumb, 104 bytes, Stack size 16 bytes, board.o(.text.board_clock_run)) -<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = board_clock_run ⇒ sys_timer_open ⇒ dual_timer_open +<P><STRONG><a name="[54]"></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="#[4d]">>></a> clock_set_divider -<LI><a href="#[48]">>></a> clock_attach -<LI><a href="#[35]">>></a> delay_us -<LI><a href="#[4a]">>></a> calib_start -<LI><a href="#[49]">>></a> calib_open -<LI><a href="#[4c]">>></a> calib_close -<LI><a href="#[4b]">>></a> calib_check -<LI><a href="#[4f]">>></a> sys_timer_open -<LI><a href="#[4e]">>></a> sys_tick_start +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +<LI><a href="#[4e]">>></a> Ymodem_Receive </UL> -<P><STRONG><a name="[66]"></a>board_configure</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, board.o(.text.board_configure)) -<BR><BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<P><STRONG><a name="[59]"></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 +</UL> +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[50]"></a>board_pins_config</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, pin_config.o(.text.board_pins_config)) -<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = board_pins_config -</UL> -<BR>[Calls]<UL><LI><a href="#[51]">>></a> io_pin_mux_set -</UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<P><STRONG><a name="[85]"></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="[4b]"></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="#[47]">>></a> board_clock_run +<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 +</UL> +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[52]"></a>calib_chip</STRONG> (Thumb, 296 bytes, Stack size 16 bytes, mk_calib.o(.text.calib_chip)) +<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 +</UL> + +<P><STRONG><a name="[62]"></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="#[53]">>></a> clock_enable -<LI><a href="#[54]">>></a> mk_chip_id +<BR>[Calls]<UL><LI><a href="#[63]">>></a> clock_enable +<LI><a href="#[64]">>></a> mk_chip_id </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[4c]"></a>calib_close</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, mk_calib.o(.text.calib_close)) +<P><STRONG><a name="[5e]"></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="#[55]">>></a> clock_disable +<BR>[Calls]<UL><LI><a href="#[65]">>></a> clock_disable </UL> -<BR>[Called By]<UL><LI><a href="#[47]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run </UL> -<P><STRONG><a name="[49]"></a>calib_open</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_calib.o(.text.calib_open)) +<P><STRONG><a name="[5b]"></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="#[56]">>></a> reset_module -<LI><a href="#[53]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module +<LI><a href="#[63]">>></a> clock_enable </UL> -<BR>[Called By]<UL><LI><a href="#[47]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run </UL> -<P><STRONG><a name="[4a]"></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="#[47]">>></a> board_clock_run +<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 </UL> -<P><STRONG><a name="[48]"></a>clock_attach</STRONG> (Thumb, 240 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_attach)) -<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = clock_attach +<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>[Called By]<UL><LI><a href="#[47]">>></a> board_clock_run +<BR>[Calls]<UL><LI><a href="#[67]">>></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 </UL> -<P><STRONG><a name="[55]"></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="#[65]">>></a> wdt_close -<LI><a href="#[4c]">>></a> calib_close +<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 </UL> -<P><STRONG><a name="[53]"></a>clock_enable</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_enable)) -<BR><BR>[Called By]<UL><LI><a href="#[58]">>></a> dma_open -<LI><a href="#[67]">>></a> uart_open -<LI><a href="#[61]">>></a> flash_open -<LI><a href="#[49]">>></a> calib_open -<LI><a href="#[52]">>></a> calib_chip -<LI><a href="#[64]">>></a> gpio_open -<LI><a href="#[59]">>></a> dual_timer_open +<P><STRONG><a name="[6b]"></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 +</UL> +<BR>[Called By]<UL><LI><a href="#[61]">>></a> sys_timer_open </UL> -<P><STRONG><a name="[6a]"></a>clock_get_frequency</STRONG> (Thumb, 272 bytes, Stack size 8 bytes, mk_clock.o(.text.clock_get_frequency)) -<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = clock_get_frequency -</UL> -<BR>[Called By]<UL><LI><a href="#[4f]">>></a> sys_timer_open +<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 </UL> -<P><STRONG><a name="[4d]"></a>clock_set_divider</STRONG> (Thumb, 100 bytes, Stack size 0 bytes, mk_clock.o(.text.clock_set_divider)) -<BR><BR>[Called By]<UL><LI><a href="#[67]">>></a> uart_open -<LI><a href="#[61]">>></a> flash_open -<LI><a href="#[47]">>></a> board_clock_run +<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)) +<BR><BR>[Called By]<UL><LI><a href="#[28]">>></a> clock_attach </UL> -<P><STRONG><a name="[57]"></a>delay_ms</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, menu.o(.text.delay_ms)) +<P><STRONG><a name="[46]"></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="#[35]">>></a> delay_us +<BR>[Calls]<UL><LI><a href="#[5a]">>></a> delay_us </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +<LI><a href="#[42]">>></a> Main_Menu </UL> -<P><STRONG><a name="[35]"></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="#[67]">>></a> uart_open -<LI><a href="#[61]">>></a> flash_open -<LI><a href="#[5d]">>></a> flash_wait_done -<LI><a href="#[26]">>></a> flash_dma_write_nbytes_callback -<LI><a href="#[47]">>></a> board_clock_run -<LI><a href="#[57]">>></a> delay_ms -<LI><a href="#[33]">>></a> Main_Menu +<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 </UL> -<P><STRONG><a name="[58]"></a>dma_open</STRONG> (Thumb, 224 bytes, Stack size 24 bytes, mk_dma.o(.text.dma_open)) +<P><STRONG><a name="[6c]"></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="#[56]">>></a> reset_module -<LI><a href="#[53]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module +<LI><a href="#[63]">>></a> clock_enable </UL> -<BR>[Called By]<UL><LI><a href="#[3e]">>></a> uart_send -<LI><a href="#[37]">>></a> flash_write_nbytes -<LI><a href="#[63]">>></a> flash_write -<LI><a href="#[62]">>></a> flash_read +<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 </UL> -<P><STRONG><a name="[5f]"></a>dma_transfer</STRONG> (Thumb, 80 bytes, Stack size 24 bytes, mk_dma.o(.text.dma_transfer)) +<P><STRONG><a name="[76]"></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="#[3e]">>></a> uart_send -<LI><a href="#[37]">>></a> flash_write_nbytes -<LI><a href="#[63]">>></a> flash_write -<LI><a href="#[62]">>></a> flash_read -<LI><a href="#[26]">>></a> flash_dma_write_nbytes_callback -<LI><a href="#[25]">>></a> flash_dma_callback +<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 </UL> -<P><STRONG><a name="[68]"></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="#[5b]">>></a> sys_timer_get +<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 </UL> -<P><STRONG><a name="[59]"></a>dual_timer_open</STRONG> (Thumb, 208 bytes, Stack size 24 bytes, mk_dual_timer.o(.text.dual_timer_open)) +<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)) <BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = dual_timer_open </UL> -<BR>[Calls]<UL><LI><a href="#[53]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[63]">>></a> clock_enable </UL> -<BR>[Called By]<UL><LI><a href="#[4f]">>></a> sys_timer_open +<BR>[Called By]<UL><LI><a href="#[61]">>></a> sys_timer_open </UL> -<P><STRONG><a name="[69]"></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="#[4f]">>></a> sys_timer_open +<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 </UL> -<P><STRONG><a name="[5a]"></a>flash_block_erase</STRONG> (Thumb, 308 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_block_erase)) -<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = flash_block_erase ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[6e]"></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="#[5b]">>></a> sys_timer_get -<LI><a href="#[5c]">>></a> flash_write_cmd -<LI><a href="#[5d]">>></a> flash_wait_done -<LI><a href="#[2f]">>></a> __aeabi_uidiv +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[36]">>></a> flash_erase +<BR>[Called By]<UL><LI><a href="#[44]">>></a> flash_erase </UL> -<P><STRONG><a name="[5e]"></a>flash_check_busy</STRONG> (Thumb, 244 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_check_busy)) -<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = flash_check_busy ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[74]"></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="#[5b]">>></a> sys_timer_get -<LI><a href="#[5c]">>></a> flash_write_cmd +<BR>[Calls]<UL><LI><a href="#[73]">>></a> flash_write_mem_cmd +<LI><a href="#[75]">>></a> flash_read_status </UL> -<BR>[Called By]<UL><LI><a href="#[36]">>></a> flash_erase -<LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[44]">>></a> flash_erase +<LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[36]"></a>flash_erase</STRONG> (Thumb, 336 bytes, Stack size 48 bytes, mk_flash.o(.text.flash_erase)) -<BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = flash_erase ⇒ flash_sector_erase ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[44]"></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="#[60]">>></a> flash_sector_erase -<LI><a href="#[5e]">>></a> flash_check_busy -<LI><a href="#[5a]">>></a> flash_block_erase -<LI><a href="#[30]">>></a> __aeabi_uidivmod -<LI><a href="#[2f]">>></a> __aeabi_uidiv +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main -<LI><a href="#[3c]">>></a> Ymodem_Receive -<LI><a href="#[33]">>></a> Main_Menu +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +<LI><a href="#[4e]">>></a> Ymodem_Receive +<LI><a href="#[42]">>></a> Main_Menu </UL> -<P><STRONG><a name="[61]"></a>flash_open</STRONG> (Thumb, 664 bytes, Stack size 40 bytes, mk_flash.o(.text.flash_open)) -<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = flash_open ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[7a]"></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="#[56]">>></a> reset_module -<LI><a href="#[4d]">>></a> clock_set_divider -<LI><a href="#[53]">>></a> clock_enable -<LI><a href="#[5b]">>></a> sys_timer_get -<LI><a href="#[35]">>></a> delay_us -<LI><a href="#[5c]">>></a> flash_write_cmd -<LI><a href="#[5d]">>></a> flash_wait_done -<LI><a href="#[2f]">>></a> __aeabi_uidiv +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[62]"></a>flash_read</STRONG> (Thumb, 592 bytes, Stack size 96 bytes, mk_flash.o(.text.flash_read)) -<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = flash_read ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[7e]"></a>flash_read</STRONG> (Thumb, 380 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="#[5f]">>></a> dma_transfer -<LI><a href="#[58]">>></a> dma_open -<LI><a href="#[5b]">>></a> sys_timer_get -<LI><a href="#[5c]">>></a> flash_write_cmd -<LI><a href="#[2f]">>></a> __aeabi_uidiv +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[60]"></a>flash_sector_erase</STRONG> (Thumb, 312 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_sector_erase)) -<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = flash_sector_erase ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[79]"></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="#[5b]">>></a> sys_timer_get -<LI><a href="#[5c]">>></a> flash_write_cmd -<LI><a href="#[5d]">>></a> flash_wait_done -<LI><a href="#[2f]">>></a> __aeabi_uidiv +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[36]">>></a> flash_erase +<BR>[Called By]<UL><LI><a href="#[44]">>></a> flash_erase </UL> -<P><STRONG><a name="[63]"></a>flash_write</STRONG> (Thumb, 572 bytes, Stack size 104 bytes, mk_flash.o(.text.flash_write)) -<BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = flash_write ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<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="#[5f]">>></a> dma_transfer -<LI><a href="#[58]">>></a> dma_open -<LI><a href="#[5b]">>></a> sys_timer_get -<LI><a href="#[5c]">>></a> flash_write_cmd -<LI><a href="#[5d]">>></a> flash_wait_done -<LI><a href="#[30]">>></a> __aeabi_uidivmod -<LI><a href="#[2f]">>></a> __aeabi_uidiv +<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="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[37]"></a>flash_write_nbytes</STRONG> (Thumb, 1980 bytes, Stack size 136 bytes, mk_flash.o(.text.flash_write_nbytes)) -<BR><BR>[Stack]<UL><LI>Max Depth = 216<LI>Call Chain = flash_write_nbytes ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[45]"></a>flash_write_nbytes</STRONG> (Thumb, 548 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="#[5f]">>></a> dma_transfer -<LI><a href="#[58]">>></a> dma_open -<LI><a href="#[5b]">>></a> sys_timer_get -<LI><a href="#[5c]">>></a> flash_write_cmd -<LI><a href="#[5d]">>></a> flash_wait_done -<LI><a href="#[2f]">>></a> __aeabi_uidiv +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[3c]">>></a> Ymodem_Receive -<LI><a href="#[33]">>></a> Main_Menu +<BR>[Called By]<UL><LI><a href="#[4e]">>></a> Ymodem_Receive +<LI><a href="#[42]">>></a> Main_Menu </UL> -<P><STRONG><a name="[64]"></a>gpio_open</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, mk_gpio.o(.text.gpio_open)) +<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 </UL> -<BR>[Calls]<UL><LI><a href="#[56]">>></a> reset_module -<LI><a href="#[53]">>></a> clock_enable +<BR>[Calls]<UL><LI><a href="#[66]">>></a> reset_module +<LI><a href="#[63]">>></a> clock_enable </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[51]"></a>io_pin_mux_set</STRONG> (Thumb, 80 bytes, Stack size 0 bytes, mk_io.o(.text.io_pin_mux_set)) -<BR><BR>[Called By]<UL><LI><a href="#[50]">>></a> board_pins_config +<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="[24]"></a>main</STRONG> (Thumb, 536 bytes, Stack size 48 bytes, customboot.o(.text.main)) -<BR><BR>[Stack]<UL><LI>Max Depth = 352<LI>Call Chain = main ⇒ Main_Menu ⇒ SerialDownload ⇒ Ymodem_Receive ⇒ flash_write_nbytes ⇒ flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<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 </UL> -<BR>[Calls]<UL><LI><a href="#[44]">>></a> aesDecrypt -<LI><a href="#[40]">>></a> aesDecInit -<LI><a href="#[67]">>></a> uart_open -<LI><a href="#[3d]">>></a> Serial_PutString -<LI><a href="#[63]">>></a> flash_write -<LI><a href="#[62]">>></a> flash_read -<LI><a href="#[61]">>></a> flash_open -<LI><a href="#[36]">>></a> flash_erase -<LI><a href="#[5e]">>></a> flash_check_busy -<LI><a href="#[65]">>></a> wdt_close -<LI><a href="#[52]">>></a> calib_chip -<LI><a href="#[64]">>></a> gpio_open -<LI><a href="#[2d]">>></a> __aeabi_memcpy8 -<LI><a href="#[50]">>></a> board_pins_config -<LI><a href="#[66]">>></a> board_configure -<LI><a href="#[47]">>></a> board_clock_run -<LI><a href="#[57]">>></a> delay_ms -<LI><a href="#[33]">>></a> Main_Menu -<LI><a href="#[2c]">>></a> IAP_JumpTo +<BR>[Calls]<UL><LI><a href="#[54]">>></a> aesDecrypt +<LI><a href="#[51]">>></a> aesDecInit +<LI><a href="#[86]">>></a> uart_open +<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 </UL> <BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B) </UL> -<P><STRONG><a name="[54]"></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="#[52]">>></a> calib_chip +<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 </UL> -<P><STRONG><a name="[56]"></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="#[58]">>></a> dma_open -<LI><a href="#[67]">>></a> uart_open -<LI><a href="#[61]">>></a> flash_open -<LI><a href="#[49]">>></a> calib_open -<LI><a href="#[64]">>></a> gpio_open +<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 </UL> -<P><STRONG><a name="[39]"></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="#[0]">>></a> Reset_Handler +<P><STRONG><a name="[4b]"></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="[4e]"></a>sys_tick_start</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, mk_misc.o(.text.sys_tick_start)) +<P><STRONG><a name="[60]"></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="#[47]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run </UL> -<P><STRONG><a name="[5b]"></a>sys_timer_get</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, mk_misc.o(.text.sys_timer_get)) +<P><STRONG><a name="[7f]"></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="#[68]">>></a> dual_timer_get +<BR>[Calls]<UL><LI><a href="#[88]">>></a> dual_timer_get </UL> -<BR>[Called By]<UL><LI><a href="#[37]">>></a> flash_write_nbytes -<LI><a href="#[63]">>></a> flash_write -<LI><a href="#[60]">>></a> flash_sector_erase -<LI><a href="#[62]">>></a> flash_read -<LI><a href="#[61]">>></a> flash_open -<LI><a href="#[5e]">>></a> flash_check_busy -<LI><a href="#[5a]">>></a> flash_block_erase -<LI><a href="#[5c]">>></a> flash_write_cmd -<LI><a href="#[5d]">>></a> flash_wait_done -<LI><a href="#[26]">>></a> flash_dma_write_nbytes_callback -<LI><a href="#[25]">>></a> flash_dma_callback +<BR>[Called By]<UL><LI><a href="#[7b]">>></a> flash_wait_status +<LI><a href="#[72]">>></a> flash_wait_done </UL> -<P><STRONG><a name="[4f]"></a>sys_timer_open</STRONG> (Thumb, 80 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 ⇒ dual_timer_open +<P><STRONG><a name="[61]"></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="#[6a]">>></a> clock_get_frequency -<LI><a href="#[69]">>></a> dual_timer_start -<LI><a href="#[59]">>></a> dual_timer_open +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[47]">>></a> board_clock_run +<BR>[Called By]<UL><LI><a href="#[59]">>></a> board_clock_run </UL> -<P><STRONG><a name="[3f]"></a>uart_irq_handler</STRONG> (Thumb, 536 bytes, Stack size 32 bytes, mk_uart.o(.text.uart_irq_handler)) -<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = uart_irq_handler +<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>[Called By]<UL><LI><a href="#[1f]">>></a> UART1_IRQHandler -<LI><a href="#[1e]">>></a> UART0_IRQHandler +<BR>[Calls]<UL><LI><a href="#[5f]">>></a> clock_set_divider +<LI><a href="#[5a]">>></a> delay_us +</UL> +<BR>[Called By]<UL><LI><a href="#[86]">>></a> uart_open </UL> -<P><STRONG><a name="[67]"></a>uart_open</STRONG> (Thumb, 396 bytes, Stack size 40 bytes, mk_uart.o(.text.uart_open)) -<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = uart_open +<P><STRONG><a name="[50]"></a>uart_irq_handler</STRONG> (Thumb, 372 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="#[56]">>></a> reset_module -<LI><a href="#[4d]">>></a> clock_set_divider -<LI><a href="#[53]">>></a> clock_enable -<LI><a href="#[35]">>></a> delay_us +<BR>[Calls]<UL><LI><a href="#[8b]">>></a> uart_state_clear </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[20]">>></a> UART1_IRQHandler +<LI><a href="#[1f]">>></a> UART0_IRQHandler </UL> -<P><STRONG><a name="[3e]"></a>uart_send</STRONG> (Thumb, 720 bytes, Stack size 88 bytes, mk_uart.o(.text.uart_send)) -<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = uart_send ⇒ dma_transfer +<P><STRONG><a name="[86]"></a>uart_open</STRONG> (Thumb, 332 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="#[5f]">>></a> dma_transfer -<LI><a href="#[58]">>></a> dma_open +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[3d]">>></a> Serial_PutString -<LI><a href="#[3b]">>></a> SerialPutChar +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[65]"></a>wdt_close</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, mk_wdt.o(.text.wdt_close)) +<P><STRONG><a name="[4f]"></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 +</UL> +<BR>[Called By]<UL><LI><a href="#[4d]">>></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)) <BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = wdt_close </UL> -<BR>[Calls]<UL><LI><a href="#[55]">>></a> clock_disable +<BR>[Calls]<UL><LI><a href="#[65]">>></a> clock_disable </UL> -<BR>[Called By]<UL><LI><a href="#[24]">>></a> main +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main </UL> -<P><STRONG><a name="[76]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) +<P><STRONG><a name="[84]"></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 +</UL> +<BR>[Called By]<UL><LI><a href="#[25]">>></a> main +</UL> -<P><STRONG><a name="[77]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) +<P><STRONG><a name="[52]"></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 +</UL> -<P><STRONG><a name="[78]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) +<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="[9d]"></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> <H3> Local Symbols </H3> -<P><STRONG><a name="[25]"></a>flash_dma_callback</STRONG> (Thumb, 292 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_dma_callback)) -<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = flash_dma_callback ⇒ flash_write_cmd ⇒ sys_timer_get +<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)) +<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = clock_get_ahb_clk_freq </UL> -<BR>[Calls]<UL><LI><a href="#[5f]">>></a> dma_transfer -<LI><a href="#[5b]">>></a> sys_timer_get -<LI><a href="#[5c]">>></a> flash_write_cmd +<BR>[Calls]<UL><LI><a href="#[69]">>></a> clock_get_sys_clk_freq </UL> -<BR>[Address Reference Count : 3]<UL><LI> mk_flash.o(.text.flash_write) +<BR>[Called By]<UL><LI><a href="#[6b]">>></a> clock_get_frequency +<LI><a href="#[6a]">>></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)) +<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 +</UL> +<BR>[Called By]<UL><LI><a href="#[6b]">>></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 +</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 +</UL> +<BR>[Address Reference Count : 2]<UL><LI> mk_flash.o(.text.flash_write) <LI> mk_flash.o(.text.flash_dma_callback) -<LI> mk_flash.o(.text.flash_read) </UL> -<P><STRONG><a name="[26]"></a>flash_dma_write_nbytes_callback</STRONG> (Thumb, 448 bytes, Stack size 24 bytes, mk_flash.o(.text.flash_dma_write_nbytes_callback)) -<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = flash_dma_write_nbytes_callback ⇒ flash_write_cmd ⇒ sys_timer_get +<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="#[5f]">>></a> dma_transfer -<LI><a href="#[5b]">>></a> sys_timer_get -<LI><a href="#[35]">>></a> delay_us -<LI><a href="#[5c]">>></a> flash_write_cmd +<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 </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="[5d]"></a>flash_wait_done</STRONG> (Thumb, 96 bytes, Stack size 32 bytes, mk_flash.o(.text.flash_wait_done)) -<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = flash_wait_done ⇒ flash_write_cmd ⇒ sys_timer_get +<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)) +<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="#[5b]">>></a> sys_timer_get -<LI><a href="#[35]">>></a> delay_us -<LI><a href="#[5c]">>></a> flash_write_cmd +<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 </UL> -<BR>[Called By]<UL><LI><a href="#[37]">>></a> flash_write_nbytes -<LI><a href="#[63]">>></a> flash_write -<LI><a href="#[60]">>></a> flash_sector_erase -<LI><a href="#[61]">>></a> flash_open -<LI><a href="#[5a]">>></a> flash_block_erase +<BR>[Called By]<UL><LI><a href="#[45]">>></a> flash_write_nbytes </UL> -<P><STRONG><a name="[5c]"></a>flash_write_cmd</STRONG> (Thumb, 268 bytes, Stack size 40 bytes, mk_flash.o(.text.flash_write_cmd)) -<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = flash_write_cmd ⇒ sys_timer_get +<P><STRONG><a name="[75]"></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="#[5b]">>></a> sys_timer_get +<BR>[Calls]<UL><LI><a href="#[71]">>></a> flash_write_cmd +<LI><a href="#[7b]">>></a> flash_wait_status </UL> -<BR>[Called By]<UL><LI><a href="#[37]">>></a> flash_write_nbytes -<LI><a href="#[63]">>></a> flash_write -<LI><a href="#[60]">>></a> flash_sector_erase -<LI><a href="#[62]">>></a> flash_read -<LI><a href="#[61]">>></a> flash_open -<LI><a href="#[5e]">>></a> flash_check_busy -<LI><a href="#[5a]">>></a> flash_block_erase -<LI><a href="#[5d]">>></a> flash_wait_done -<LI><a href="#[26]">>></a> flash_dma_write_nbytes_callback -<LI><a href="#[25]">>></a> flash_dma_callback +<BR>[Called By]<UL><LI><a href="#[74]">>></a> flash_check_busy +<LI><a href="#[72]">>></a> flash_wait_done </UL> -<P><STRONG><a name="[28]"></a>uart_dma_callback</STRONG> (Thumb, 292 bytes, Stack size 32 bytes, mk_uart.o(.text.uart_dma_callback)) -<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = uart_dma_callback +<P><STRONG><a name="[70]"></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 +</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 +</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)) +<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 +</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)) +<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 +</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 +</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)) +<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 +</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 +</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)) +<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 +</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 +</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)) +<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 +</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 +</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)) +<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 +</UL> +<BR>[Called By]<UL><LI><a href="#[7a]">>></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)) +<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 +</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 +</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)) +<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 </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)) +<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 +</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 +</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 +</UL> + +<P><STRONG><a name="[87]"></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 +</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> <H3> Undefined Global Symbols -- Gitblit v1.9.3