From 919fd8f2a8fc0dc9f99ff83ab13f46adbc5518b4 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 02 四月 2025 17:08:13 +0800
Subject: [PATCH] 最新boot,测试可以用,支持升级 ota,注意跳转延时不要动

---
 dualboots_Gai_youhua/keil/customboot/Objects/customboot.htm |  863 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 420 insertions(+), 443 deletions(-)

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

--
Gitblit v1.9.3