From ec8d487264ac58ebaa00cf99675528e85c6113d0 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 13 八月 2025 09:56:46 +0800
Subject: [PATCH] boot开发完成

---
 dualboots_Gai_youhua/keil/customboot/Listings/customboot.map | 1463 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 743 insertions(+), 720 deletions(-)

diff --git a/dualboots_Gai_youhua/keil/customboot/Listings/customboot.map b/dualboots_Gai_youhua/keil/customboot/Listings/customboot.map
index ce48653..9009b2b 100644
--- a/dualboots_Gai_youhua/keil/customboot/Listings/customboot.map
+++ b/dualboots_Gai_youhua/keil/customboot/Listings/customboot.map
@@ -33,9 +33,18 @@
     system_mk800x.o(.ARM.exidx.text.SystemInit) refers to system_mk800x.o(.text.SystemInit) for [Anonymous Symbol]
     mk_clock.o(.ARM.exidx.text.clock_enable) refers to mk_clock.o(.text.clock_enable) for [Anonymous Symbol]
     mk_clock.o(.ARM.exidx.text.clock_disable) refers to mk_clock.o(.text.clock_disable) for [Anonymous Symbol]
+    mk_clock.o(.text.clock_attach) refers to mk_clock.o(.text.clock_xtal38m4_injection_set) for clock_xtal38m4_injection_set
     mk_clock.o(.ARM.exidx.text.clock_attach) refers to mk_clock.o(.text.clock_attach) for [Anonymous Symbol]
     mk_clock.o(.ARM.exidx.text.clock_set_divider) refers to mk_clock.o(.text.clock_set_divider) for [Anonymous Symbol]
+    mk_clock.o(.text.clock_get_frequency) refers to mk_clock.o(.text.clock_get_sys_clk_freq) for clock_get_sys_clk_freq
+    mk_clock.o(.text.clock_get_frequency) refers to mk_clock.o(.text.clock_get_ahb_clk_freq) for clock_get_ahb_clk_freq
+    mk_clock.o(.text.clock_get_frequency) refers to mk_clock.o(.text.clock_get_apb_clk_freq) for clock_get_apb_clk_freq
     mk_clock.o(.ARM.exidx.text.clock_get_frequency) refers to mk_clock.o(.text.clock_get_frequency) for [Anonymous Symbol]
+    mk_clock.o(.ARM.exidx.text.clock_get_sys_clk_freq) refers to mk_clock.o(.text.clock_get_sys_clk_freq) for [Anonymous Symbol]
+    mk_clock.o(.text.clock_get_ahb_clk_freq) refers to mk_clock.o(.text.clock_get_sys_clk_freq) for clock_get_sys_clk_freq
+    mk_clock.o(.ARM.exidx.text.clock_get_ahb_clk_freq) refers to mk_clock.o(.text.clock_get_ahb_clk_freq) for [Anonymous Symbol]
+    mk_clock.o(.text.clock_get_apb_clk_freq) refers to mk_clock.o(.text.clock_get_ahb_clk_freq) for clock_get_ahb_clk_freq
+    mk_clock.o(.ARM.exidx.text.clock_get_apb_clk_freq) refers to mk_clock.o(.text.clock_get_apb_clk_freq) for [Anonymous Symbol]
     mk_clock.o(.ARM.exidx.text.clock_xtal38m4_injection_set) refers to mk_clock.o(.text.clock_xtal38m4_injection_set) for [Anonymous Symbol]
     mk_clock.o(.ARM.exidx.text.clock_xtal32k_injection_set) refers to mk_clock.o(.text.clock_xtal32k_injection_set) for [Anonymous Symbol]
     mk_dma.o(.text.dma_open) refers to mk_clock.o(.text.clock_enable) for clock_enable
@@ -57,21 +66,37 @@
     mk_dma.o(.ARM.exidx.text.dma_force_abort) refers to mk_dma.o(.text.dma_force_abort) for [Anonymous Symbol]
     mk_dma.o(.text.DMA_IRQHandler) refers to mk_dma.o(.data.dma_handle) for [Anonymous Symbol]
     mk_dma.o(.ARM.exidx.text.DMA_IRQHandler) refers to mk_dma.o(.text.DMA_IRQHandler) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_open) refers to memcpya.o(.text) for __aeabi_memcpy
     mk_flash.o(.text.flash_open) refers to mk_clock.o(.text.clock_enable) for clock_enable
     mk_flash.o(.text.flash_open) refers to mk_reset.o(.text.reset_module) for reset_module
-    mk_flash.o(.text.flash_open) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
+    mk_flash.o(.text.flash_open) refers to mk_flash.o(.text.flash_reset_cmd) for flash_reset_cmd
     mk_flash.o(.text.flash_open) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
     mk_flash.o(.text.flash_open) refers to mk_misc.o(.text.delay_us) for delay_us
-    mk_flash.o(.text.flash_open) refers to uidiv.o(.text) for __aeabi_uidiv
-    mk_flash.o(.text.flash_open) refers to mk_flash.o(.text.flash_wait_done) for flash_wait_done
+    mk_flash.o(.text.flash_open) refers to mk_flash.o(.text.flash_wait_status) for flash_wait_status
+    mk_flash.o(.text.flash_open) refers to mk_flash.o(.text.flash_write_quad_mode) for flash_write_quad_mode
     mk_flash.o(.text.flash_open) refers to mk_clock.o(.text.clock_set_divider) for clock_set_divider
+    mk_flash.o(.text.flash_open) refers to mk_flash.o(.text.flash_write_mem_cmd) for flash_write_mem_cmd
     mk_flash.o(.text.flash_open) refers to mk_flash.o(.data.flash_handle) for flash_handle
-    mk_flash.o(.text.flash_open) refers to mk_misc.o(.bss.sys_timer_freq) for sys_timer_freq
     mk_flash.o(.ARM.exidx.text.flash_open) refers to mk_flash.o(.text.flash_open) for [Anonymous Symbol]
-    mk_flash.o(.text.flash_write_cmd) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
-    mk_flash.o(.text.flash_write_cmd) refers to mk_flash.o(.data.flash_handle) for flash_handle
+    mk_flash.o(.text.flash_reset_cmd) refers to mk_flash.o(.text.flash_wait_status) for flash_wait_status
+    mk_flash.o(.text.flash_reset_cmd) refers to mk_flash.o(.data.flash_handle) for flash_handle
+    mk_flash.o(.ARM.exidx.text.flash_reset_cmd) refers to mk_flash.o(.text.flash_reset_cmd) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_write_cmd) refers to mk_flash.o(.text.flash_wait_status) for flash_wait_status
     mk_flash.o(.text.flash_write_cmd) refers to mk_flash.o(.rodata.flash_cmd) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_write_cmd) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.ARM.exidx.text.flash_write_cmd) refers to mk_flash.o(.text.flash_write_cmd) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_wait_status) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
+    mk_flash.o(.text.flash_wait_status) refers to mk_flash.o(.data.flash_handle) for flash_handle
+    mk_flash.o(.ARM.exidx.text.flash_wait_status) refers to mk_flash.o(.text.flash_wait_status) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_write_quad_mode) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
+    mk_flash.o(.text.flash_write_quad_mode) refers to uidiv.o(.text) for __aeabi_uidiv
+    mk_flash.o(.text.flash_write_quad_mode) refers to mk_flash.o(.text.flash_wait_done) for flash_wait_done
+    mk_flash.o(.text.flash_write_quad_mode) refers to mk_flash.o(.data.flash_handle) for flash_handle
+    mk_flash.o(.text.flash_write_quad_mode) refers to mk_misc.o(.bss.sys_timer_freq) for sys_timer_freq
+    mk_flash.o(.ARM.exidx.text.flash_write_quad_mode) refers to mk_flash.o(.text.flash_write_quad_mode) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_write_mem_cmd) refers to mk_flash.o(.text.flash_wait_status) for flash_wait_status
+    mk_flash.o(.text.flash_write_mem_cmd) refers to mk_flash.o(.data.flash_handle) for flash_handle
+    mk_flash.o(.ARM.exidx.text.flash_write_mem_cmd) refers to mk_flash.o(.text.flash_write_mem_cmd) for [Anonymous Symbol]
     mk_flash.o(.text.flash_close) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
     mk_flash.o(.text.flash_close) refers to mk_misc.o(.text.delay_us) for delay_us
     mk_flash.o(.text.flash_close) refers to mk_clock.o(.text.clock_disable) for clock_disable
@@ -86,22 +111,27 @@
     mk_flash.o(.text.flash_power_down) refers to mk_misc.o(.text.delay_us) for delay_us
     mk_flash.o(.text.flash_power_down) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.ARM.exidx.text.flash_power_down) refers to mk_flash.o(.text.flash_power_down) for [Anonymous Symbol]
-    mk_flash.o(.text.flash_sector_erase) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
+    mk_flash.o(.text.flash_sector_erase) refers to mk_flash.o(.text.flash_state_update) for flash_state_update
+    mk_flash.o(.text.flash_sector_erase) refers to mk_flash.o(.text.flash_reset_cmd) for flash_reset_cmd
     mk_flash.o(.text.flash_sector_erase) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
     mk_flash.o(.text.flash_sector_erase) refers to uidiv.o(.text) for __aeabi_uidiv
     mk_flash.o(.text.flash_sector_erase) refers to mk_flash.o(.text.flash_wait_done) for flash_wait_done
+    mk_flash.o(.text.flash_sector_erase) refers to mk_flash.o(.text.flash_write_mem_cmd) for flash_write_mem_cmd
     mk_flash.o(.text.flash_sector_erase) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.text.flash_sector_erase) refers to mk_misc.o(.bss.sys_timer_freq) for sys_timer_freq
     mk_flash.o(.ARM.exidx.text.flash_sector_erase) refers to mk_flash.o(.text.flash_sector_erase) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_state_update) refers to mk_flash.o(.data.flash_handle) for flash_handle
+    mk_flash.o(.ARM.exidx.text.flash_state_update) refers to mk_flash.o(.text.flash_state_update) for [Anonymous Symbol]
     mk_flash.o(.text.flash_wait_done) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
-    mk_flash.o(.text.flash_wait_done) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
+    mk_flash.o(.text.flash_wait_done) refers to mk_flash.o(.text.flash_read_status) for flash_read_status
     mk_flash.o(.text.flash_wait_done) refers to mk_misc.o(.text.delay_us) for delay_us
-    mk_flash.o(.text.flash_wait_done) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.ARM.exidx.text.flash_wait_done) refers to mk_flash.o(.text.flash_wait_done) for [Anonymous Symbol]
-    mk_flash.o(.text.flash_block_erase) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
+    mk_flash.o(.text.flash_block_erase) refers to mk_flash.o(.text.flash_state_update) for flash_state_update
+    mk_flash.o(.text.flash_block_erase) refers to mk_flash.o(.text.flash_reset_cmd) for flash_reset_cmd
     mk_flash.o(.text.flash_block_erase) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
     mk_flash.o(.text.flash_block_erase) refers to uidiv.o(.text) for __aeabi_uidiv
     mk_flash.o(.text.flash_block_erase) refers to mk_flash.o(.text.flash_wait_done) for flash_wait_done
+    mk_flash.o(.text.flash_block_erase) refers to mk_flash.o(.text.flash_write_mem_cmd) for flash_write_mem_cmd
     mk_flash.o(.text.flash_block_erase) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.text.flash_block_erase) refers to mk_misc.o(.bss.sys_timer_freq) for sys_timer_freq
     mk_flash.o(.ARM.exidx.text.flash_block_erase) refers to mk_flash.o(.text.flash_block_erase) for [Anonymous Symbol]
@@ -111,33 +141,49 @@
     mk_flash.o(.text.flash_erase) refers to mk_flash.o(.text.flash_block_erase) for flash_block_erase
     mk_flash.o(.text.flash_erase) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.ARM.exidx.text.flash_erase) refers to mk_flash.o(.text.flash_erase) for [Anonymous Symbol]
-    mk_flash.o(.text.flash_check_busy) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
-    mk_flash.o(.text.flash_check_busy) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
+    mk_flash.o(.text.flash_check_busy) refers to mk_flash.o(.text.flash_read_status) for flash_read_status
+    mk_flash.o(.text.flash_check_busy) refers to mk_flash.o(.text.flash_write_mem_cmd) for flash_write_mem_cmd
     mk_flash.o(.text.flash_check_busy) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.ARM.exidx.text.flash_check_busy) refers to mk_flash.o(.text.flash_check_busy) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_state_update) for flash_state_update
     mk_flash.o(.text.flash_write_nbytes) refers to uidiv.o(.text) for __aeabi_uidiv
-    mk_flash.o(.text.flash_write_nbytes) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
-    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_wait_done) for flash_wait_done
-    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
-    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.data.flash_handle) for flash_handle
-    mk_flash.o(.text.flash_write_nbytes) refers to mk_misc.o(.bss.sys_timer_freq) for sys_timer_freq
+    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_reset_cmd) for flash_reset_cmd
+    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_page_write_nbytes) for flash_page_write_nbytes
+    mk_flash.o(.text.flash_write_nbytes) refers to memcpya.o(.text) for __aeabi_memcpy
     mk_flash.o(.text.flash_write_nbytes) refers to mk_dma.o(.text.dma_open) for dma_open
+    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
+    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_write_variable_len_cmd) for flash_write_variable_len_cmd
     mk_flash.o(.text.flash_write_nbytes) refers to mk_dma.o(.text.dma_transfer) for dma_transfer
+    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_write_mem_cmd) for flash_write_mem_cmd
+    mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.rodata.cst32) for .L__const.flash_write_nbytes.flash_wr_dma_cfg
     mk_flash.o(.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_dma_write_nbytes_callback) for flash_dma_write_nbytes_callback
     mk_flash.o(.ARM.exidx.text.flash_write_nbytes) refers to mk_flash.o(.text.flash_write_nbytes) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_write_variable_len_cmd) refers to mk_flash.o(.text.flash_wait_status) for flash_wait_status
+    mk_flash.o(.text.flash_write_variable_len_cmd) refers to mk_flash.o(.data.flash_handle) for flash_handle
+    mk_flash.o(.ARM.exidx.text.flash_write_variable_len_cmd) refers to mk_flash.o(.text.flash_write_variable_len_cmd) for [Anonymous Symbol]
     mk_flash.o(.text.flash_dma_write_nbytes_callback) refers to mk_misc.o(.text.delay_us) for delay_us
     mk_flash.o(.text.flash_dma_write_nbytes_callback) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
-    mk_flash.o(.text.flash_dma_write_nbytes_callback) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
+    mk_flash.o(.text.flash_dma_write_nbytes_callback) refers to mk_flash.o(.text.flash_write_variable_len_cmd) for flash_write_variable_len_cmd
     mk_flash.o(.text.flash_dma_write_nbytes_callback) refers to mk_dma.o(.text.dma_transfer) for dma_transfer
     mk_flash.o(.text.flash_dma_write_nbytes_callback) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.ARM.exidx.text.flash_dma_write_nbytes_callback) refers to mk_flash.o(.text.flash_dma_write_nbytes_callback) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_page_write_nbytes) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
+    mk_flash.o(.text.flash_page_write_nbytes) refers to mk_flash.o(.text.flash_write_variable_len_cmd) for flash_write_variable_len_cmd
+    mk_flash.o(.text.flash_page_write_nbytes) refers to uidiv.o(.text) for __aeabi_uidiv
+    mk_flash.o(.text.flash_page_write_nbytes) refers to mk_flash.o(.text.flash_wait_done) for flash_wait_done
+    mk_flash.o(.text.flash_page_write_nbytes) refers to mk_flash.o(.data.flash_handle) for flash_handle
+    mk_flash.o(.text.flash_page_write_nbytes) refers to mk_misc.o(.bss.sys_timer_freq) for sys_timer_freq
+    mk_flash.o(.ARM.exidx.text.flash_page_write_nbytes) refers to mk_flash.o(.text.flash_page_write_nbytes) for [Anonymous Symbol]
     mk_flash.o(.text.flash_write) refers to uidiv.o(.text) for __aeabi_uidivmod
-    mk_flash.o(.text.flash_write) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
-    mk_flash.o(.text.flash_write) refers to mk_flash.o(.text.flash_wait_done) for flash_wait_done
+    mk_flash.o(.text.flash_write) refers to mk_flash.o(.text.flash_state_update) for flash_state_update
+    mk_flash.o(.text.flash_write) refers to mk_flash.o(.text.flash_reset_cmd) for flash_reset_cmd
     mk_flash.o(.text.flash_write) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
+    mk_flash.o(.text.flash_write) refers to mk_flash.o(.text.flash_wait_done) for flash_wait_done
+    mk_flash.o(.text.flash_write) refers to memcpya.o(.text) for __aeabi_memcpy
     mk_flash.o(.text.flash_write) refers to mk_dma.o(.text.dma_open) for dma_open
     mk_flash.o(.text.flash_write) refers to mk_dma.o(.text.dma_transfer) for dma_transfer
+    mk_flash.o(.text.flash_write) refers to mk_flash.o(.text.flash_write_mem_cmd) for flash_write_mem_cmd
     mk_flash.o(.text.flash_write) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.text.flash_write) refers to mk_flash.o(.rodata.cst32) for .L__const.flash_write.flash_wr_dma_cfg
     mk_flash.o(.text.flash_write) refers to mk_flash.o(.text.flash_dma_callback) for flash_dma_callback
@@ -145,20 +191,27 @@
     mk_flash.o(.ARM.exidx.text.flash_write) refers to mk_flash.o(.text.flash_write) for [Anonymous Symbol]
     mk_flash.o(.text.flash_dma_callback) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
     mk_flash.o(.text.flash_dma_callback) refers to mk_dma.o(.text.dma_transfer) for dma_transfer
-    mk_flash.o(.text.flash_dma_callback) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
+    mk_flash.o(.text.flash_dma_callback) refers to mk_flash.o(.text.flash_reset_cmd) for flash_reset_cmd
     mk_flash.o(.text.flash_dma_callback) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.ARM.exidx.text.flash_dma_callback) refers to mk_flash.o(.text.flash_dma_callback) for [Anonymous Symbol]
-    mk_flash.o(.text.flash_read) refers to mk_misc.o(.text.sys_timer_get) for sys_timer_get
+    mk_flash.o(.text.flash_read) refers to mk_flash.o(.text.flash_state_update) for flash_state_update
+    mk_flash.o(.text.flash_read) refers to mk_flash.o(.text.flash_reset_cmd) for flash_reset_cmd
     mk_flash.o(.text.flash_read) refers to uidiv.o(.text) for __aeabi_uidiv
     mk_flash.o(.text.flash_read) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
+    mk_flash.o(.text.flash_read) refers to memcpya.o(.text) for __aeabi_memcpy
     mk_flash.o(.text.flash_read) refers to mk_dma.o(.text.dma_open) for dma_open
     mk_flash.o(.text.flash_read) refers to mk_dma.o(.text.dma_transfer) for dma_transfer
+    mk_flash.o(.text.flash_read) refers to mk_flash.o(.text.flash_write_mem_cmd) for flash_write_mem_cmd
     mk_flash.o(.text.flash_read) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.text.flash_read) refers to mk_flash.o(.rodata.cst32) for .L__const.flash_read.flash_rd_dma_cfg
     mk_flash.o(.text.flash_read) refers to mk_flash.o(.text.flash_dma_callback) for flash_dma_callback
     mk_flash.o(.ARM.exidx.text.flash_read) refers to mk_flash.o(.text.flash_read) for [Anonymous Symbol]
     mk_flash.o(.text.FLASH_CTRL_IRQHandler) refers to mk_flash.o(.data.flash_handle) for flash_handle
     mk_flash.o(.ARM.exidx.text.FLASH_CTRL_IRQHandler) refers to mk_flash.o(.text.FLASH_CTRL_IRQHandler) for [Anonymous Symbol]
+    mk_flash.o(.text.flash_read_status) refers to mk_flash.o(.text.flash_write_cmd) for flash_write_cmd
+    mk_flash.o(.text.flash_read_status) refers to mk_flash.o(.text.flash_wait_status) for flash_wait_status
+    mk_flash.o(.text.flash_read_status) refers to mk_flash.o(.data.flash_handle) for flash_handle
+    mk_flash.o(.ARM.exidx.text.flash_read_status) refers to mk_flash.o(.text.flash_read_status) for [Anonymous Symbol]
     mk_reset.o(.ARM.exidx.text.reset_cause_get) refers to mk_reset.o(.text.reset_cause_get) for [Anonymous Symbol]
     mk_reset.o(.ARM.exidx.text.reset_cause_clear) refers to mk_reset.o(.text.reset_cause_clear) for [Anonymous Symbol]
     mk_reset.o(.ARM.exidx.text.reset_module) refers to mk_reset.o(.text.reset_module) for [Anonymous Symbol]
@@ -169,19 +222,20 @@
     mk_uart.o(.text.SerialPutChar) refers to mk_uart.o(.text.uart_send) for uart_send
     mk_uart.o(.text.SerialPutChar) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.ARM.exidx.text.SerialPutChar) refers to mk_uart.o(.text.SerialPutChar) for [Anonymous Symbol]
+    mk_uart.o(.text.uart_send) refers to mk_uart.o(.text.uart_state_set) for uart_state_set
+    mk_uart.o(.text.uart_send) refers to memseta.o(.text) for __aeabi_memclr4
     mk_uart.o(.text.uart_send) refers to mk_dma.o(.text.dma_open) for dma_open
     mk_uart.o(.text.uart_send) refers to mk_dma.o(.text.dma_transfer) for dma_transfer
+    mk_uart.o(.text.uart_send) refers to mk_uart.o(.text.uart_state_clear) for uart_state_clear
     mk_uart.o(.text.uart_send) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.text.uart_send) refers to mk_uart.o(.text.uart_dma_callback) for uart_dma_callback
     mk_uart.o(.ARM.exidx.text.uart_send) refers to mk_uart.o(.text.uart_send) for [Anonymous Symbol]
-    mk_uart.o(.text.Serial_PutString) refers to mk_uart.o(.text.uart_send) for uart_send
-    mk_uart.o(.text.Serial_PutString) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
+    mk_uart.o(.text.Serial_PutString) refers to mk_uart.o(.text.SerialPutChar) for SerialPutChar
     mk_uart.o(.ARM.exidx.text.Serial_PutString) refers to mk_uart.o(.text.Serial_PutString) for [Anonymous Symbol]
     mk_uart.o(.text.Serial0PutChar) refers to mk_uart.o(.text.uart_send) for uart_send
     mk_uart.o(.text.Serial0PutChar) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.ARM.exidx.text.Serial0PutChar) refers to mk_uart.o(.text.Serial0PutChar) for [Anonymous Symbol]
-    mk_uart.o(.text.Serial0_PutString) refers to mk_uart.o(.text.uart_send) for uart_send
-    mk_uart.o(.text.Serial0_PutString) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
+    mk_uart.o(.text.Serial0_PutString) refers to mk_uart.o(.text.Serial0PutChar) for Serial0PutChar
     mk_uart.o(.ARM.exidx.text.Serial0_PutString) refers to mk_uart.o(.text.Serial0_PutString) for [Anonymous Symbol]
     mk_uart.o(.text.uart_state_get) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.ARM.exidx.text.uart_state_get) refers to mk_uart.o(.text.uart_state_get) for [Anonymous Symbol]
@@ -198,18 +252,23 @@
     mk_uart.o(.ARM.exidx.text.uart_baud_set) refers to mk_uart.o(.text.uart_baud_set) for [Anonymous Symbol]
     mk_uart.o(.text.uart_open) refers to mk_clock.o(.text.clock_enable) for clock_enable
     mk_uart.o(.text.uart_open) refers to mk_reset.o(.text.reset_module) for reset_module
-    mk_uart.o(.text.uart_open) refers to mk_clock.o(.text.clock_set_divider) for clock_set_divider
-    mk_uart.o(.text.uart_open) refers to mk_misc.o(.text.delay_us) for delay_us
+    mk_uart.o(.text.uart_open) refers to mk_uart.o(.text.uart_baud_set) for uart_baud_set
     mk_uart.o(.text.uart_open) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
-    mk_uart.o(.text.uart_open) refers to mk_uart.o(.rodata.baud_table) for [Anonymous Symbol]
     mk_uart.o(.ARM.exidx.text.uart_open) refers to mk_uart.o(.text.uart_open) for [Anonymous Symbol]
     mk_uart.o(.text.uart_close) refers to mk_clock.o(.text.clock_disable) for clock_disable
     mk_uart.o(.text.uart_close) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.ARM.exidx.text.uart_close) refers to mk_uart.o(.text.uart_close) for [Anonymous Symbol]
+    mk_uart.o(.text.uart_state_set) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
+    mk_uart.o(.ARM.exidx.text.uart_state_set) refers to mk_uart.o(.text.uart_state_set) for [Anonymous Symbol]
+    mk_uart.o(.text.uart_dma_callback) refers to mk_uart.o(.text.uart_state_clear) for uart_state_clear
     mk_uart.o(.text.uart_dma_callback) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.ARM.exidx.text.uart_dma_callback) refers to mk_uart.o(.text.uart_dma_callback) for [Anonymous Symbol]
+    mk_uart.o(.text.uart_state_clear) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
+    mk_uart.o(.ARM.exidx.text.uart_state_clear) refers to mk_uart.o(.text.uart_state_clear) for [Anonymous Symbol]
+    mk_uart.o(.text.uart_receive) refers to mk_uart.o(.text.uart_state_set) for uart_state_set
     mk_uart.o(.text.uart_receive) refers to mk_dma.o(.text.dma_open) for dma_open
     mk_uart.o(.text.uart_receive) refers to mk_dma.o(.text.dma_transfer) for dma_transfer
+    mk_uart.o(.text.uart_receive) refers to mk_uart.o(.text.uart_state_clear) for uart_state_clear
     mk_uart.o(.text.uart_receive) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.text.uart_receive) refers to mk_uart.o(.text.uart_dma_callback) for uart_dma_callback
     mk_uart.o(.ARM.exidx.text.uart_receive) refers to mk_uart.o(.text.uart_receive) for [Anonymous Symbol]
@@ -217,18 +276,21 @@
     mk_uart.o(.text.uart_tx_abort_dma) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.text.uart_tx_abort_dma) refers to mk_uart.o(.text.uart_dma_abort_callback) for uart_dma_abort_callback
     mk_uart.o(.ARM.exidx.text.uart_tx_abort_dma) refers to mk_uart.o(.text.uart_tx_abort_dma) for [Anonymous Symbol]
+    mk_uart.o(.text.uart_dma_abort_callback) refers to mk_uart.o(.text.uart_state_clear) for uart_state_clear
     mk_uart.o(.text.uart_dma_abort_callback) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.ARM.exidx.text.uart_dma_abort_callback) refers to mk_uart.o(.text.uart_dma_abort_callback) for [Anonymous Symbol]
     mk_uart.o(.text.uart_rx_abort_dma) refers to mk_dma.o(.text.dma_abort) for dma_abort
     mk_uart.o(.text.uart_rx_abort_dma) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.text.uart_rx_abort_dma) refers to mk_uart.o(.text.uart_dma_abort_callback) for uart_dma_abort_callback
     mk_uart.o(.ARM.exidx.text.uart_rx_abort_dma) refers to mk_uart.o(.text.uart_rx_abort_dma) for [Anonymous Symbol]
+    mk_uart.o(.text.uart_irq_handler) refers to mk_uart.o(.text.uart_state_clear) for uart_state_clear
     mk_uart.o(.text.uart_irq_handler) refers to mk_uart.o(.data.uart_handle) for [Anonymous Symbol]
     mk_uart.o(.ARM.exidx.text.uart_irq_handler) refers to mk_uart.o(.text.uart_irq_handler) for [Anonymous Symbol]
     mk_uart.o(.text.UART0_IRQHandler) refers to mk_uart.o(.text.uart_irq_handler) for uart_irq_handler
     mk_uart.o(.ARM.exidx.text.UART0_IRQHandler) refers to mk_uart.o(.text.UART0_IRQHandler) for [Anonymous Symbol]
     mk_uart.o(.text.UART1_IRQHandler) refers to mk_uart.o(.text.uart_irq_handler) for uart_irq_handler
     mk_uart.o(.ARM.exidx.text.UART1_IRQHandler) refers to mk_uart.o(.text.UART1_IRQHandler) for [Anonymous Symbol]
+    mk_uart.o(.text.uart_printf_init) refers to memcpya.o(.text) for __aeabi_memcpy
     mk_uart.o(.text.uart_printf_init) refers to mk_uart.o(.text.uart_open) for uart_open
     mk_uart.o(.text.uart_printf_init) refers to mk_uart.o(.rodata.cst32) for .L__const.uart_printf_init.uart_print_cfg
     mk_uart.o(.ARM.exidx.text.uart_printf_init) refers to mk_uart.o(.text.uart_printf_init) for [Anonymous Symbol]
@@ -239,6 +301,7 @@
     aes.o(.ARM.exidx.text.CalcSBoxInv) refers to aes.o(.text.CalcSBoxInv) for [Anonymous Symbol]
     aes.o(.ARM.exidx.text.CycleLeft) refers to aes.o(.text.CycleLeft) for [Anonymous Symbol]
     aes.o(.ARM.exidx.text.CalcCols) refers to aes.o(.text.CalcCols) for [Anonymous Symbol]
+    aes.o(.text.InvMixColumn) refers to aes.o(.text.CalcCols) for CalcCols
     aes.o(.ARM.exidx.text.InvMixColumn) refers to aes.o(.text.InvMixColumn) for [Anonymous Symbol]
     aes.o(.text.SubBytes) refers to aes.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
     aes.o(.ARM.exidx.text.SubBytes) refers to aes.o(.text.SubBytes) for [Anonymous Symbol]
@@ -247,37 +310,55 @@
     aes.o(.ARM.exidx.text.InvShiftRows) refers to aes.o(.text.InvShiftRows) for [Anonymous Symbol]
     aes.o(.ARM.exidx.text.XORBytes) refers to aes.o(.text.XORBytes) for [Anonymous Symbol]
     aes.o(.ARM.exidx.text.CopyBytes) refers to aes.o(.text.CopyBytes) for [Anonymous Symbol]
-    aes.o(.text.KeyExpansion) refers to aes.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
+    aes.o(.text.KeyExpansion) refers to aes.o(.text.CopyBytes) for CopyBytes
+    aes.o(.text.KeyExpansion) refers to aes.o(.text.SubBytes) for SubBytes
+    aes.o(.text.KeyExpansion) refers to aes.o(.text.XORBytes) for XORBytes
+    aes.o(.text.KeyExpansion) refers to aes.o(.rodata.kTable) for kTable
     aes.o(.ARM.exidx.text.KeyExpansion) refers to aes.o(.text.KeyExpansion) for [Anonymous Symbol]
+    aes.o(.text.InvCipher) refers to aes.o(.text.XORBytes) for XORBytes
+    aes.o(.text.InvCipher) refers to aes.o(.text.InvShiftRows) for InvShiftRows
+    aes.o(.text.InvCipher) refers to aes.o(.text.InvSubBytesAndXOR) for InvSubBytesAndXOR
     aes.o(.text.InvCipher) refers to aes.o(.text.InvMixColumn) for InvMixColumn
-    aes.o(.text.InvCipher) refers to aes.o(.bss.block2) for block2
     aes.o(.ARM.exidx.text.InvCipher) refers to aes.o(.text.InvCipher) for [Anonymous Symbol]
+    aes.o(.text.aesDecInit) refers to aes.o(.text.CalcPowLog) for CalcPowLog
+    aes.o(.text.aesDecInit) refers to aes.o(.text.CalcSBox) for CalcSBox
     aes.o(.text.aesDecInit) refers to aes.o(.text.KeyExpansion) for KeyExpansion
+    aes.o(.text.aesDecInit) refers to aes.o(.text.CalcSBoxInv) for CalcSBoxInv
     aes.o(.text.aesDecInit) refers to aes.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
     aes.o(.text.aesDecInit) refers to aes.o(.bss.block2) for block2
     aes.o(.text.aesDecInit) refers to aes.o(.bss.block1) for block1
     aes.o(.text.aesDecInit) refers to aes.o(.bss.tempbuf) for tempbuf
     aes.o(.ARM.exidx.text.aesDecInit) refers to aes.o(.text.aesDecInit) for [Anonymous Symbol]
     aes.o(.text.aesDecrypt) refers to aes.o(.text.aesDecInit) for aesDecInit
+    aes.o(.text.aesDecrypt) refers to aes.o(.text.CopyBytes) for CopyBytes
     aes.o(.text.aesDecrypt) refers to aes.o(.text.InvCipher) for InvCipher
+    aes.o(.text.aesDecrypt) refers to aes.o(.text.XORBytes) for XORBytes
     aes.o(.text.aesDecrypt) refers to aes.o(.bss.tempbuf) for tempbuf
     aes.o(.text.aesDecrypt) refers to aes.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
     aes.o(.ARM.exidx.text.aesDecrypt) refers to aes.o(.text.aesDecrypt) for [Anonymous Symbol]
     aes.o(.ARM.exidx.text.Multiply) refers to aes.o(.text.Multiply) for [Anonymous Symbol]
+    aes.o(.text.DotProduct) refers to aes.o(.text.Multiply) for Multiply
     aes.o(.ARM.exidx.text.DotProduct) refers to aes.o(.text.DotProduct) for [Anonymous Symbol]
+    aes.o(.text.MixColumn) refers to aes.o(.text.CopyBytes) for CopyBytes
     aes.o(.text.MixColumn) refers to aes.o(.text.DotProduct) for DotProduct
     aes.o(.ARM.exidx.text.MixColumn) refers to aes.o(.text.MixColumn) for [Anonymous Symbol]
     aes.o(.ARM.exidx.text.ShiftRows) refers to aes.o(.text.ShiftRows) for [Anonymous Symbol]
-    aes.o(.text.Cipher) refers to aes.o(.text.DotProduct) for DotProduct
-    aes.o(.text.Cipher) refers to aes.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
+    aes.o(.text.Cipher) refers to aes.o(.text.XORBytes) for XORBytes
+    aes.o(.text.Cipher) refers to aes.o(.text.SubBytes) for SubBytes
+    aes.o(.text.Cipher) refers to aes.o(.text.ShiftRows) for ShiftRows
+    aes.o(.text.Cipher) refers to aes.o(.text.MixColumn) for MixColumn
     aes.o(.ARM.exidx.text.Cipher) refers to aes.o(.text.Cipher) for [Anonymous Symbol]
+    aes.o(.text.aesEncInit) refers to aes.o(.text.CalcPowLog) for CalcPowLog
+    aes.o(.text.aesEncInit) refers to aes.o(.text.CalcSBox) for CalcSBox
     aes.o(.text.aesEncInit) refers to aes.o(.text.KeyExpansion) for KeyExpansion
     aes.o(.text.aesEncInit) refers to aes.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
     aes.o(.text.aesEncInit) refers to aes.o(.bss.block2) for block2
     aes.o(.text.aesEncInit) refers to aes.o(.bss.block1) for block1
     aes.o(.ARM.exidx.text.aesEncInit) refers to aes.o(.text.aesEncInit) for [Anonymous Symbol]
     aes.o(.text.aesEncrypt) refers to aes.o(.text.aesEncInit) for aesEncInit
+    aes.o(.text.aesEncrypt) refers to aes.o(.text.XORBytes) for XORBytes
     aes.o(.text.aesEncrypt) refers to aes.o(.text.Cipher) for Cipher
+    aes.o(.text.aesEncrypt) refers to aes.o(.text.CopyBytes) for CopyBytes
     aes.o(.text.aesEncrypt) refers to aes.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
     aes.o(.ARM.exidx.text.aesEncrypt) refers to aes.o(.text.aesEncrypt) for [Anonymous Symbol]
     mk_gpio.o(.text.gpio_open) refers to mk_clock.o(.text.clock_enable) for clock_enable
@@ -350,6 +431,7 @@
     mk_misc.o(.text.bor_open) refers to mk_misc.o(.rodata.cst8) for default_bor_cfg
     mk_misc.o(.ARM.exidx.text.bor_open) refers to mk_misc.o(.text.bor_open) for [Anonymous Symbol]
     mk_misc.o(.ARM.exidx.text.bor_close) refers to mk_misc.o(.text.bor_close) for [Anonymous Symbol]
+    mk_misc.o(.text.sys_timer_open) refers to memcpya.o(.text) for __aeabi_memcpy
     mk_misc.o(.text.sys_timer_open) refers to mk_dual_timer.o(.text.dual_timer_open) for dual_timer_open
     mk_misc.o(.text.sys_timer_open) refers to mk_dual_timer.o(.text.dual_timer_start) for dual_timer_start
     mk_misc.o(.text.sys_timer_open) refers to mk_clock.o(.text.clock_get_frequency) for clock_get_frequency
@@ -368,6 +450,7 @@
     mk_misc.o(.text.sys_timer_delay_ms) refers to uidiv.o(.text) for __aeabi_uidiv
     mk_misc.o(.text.sys_timer_delay_ms) refers to mk_misc.o(.bss.sys_timer_freq) for sys_timer_freq
     mk_misc.o(.ARM.exidx.text.sys_timer_delay_ms) refers to mk_misc.o(.text.sys_timer_delay_ms) for [Anonymous Symbol]
+    mk_misc.o(.text.mac_timer_open) refers to memcpya.o(.text) for __aeabi_memcpy
     mk_misc.o(.text.mac_timer_open) refers to mk_dual_timer.o(.text.dual_timer_open) for dual_timer_open
     mk_misc.o(.text.mac_timer_open) refers to mk_misc.o(.rodata..L__const.mac_timer_open.mac_timer_cfg) for [Anonymous Symbol]
     mk_misc.o(.ARM.exidx.text.mac_timer_open) refers to mk_misc.o(.text.mac_timer_open) for [Anonymous Symbol]
@@ -391,6 +474,7 @@
     mk_misc.o(.ARM.exidx.text.sys_tick_elapse_ms) refers to mk_misc.o(.text.sys_tick_elapse_ms) for [Anonymous Symbol]
     mk_misc.o(.text.sys_tick_pause) refers to mk_misc.o(.bss.sys_tick_env) for [Anonymous Symbol]
     mk_misc.o(.ARM.exidx.text.sys_tick_pause) refers to mk_misc.o(.text.sys_tick_pause) for [Anonymous Symbol]
+    mk_misc.o(.text.sys_tick_resume) refers to mk_misc.o(.text.sys_tick_start) for sys_tick_start
     mk_misc.o(.text.sys_tick_resume) refers to mk_sleep_timer.o(.text.high_xtal_off_time) for high_xtal_off_time
     mk_misc.o(.text.sys_tick_resume) refers to uidiv.o(.text) for __aeabi_uidiv
     mk_misc.o(.text.sys_tick_resume) refers to mk_misc.o(.bss.sys_tick_env) for [Anonymous Symbol]
@@ -419,15 +503,15 @@
     mk_power.o(.ARM.exidx.text.power_fem_rx_ctrl) refers to mk_power.o(.text.power_fem_rx_ctrl) for [Anonymous Symbol]
     mk_power.o(.text.power_init) refers to mk_misc.o(.text.bor_close) for bor_close
     mk_power.o(.ARM.exidx.text.power_init) refers to mk_power.o(.text.power_init) for [Anonymous Symbol]
+    mk_power.o(.text.power_on_radio) refers to mk_power.o(.text.power_mode_request) for power_mode_request
     mk_power.o(.text.power_on_radio) refers to mk_power.o(.text.power_fem_tx_ctrl) for power_fem_tx_ctrl
     mk_power.o(.text.power_on_radio) refers to mk_power.o(.text.power_fem_rx_ctrl) for power_fem_rx_ctrl
-    mk_power.o(.text.power_on_radio) refers to mk_power.o(.bss.power_env) for [Anonymous Symbol]
     mk_power.o(.ARM.exidx.text.power_on_radio) refers to mk_power.o(.text.power_on_radio) for [Anonymous Symbol]
     mk_power.o(.text.power_mode_request) refers to mk_power.o(.bss.power_env) for [Anonymous Symbol]
     mk_power.o(.ARM.exidx.text.power_mode_request) refers to mk_power.o(.text.power_mode_request) for [Anonymous Symbol]
     mk_power.o(.text.power_off_radio) refers to mk_power.o(.text.power_fem_tx_ctrl) for power_fem_tx_ctrl
     mk_power.o(.text.power_off_radio) refers to mk_power.o(.text.power_fem_rx_ctrl) for power_fem_rx_ctrl
-    mk_power.o(.text.power_off_radio) refers to mk_power.o(.bss.power_env) for [Anonymous Symbol]
+    mk_power.o(.text.power_off_radio) refers to mk_power.o(.text.power_mode_clear) for power_mode_clear
     mk_power.o(.ARM.exidx.text.power_off_radio) refers to mk_power.o(.text.power_off_radio) for [Anonymous Symbol]
     mk_power.o(.text.power_mode_clear) refers to mk_power.o(.bss.power_env) for [Anonymous Symbol]
     mk_power.o(.ARM.exidx.text.power_mode_clear) refers to mk_power.o(.text.power_mode_clear) for [Anonymous Symbol]
@@ -454,12 +538,13 @@
     mk_power.o(.ARM.exidx.text.power_mode_requester_get) refers to mk_power.o(.text.power_mode_requester_get) for [Anonymous Symbol]
     mk_power.o(.ARM.exidx.text.power_wakeup_enable) refers to mk_power.o(.text.power_wakeup_enable) for [Anonymous Symbol]
     mk_power.o(.ARM.exidx.text.power_wakeup_disable) refers to mk_power.o(.text.power_wakeup_disable) for [Anonymous Symbol]
+    mk_power.o(.text.power_manage) refers to mk_power.o(.text.power_mode_request) for power_mode_request
+    mk_power.o(.text.power_manage) refers to mk_power.o(.text.power_mode_clear) for power_mode_clear
     mk_power.o(.text.power_manage) refers to mk_uart.o(.text.uart_state_get) for uart_state_get
-    mk_power.o(.text.power_manage) refers to mk_power.o(.text.app_restore_from_power_down) for app_restore_from_power_down
     mk_power.o(.text.power_manage) refers to mk_uart.o(.text.uart_fifo_busy) for uart_fifo_busy
     mk_power.o(.text.power_manage) refers to mk_power.o(.text.power_enter_power_down_mode) for power_enter_power_down_mode
-    mk_power.o(.text.power_manage) refers to board.o(.text.board_prepare_for_power_down) for board_prepare_for_power_down
-    mk_power.o(.text.power_manage) refers to mk_power.o(.text.enter_shelf_mode_in_ram) for enter_shelf_mode_in_ram
+    mk_power.o(.text.power_manage) refers to mk_power.o(.text.power_enter_shelf_mode) for power_enter_shelf_mode
+    mk_power.o(.text.power_manage) refers to mk_power.o(.text.app_restore_from_power_down) for app_restore_from_power_down
     mk_power.o(.text.power_manage) refers to mk_power.o(.bss.power_env) for [Anonymous Symbol]
     mk_power.o(.ARM.exidx.text.power_manage) refers to mk_power.o(.text.power_manage) for [Anonymous Symbol]
     mk_power.o(.ARM.exidx.text.app_restore_from_power_down) refers to mk_power.o(.text.app_restore_from_power_down) for [Anonymous Symbol]
@@ -511,87 +596,84 @@
     menu.o(.ARM.exidx.text.IAP_JumpTo) refers to menu.o(.text.IAP_JumpTo) for [Anonymous Symbol]
     menu.o(.text.SerialDownload) refers to ymodem.o(.text.Send_Byte) for Send_Byte
     menu.o(.text.SerialDownload) refers to ymodem.o(.text.Ymodem_Receive) for Ymodem_Receive
-    menu.o(.text.SerialDownload) refers to mk_uart.o(.text.Serial_PutString) for Serial_PutString
     menu.o(.text.SerialDownload) refers to menu.o(.text.Int2Str) for Int2Str
     menu.o(.text.SerialDownload) refers to menu.o(.bss.tab_1024) for tab_1024
     menu.o(.text.SerialDownload) refers to menu.o(.rodata.str1.1) for .L.str
+    menu.o(.text.SerialDownload) refers to mk_uart.o(.text.Serial_PutString) for Serial_PutString
     menu.o(.text.SerialDownload) refers to menu.o(.bss.FileName) for FileName
     menu.o(.ARM.exidx.text.SerialDownload) refers to menu.o(.text.SerialDownload) for [Anonymous Symbol]
     menu.o(.text.GetKey) refers to mk_uart.o(.text.SerialKeyPressed) for SerialKeyPressed
     menu.o(.ARM.exidx.text.GetKey) refers to menu.o(.text.GetKey) for [Anonymous Symbol]
     menu.o(.text.SerialUpload) refers to mk_uart.o(.text.Serial_PutString) for Serial_PutString
-    menu.o(.text.SerialUpload) refers to mk_uart.o(.text.SerialKeyPressed) for SerialKeyPressed
+    menu.o(.text.SerialUpload) refers to menu.o(.text.GetKey) for GetKey
     menu.o(.text.SerialUpload) refers to ymodem.o(.text.Ymodem_Transmit) for Ymodem_Transmit
     menu.o(.ARM.exidx.text.SerialUpload) refers to menu.o(.text.SerialUpload) for [Anonymous Symbol]
     menu.o(.text.delay_ms) refers to mk_misc.o(.text.delay_us) for delay_us
     menu.o(.ARM.exidx.text.delay_ms) refers to menu.o(.text.delay_ms) for [Anonymous Symbol]
     menu.o(.text.Main_Menu) refers to menu.o(.text.SerialDownload) for SerialDownload
-    menu.o(.text.Main_Menu) refers to mk_misc.o(.text.delay_us) for delay_us
     menu.o(.text.Main_Menu) refers to mk_flash.o(.text.flash_erase) for flash_erase
     menu.o(.text.Main_Menu) refers to mk_flash.o(.text.flash_write_nbytes) for flash_write_nbytes
-    menu.o(.text.Main_Menu) refers to memcpya.o(.text) for __aeabi_memcpy8
+    menu.o(.text.Main_Menu) refers to menu.o(.text.delay_ms) for delay_ms
+    menu.o(.text.Main_Menu) refers to menu.o(.text.__NVIC_SystemReset) for __NVIC_SystemReset
     menu.o(.ARM.exidx.text.Main_Menu) refers to menu.o(.text.Main_Menu) for [Anonymous Symbol]
+    menu.o(.ARM.exidx.text.__NVIC_SystemReset) refers to menu.o(.text.__NVIC_SystemReset) for [Anonymous Symbol]
     ymodem.o(.ARM.exidx.text.Str2Int) refers to ymodem.o(.text.Str2Int) for [Anonymous Symbol]
     ymodem.o(.text.Receive_Byte) refers to mk_uart.o(.text.SerialKeyPressed) for SerialKeyPressed
     ymodem.o(.ARM.exidx.text.Receive_Byte) refers to ymodem.o(.text.Receive_Byte) for [Anonymous Symbol]
     ymodem.o(.text.Send_Byte) refers to mk_uart.o(.text.SerialPutChar) for SerialPutChar
     ymodem.o(.ARM.exidx.text.Send_Byte) refers to ymodem.o(.text.Send_Byte) for [Anonymous Symbol]
     ymodem.o(.ARM.exidx.text.UpdateCRC16) refers to ymodem.o(.text.UpdateCRC16) for [Anonymous Symbol]
+    ymodem.o(.text.Cal_CRC16) refers to ymodem.o(.text.UpdateCRC16) for UpdateCRC16
     ymodem.o(.ARM.exidx.text.Cal_CRC16) refers to ymodem.o(.text.Cal_CRC16) for [Anonymous Symbol]
     ymodem.o(.ARM.exidx.text.CalChecksum) refers to ymodem.o(.text.CalChecksum) for [Anonymous Symbol]
     ymodem.o(.text.Ymodem_Receive) refers to aes.o(.text.aesDecInit) for aesDecInit
-    ymodem.o(.text.Ymodem_Receive) refers to mk_uart.o(.text.SerialKeyPressed) for SerialKeyPressed
+    ymodem.o(.text.Ymodem_Receive) refers to mk_wdt.o(.text.wdt_ping) for wdt_ping
+    ymodem.o(.text.Ymodem_Receive) refers to ymodem.o(.text.Receive_Byte) for Receive_Byte
+    ymodem.o(.text.Ymodem_Receive) refers to mk_uart.o(.text.SerialPutChar) for SerialPutChar
     ymodem.o(.text.Ymodem_Receive) refers to ymodem.o(.text.Cal_CRC16) for Cal_CRC16
     ymodem.o(.text.Ymodem_Receive) refers to memcpya.o(.text) for __aeabi_memcpy
     ymodem.o(.text.Ymodem_Receive) refers to aes.o(.text.aesDecrypt) for aesDecrypt
     ymodem.o(.text.Ymodem_Receive) refers to mk_flash.o(.text.flash_write_nbytes) for flash_write_nbytes
-    ymodem.o(.text.Ymodem_Receive) refers to mk_uart.o(.text.SerialPutChar) for SerialPutChar
     ymodem.o(.text.Ymodem_Receive) refers to ymodem.o(.text.Str2Int) for Str2Int
     ymodem.o(.text.Ymodem_Receive) refers to mk_flash.o(.text.flash_erase) for flash_erase
     ymodem.o(.text.Ymodem_Receive) refers to ymodem.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
     ymodem.o(.text.Ymodem_Receive) refers to ymodem.o(.bss.packet_data) for packet_data
     ymodem.o(.text.Ymodem_Receive) refers to customboot.o(.bss.time32_reset) for time32_reset
+    ymodem.o(.text.Ymodem_Receive) refers to customboot.o(.bss.shengji_time_100ms) for shengji_time_100ms
     ymodem.o(.text.Ymodem_Receive) refers to menu.o(.bss.FileName) for FileName
     ymodem.o(.ARM.exidx.text.Ymodem_Receive) refers to ymodem.o(.text.Ymodem_Receive) for [Anonymous Symbol]
     ymodem.o(.ARM.exidx.text.Ymodem_CheckResponse) refers to ymodem.o(.text.Ymodem_CheckResponse) for [Anonymous Symbol]
     ymodem.o(.text.Ymodem_PrepareIntialPacket) refers to menu.o(.text.Int2Str) for Int2Str
-    ymodem.o(.text.Ymodem_PrepareIntialPacket) refers to memseta.o(.text) for __aeabi_memclr
     ymodem.o(.ARM.exidx.text.Ymodem_PrepareIntialPacket) refers to ymodem.o(.text.Ymodem_PrepareIntialPacket) for [Anonymous Symbol]
     ymodem.o(.ARM.exidx.text.Ymodem_PreparePacket) refers to ymodem.o(.text.Ymodem_PreparePacket) for [Anonymous Symbol]
     ymodem.o(.text.Ymodem_SendPacket) refers to mk_uart.o(.text.SerialPutChar) for SerialPutChar
     ymodem.o(.ARM.exidx.text.Ymodem_SendPacket) refers to ymodem.o(.text.Ymodem_SendPacket) for [Anonymous Symbol]
-    ymodem.o(.text.Ymodem_Transmit) refers to memcpya.o(.text) for __aeabi_memcpy
-    ymodem.o(.text.Ymodem_Transmit) refers to menu.o(.text.Int2Str) for Int2Str
-    ymodem.o(.text.Ymodem_Transmit) refers to memseta.o(.text) for __aeabi_memclr
-    ymodem.o(.text.Ymodem_Transmit) refers to mk_uart.o(.text.SerialPutChar) for SerialPutChar
+    ymodem.o(.text.Ymodem_Transmit) refers to ymodem.o(.text.Ymodem_PrepareIntialPacket) for Ymodem_PrepareIntialPacket
+    ymodem.o(.text.Ymodem_Transmit) refers to ymodem.o(.text.Ymodem_SendPacket) for Ymodem_SendPacket
     ymodem.o(.text.Ymodem_Transmit) refers to ymodem.o(.text.Cal_CRC16) for Cal_CRC16
-    ymodem.o(.text.Ymodem_Transmit) refers to mk_uart.o(.text.SerialKeyPressed) for SerialKeyPressed
+    ymodem.o(.text.Ymodem_Transmit) refers to mk_uart.o(.text.SerialPutChar) for SerialPutChar
+    ymodem.o(.text.Ymodem_Transmit) refers to ymodem.o(.text.Receive_Byte) for Receive_Byte
+    ymodem.o(.text.Ymodem_Transmit) refers to ymodem.o(.text.Ymodem_PreparePacket) for Ymodem_PreparePacket
     ymodem.o(.ARM.exidx.text.Ymodem_Transmit) refers to ymodem.o(.text.Ymodem_Transmit) for [Anonymous Symbol]
+    customboot.o(.text.usartdata_process) refers to mk_flash.o(.text.flash_erase) for flash_erase
+    customboot.o(.text.usartdata_process) refers to mk_flash.o(.text.flash_write_nbytes) for flash_write_nbytes
     customboot.o(.text.usartdata_process) refers to customboot.o(.bss.usartdata_process.state) for [Anonymous Symbol]
     customboot.o(.ARM.exidx.text.usartdata_process) refers to customboot.o(.text.usartdata_process) for [Anonymous Symbol]
+    customboot.o(.ARM.exidx.text.app_wdt_callback) refers to customboot.o(.text.app_wdt_callback) for [Anonymous Symbol]
     customboot.o(.text.main) refers to board.o(.text.board_clock_run) for board_clock_run
-    customboot.o(.text.main) refers to pin_config.o(.text.board_pins_config) for board_pins_config
     customboot.o(.text.main) refers to mk_calib.o(.text.calib_chip) for calib_chip
-    customboot.o(.text.main) refers to mk_wdt.o(.text.wdt_close) for wdt_close
     customboot.o(.text.main) refers to mk_gpio.o(.text.gpio_open) for gpio_open
     customboot.o(.text.main) refers to board.o(.text.board_configure) for board_configure
     customboot.o(.text.main) refers to mk_flash.o(.text.flash_open) for flash_open
-    customboot.o(.text.main) refers to mk_uart.o(.text.uart_open) for uart_open
-    customboot.o(.text.main) refers to mk_uart.o(.text.Serial_PutString) for Serial_PutString
-    customboot.o(.text.main) refers to menu.o(.text.IAP_JumpTo) for IAP_JumpTo
     customboot.o(.text.main) refers to mk_flash.o(.text.flash_read) for flash_read
     customboot.o(.text.main) refers to mk_flash.o(.text.flash_check_busy) for flash_check_busy
+    customboot.o(.text.main) refers to mk_uart.o(.text.Serial_PutString) for Serial_PutString
+    customboot.o(.text.main) refers to mk_uart.o(.text.uart_close) for uart_close
+    customboot.o(.text.main) refers to mk_gpio.o(.text.gpio_close) for gpio_close
     customboot.o(.text.main) refers to memcpya.o(.text) for __aeabi_memcpy8
-    customboot.o(.text.main) refers to menu.o(.text.Main_Menu) for Main_Menu
-    customboot.o(.text.main) refers to mk_flash.o(.text.flash_erase) for flash_erase
-    customboot.o(.text.main) refers to aes.o(.text.aesDecInit) for aesDecInit
-    customboot.o(.text.main) refers to aes.o(.text.aesDecrypt) for aesDecrypt
-    customboot.o(.text.main) refers to mk_flash.o(.text.flash_write) for flash_write
-    customboot.o(.text.main) refers to menu.o(.text.delay_ms) for delay_ms
-    customboot.o(.text.main) refers to customboot.o(.rodata.cst32) for .L__const.main.test_uart_cfg
-    customboot.o(.text.main) refers to customboot.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
+    customboot.o(.text.main) refers to customboot.o(.bss.updata_byte) for updata_byte
     customboot.o(.ARM.exidx.text.main) refers to customboot.o(.text.main) for [Anonymous Symbol]
-    board.o(.text.board_clock_run) refers to mk_clock.o(.text.clock_attach) for clock_attach
+    customboot.o(.data.app_wdt_cfg) refers to customboot.o(.text.app_wdt_callback) for app_wdt_callback
     board.o(.text.board_clock_run) refers to mk_misc.o(.text.delay_us) for delay_us
     board.o(.text.board_clock_run) refers to mk_calib.o(.text.calib_open) for calib_open
     board.o(.text.board_clock_run) refers to mk_calib.o(.text.calib_start) for calib_start
@@ -600,6 +682,7 @@
     board.o(.text.board_clock_run) refers to mk_clock.o(.text.clock_set_divider) for clock_set_divider
     board.o(.text.board_clock_run) refers to mk_misc.o(.text.sys_tick_start) for sys_tick_start
     board.o(.text.board_clock_run) refers to mk_misc.o(.text.sys_timer_open) for sys_timer_open
+    board.o(.text.board_clock_run) refers to mk_clock.o(.text.clock_attach) for clock_attach
     board.o(.ARM.exidx.text.board_clock_run) refers to board.o(.text.board_clock_run) for [Anonymous Symbol]
     board.o(.ARM.exidx.text.board_debug_console_open) refers to board.o(.text.board_debug_console_open) for [Anonymous Symbol]
     board.o(.text.board_calibration_params_default) refers to board.o(.bss.board_param) for board_param
@@ -638,7 +721,22 @@
     board.o(.text.board_restore_from_power_down) refers to mk_misc.o(.text.sys_timer_open) for sys_timer_open
     board.o(.text.board_restore_from_power_down) refers to board.o(.bss.button_irq_handler) for [Anonymous Symbol]
     board.o(.ARM.exidx.text.board_restore_from_power_down) refers to board.o(.text.board_restore_from_power_down) for [Anonymous Symbol]
+    pin_config.o(.text.uart1_change_shouhuan) refers to mk_io.o(.text.io_pin_mux_set) for io_pin_mux_set
+    pin_config.o(.ARM.exidx.text.uart1_change_shouhuan) refers to pin_config.o(.text.uart1_change_shouhuan) for [Anonymous Symbol]
+    pin_config.o(.text.uart1_change_gongka) refers to mk_io.o(.text.io_pin_mux_set) for io_pin_mux_set
+    pin_config.o(.ARM.exidx.text.uart1_change_gongka) refers to pin_config.o(.text.uart1_change_gongka) for [Anonymous Symbol]
+    pin_config.o(.text.uart1_xuanze) refers to mk_uart.o(.text.uart_close) for uart_close
+    pin_config.o(.text.uart1_xuanze) refers to mk_uart.o(.text.uart_open) for uart_open
+    pin_config.o(.text.uart1_xuanze) refers to mk_io.o(.text.io_pin_mux_set) for io_pin_mux_set
+    pin_config.o(.text.uart1_xuanze) refers to customboot.o(.bss.flagmode) for flagmode
+    pin_config.o(.text.uart1_xuanze) refers to pin_config.o(.data.test_uart_cfg) for test_uart_cfg
+    pin_config.o(.ARM.exidx.text.uart1_xuanze) refers to pin_config.o(.text.uart1_xuanze) for [Anonymous Symbol]
+    pin_config.o(.text.board_pins_config) refers to mk_gpio.o(.text.gpio_pin_get_val) for gpio_pin_get_val
+    pin_config.o(.text.board_pins_config) refers to pin_config.o(.text.uart1_xuanze) for uart1_xuanze
     pin_config.o(.text.board_pins_config) refers to mk_io.o(.text.io_pin_mux_set) for io_pin_mux_set
+    pin_config.o(.text.board_pins_config) refers to mk_io.o(.text.io_pull_set) for io_pull_set
+    pin_config.o(.text.board_pins_config) refers to mk_gpio.o(.text.gpio_pin_set_dir) for gpio_pin_set_dir
+    pin_config.o(.text.board_pins_config) refers to pin_config.o(.bss..L_MergedGlobals) for [Anonymous Symbol]
     pin_config.o(.ARM.exidx.text.board_pins_config) refers to pin_config.o(.text.board_pins_config) for [Anonymous Symbol]
     fminf.o(i.fminf) refers (Special) to iusefp.o(.text) for __I$use$fp
     fminf.o(i.fminf) refers to fcmp4.o(.text) for __ARM_fcmp4
@@ -695,46 +793,64 @@
     Removing mk_clock.o(.ARM.exidx.text.clock_attach), (8 bytes).
     Removing mk_clock.o(.ARM.exidx.text.clock_set_divider), (8 bytes).
     Removing mk_clock.o(.ARM.exidx.text.clock_get_frequency), (8 bytes).
-    Removing mk_clock.o(.text.clock_xtal38m4_injection_set), (60 bytes).
+    Removing mk_clock.o(.ARM.exidx.text.clock_get_sys_clk_freq), (8 bytes).
+    Removing mk_clock.o(.ARM.exidx.text.clock_get_ahb_clk_freq), (8 bytes).
+    Removing mk_clock.o(.ARM.exidx.text.clock_get_apb_clk_freq), (8 bytes).
     Removing mk_clock.o(.ARM.exidx.text.clock_xtal38m4_injection_set), (8 bytes).
     Removing mk_clock.o(.text.clock_xtal32k_injection_set), (24 bytes).
     Removing mk_clock.o(.ARM.exidx.text.clock_xtal32k_injection_set), (8 bytes).
     Removing mk_dma.o(.text), (0 bytes).
     Removing mk_dma.o(.ARM.exidx.text.dma_open), (8 bytes).
-    Removing mk_dma.o(.text.dma_close), (112 bytes).
+    Removing mk_dma.o(.text.dma_close), (108 bytes).
     Removing mk_dma.o(.ARM.exidx.text.dma_close), (8 bytes).
     Removing mk_dma.o(.text.get_uart1_dma_cndtr), (16 bytes).
     Removing mk_dma.o(.ARM.exidx.text.get_uart1_dma_cndtr), (8 bytes).
     Removing mk_dma.o(.text.get_uart0_dma_cndtr), (16 bytes).
     Removing mk_dma.o(.ARM.exidx.text.get_uart0_dma_cndtr), (8 bytes).
     Removing mk_dma.o(.ARM.exidx.text.dma_transfer), (8 bytes).
-    Removing mk_dma.o(.text.dma_abort), (124 bytes).
+    Removing mk_dma.o(.text.dma_abort), (112 bytes).
     Removing mk_dma.o(.ARM.exidx.text.dma_abort), (8 bytes).
-    Removing mk_dma.o(.text.dma_force_abort), (148 bytes).
+    Removing mk_dma.o(.text.dma_force_abort), (144 bytes).
     Removing mk_dma.o(.ARM.exidx.text.dma_force_abort), (8 bytes).
     Removing mk_dma.o(.ARM.exidx.text.DMA_IRQHandler), (8 bytes).
     Removing mk_flash.o(.text), (0 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_open), (8 bytes).
+    Removing mk_flash.o(.ARM.exidx.text.flash_reset_cmd), (8 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_write_cmd), (8 bytes).
+    Removing mk_flash.o(.ARM.exidx.text.flash_wait_status), (8 bytes).
+    Removing mk_flash.o(.ARM.exidx.text.flash_write_quad_mode), (8 bytes).
+    Removing mk_flash.o(.ARM.exidx.text.flash_write_mem_cmd), (8 bytes).
     Removing mk_flash.o(.text.flash_close), (60 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_close), (8 bytes).
-    Removing mk_flash.o(.text.flash_open_for_xip), (204 bytes).
+    Removing mk_flash.o(.text.flash_open_for_xip), (184 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_open_for_xip), (8 bytes).
     Removing mk_flash.o(.text.flash_power_up), (40 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_power_up), (8 bytes).
     Removing mk_flash.o(.text.flash_power_down), (40 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_power_down), (8 bytes).
+    Removing mk_flash.o(.text.flash_sector_erase), (148 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_sector_erase), (8 bytes).
+    Removing mk_flash.o(.ARM.exidx.text.flash_state_update), (8 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_wait_done), (8 bytes).
+    Removing mk_flash.o(.text.flash_block_erase), (144 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_block_erase), (8 bytes).
+    Removing mk_flash.o(.text.flash_erase), (312 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_erase), (8 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_check_busy), (8 bytes).
+    Removing mk_flash.o(.text.flash_write_nbytes), (552 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_write_nbytes), (8 bytes).
+    Removing mk_flash.o(.text.flash_write_variable_len_cmd), (108 bytes).
+    Removing mk_flash.o(.ARM.exidx.text.flash_write_variable_len_cmd), (8 bytes).
+    Removing mk_flash.o(.text.flash_dma_write_nbytes_callback), (200 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_dma_write_nbytes_callback), (8 bytes).
+    Removing mk_flash.o(.text.flash_page_write_nbytes), (92 bytes).
+    Removing mk_flash.o(.ARM.exidx.text.flash_page_write_nbytes), (8 bytes).
+    Removing mk_flash.o(.text.flash_write), (404 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_write), (8 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_dma_callback), (8 bytes).
     Removing mk_flash.o(.ARM.exidx.text.flash_read), (8 bytes).
     Removing mk_flash.o(.ARM.exidx.text.FLASH_CTRL_IRQHandler), (8 bytes).
+    Removing mk_flash.o(.ARM.exidx.text.flash_read_status), (8 bytes).
     Removing mk_reset.o(.text), (0 bytes).
     Removing mk_reset.o(.text.reset_cause_get), (72 bytes).
     Removing mk_reset.o(.ARM.exidx.text.reset_cause_get), (8 bytes).
@@ -744,13 +860,14 @@
     Removing mk_uart.o(.text), (0 bytes).
     Removing mk_uart.o(.text.Serial0KeyPressed), (28 bytes).
     Removing mk_uart.o(.ARM.exidx.text.Serial0KeyPressed), (8 bytes).
+    Removing mk_uart.o(.text.SerialKeyPressed), (28 bytes).
     Removing mk_uart.o(.ARM.exidx.text.SerialKeyPressed), (8 bytes).
     Removing mk_uart.o(.ARM.exidx.text.SerialPutChar), (8 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_send), (8 bytes).
     Removing mk_uart.o(.ARM.exidx.text.Serial_PutString), (8 bytes).
-    Removing mk_uart.o(.text.Serial0PutChar), (40 bytes).
+    Removing mk_uart.o(.text.Serial0PutChar), (36 bytes).
     Removing mk_uart.o(.ARM.exidx.text.Serial0PutChar), (8 bytes).
-    Removing mk_uart.o(.text.Serial0_PutString), (56 bytes).
+    Removing mk_uart.o(.text.Serial0_PutString), (20 bytes).
     Removing mk_uart.o(.ARM.exidx.text.Serial0_PutString), (8 bytes).
     Removing mk_uart.o(.text.uart_state_get), (16 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_state_get), (8 bytes).
@@ -758,41 +875,45 @@
     Removing mk_uart.o(.ARM.exidx.text.uart_tx_in_progress), (8 bytes).
     Removing mk_uart.o(.text.uart_fifo_busy), (32 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_fifo_busy), (8 bytes).
-    Removing mk_uart.o(.text.uart_rx_fifo_clear), (28 bytes).
+    Removing mk_uart.o(.text.uart_rx_fifo_clear), (24 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_rx_fifo_clear), (8 bytes).
-    Removing mk_uart.o(.text.uart_baud_set), (80 bytes).
+    Removing mk_uart.o(.text.uart_baud_set), (76 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_baud_set), (8 bytes).
+    Removing mk_uart.o(.text.uart_open), (340 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_open), (8 bytes).
-    Removing mk_uart.o(.text.uart_close), (132 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_close), (8 bytes).
+    Removing mk_uart.o(.ARM.exidx.text.uart_state_set), (8 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_dma_callback), (8 bytes).
-    Removing mk_uart.o(.text.uart_receive), (568 bytes).
+    Removing mk_uart.o(.ARM.exidx.text.uart_state_clear), (8 bytes).
+    Removing mk_uart.o(.text.uart_receive), (328 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_receive), (8 bytes).
     Removing mk_uart.o(.text.uart_tx_abort_dma), (52 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_tx_abort_dma), (8 bytes).
-    Removing mk_uart.o(.text.uart_dma_abort_callback), (236 bytes).
+    Removing mk_uart.o(.text.uart_dma_abort_callback), (124 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_dma_abort_callback), (8 bytes).
     Removing mk_uart.o(.text.uart_rx_abort_dma), (60 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_rx_abort_dma), (8 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_irq_handler), (8 bytes).
     Removing mk_uart.o(.ARM.exidx.text.UART0_IRQHandler), (8 bytes).
     Removing mk_uart.o(.ARM.exidx.text.UART1_IRQHandler), (8 bytes).
-    Removing mk_uart.o(.text.uart_printf_init), (32 bytes).
+    Removing mk_uart.o(.text.uart_printf_init), (36 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_printf_init), (8 bytes).
     Removing mk_uart.o(.text.uart_printf), (2 bytes).
     Removing mk_uart.o(.ARM.exidx.text.uart_printf), (8 bytes).
+    Removing mk_uart.o(.rodata.baud_table), (42 bytes).
     Removing mk_uart.o(.rodata.cst32), (32 bytes).
     Removing aes.o(.text), (0 bytes).
     Removing aes.o(.text.CalcPowLog), (44 bytes).
     Removing aes.o(.ARM.exidx.text.CalcPowLog), (8 bytes).
-    Removing aes.o(.text.CalcSBox), (84 bytes).
+    Removing aes.o(.text.CalcSBox), (68 bytes).
     Removing aes.o(.ARM.exidx.text.CalcSBox), (8 bytes).
-    Removing aes.o(.text.CalcSBoxInv), (42 bytes).
+    Removing aes.o(.text.CalcSBoxInv), (40 bytes).
     Removing aes.o(.ARM.exidx.text.CalcSBoxInv), (8 bytes).
     Removing aes.o(.text.CycleLeft), (18 bytes).
     Removing aes.o(.ARM.exidx.text.CycleLeft), (8 bytes).
-    Removing aes.o(.text.CalcCols), (60 bytes).
+    Removing aes.o(.text.CalcCols), (32 bytes).
     Removing aes.o(.ARM.exidx.text.CalcCols), (8 bytes).
+    Removing aes.o(.text.InvMixColumn), (176 bytes).
     Removing aes.o(.ARM.exidx.text.InvMixColumn), (8 bytes).
     Removing aes.o(.text.SubBytes), (28 bytes).
     Removing aes.o(.ARM.exidx.text.SubBytes), (8 bytes).
@@ -804,28 +925,35 @@
     Removing aes.o(.ARM.exidx.text.XORBytes), (8 bytes).
     Removing aes.o(.text.CopyBytes), (16 bytes).
     Removing aes.o(.ARM.exidx.text.CopyBytes), (8 bytes).
+    Removing aes.o(.text.KeyExpansion), (208 bytes).
     Removing aes.o(.ARM.exidx.text.KeyExpansion), (8 bytes).
+    Removing aes.o(.text.InvCipher), (88 bytes).
     Removing aes.o(.ARM.exidx.text.InvCipher), (8 bytes).
+    Removing aes.o(.text.aesDecInit), (64 bytes).
     Removing aes.o(.ARM.exidx.text.aesDecInit), (8 bytes).
+    Removing aes.o(.text.aesDecrypt), (64 bytes).
     Removing aes.o(.ARM.exidx.text.aesDecrypt), (8 bytes).
-    Removing aes.o(.text.Multiply), (142 bytes).
+    Removing aes.o(.text.Multiply), (42 bytes).
     Removing aes.o(.ARM.exidx.text.Multiply), (8 bytes).
-    Removing aes.o(.text.DotProduct), (616 bytes).
+    Removing aes.o(.text.DotProduct), (36 bytes).
     Removing aes.o(.ARM.exidx.text.DotProduct), (8 bytes).
     Removing aes.o(.text.MixColumn), (72 bytes).
     Removing aes.o(.ARM.exidx.text.MixColumn), (8 bytes).
     Removing aes.o(.text.ShiftRows), (50 bytes).
     Removing aes.o(.ARM.exidx.text.ShiftRows), (8 bytes).
-    Removing aes.o(.text.Cipher), (1020 bytes).
+    Removing aes.o(.text.Cipher), (102 bytes).
     Removing aes.o(.ARM.exidx.text.Cipher), (8 bytes).
-    Removing aes.o(.text.aesEncInit), (164 bytes).
+    Removing aes.o(.text.aesEncInit), (52 bytes).
     Removing aes.o(.ARM.exidx.text.aesEncInit), (8 bytes).
-    Removing aes.o(.text.aesEncrypt), (220 bytes).
+    Removing aes.o(.text.aesEncrypt), (48 bytes).
     Removing aes.o(.ARM.exidx.text.aesEncrypt), (8 bytes).
     Removing aes.o(.rodata.kTable), (32 bytes).
+    Removing aes.o(.bss.block2), (256 bytes).
+    Removing aes.o(.bss.block1), (256 bytes).
+    Removing aes.o(.bss.tempbuf), (256 bytes).
+    Removing aes.o(.bss..L_MergedGlobals), (20 bytes).
     Removing mk_gpio.o(.text), (0 bytes).
     Removing mk_gpio.o(.ARM.exidx.text.gpio_open), (8 bytes).
-    Removing mk_gpio.o(.text.gpio_close), (12 bytes).
     Removing mk_gpio.o(.ARM.exidx.text.gpio_close), (8 bytes).
     Removing mk_gpio.o(.text.gpio_write), (12 bytes).
     Removing mk_gpio.o(.ARM.exidx.text.gpio_write), (8 bytes).
@@ -839,9 +967,9 @@
     Removing mk_gpio.o(.ARM.exidx.text.gpio_pin_toggle), (8 bytes).
     Removing mk_gpio.o(.text.gpio_pin_get_val), (20 bytes).
     Removing mk_gpio.o(.ARM.exidx.text.gpio_pin_get_val), (8 bytes).
-    Removing mk_gpio.o(.text.gpio_pin_set_dir), (80 bytes).
+    Removing mk_gpio.o(.text.gpio_pin_set_dir), (76 bytes).
     Removing mk_gpio.o(.ARM.exidx.text.gpio_pin_set_dir), (8 bytes).
-    Removing mk_gpio.o(.text.gpio_enable_irq), (208 bytes).
+    Removing mk_gpio.o(.text.gpio_enable_irq), (204 bytes).
     Removing mk_gpio.o(.ARM.exidx.text.gpio_enable_irq), (8 bytes).
     Removing mk_gpio.o(.text.gpio_disable_irq), (80 bytes).
     Removing mk_gpio.o(.ARM.exidx.text.gpio_disable_irq), (8 bytes).
@@ -864,8 +992,9 @@
     Removing mk_calib.o(.ARM.exidx.text.calib_xtal32k_with_clock_out), (8 bytes).
     Removing mk_calib.o(.ARM.exidx.text.CALIB_IRQHandler), (8 bytes).
     Removing mk_wdt.o(.text), (0 bytes).
-    Removing mk_wdt.o(.text.wdt_open), (172 bytes).
+    Removing mk_wdt.o(.text.wdt_open), (164 bytes).
     Removing mk_wdt.o(.ARM.exidx.text.wdt_open), (8 bytes).
+    Removing mk_wdt.o(.text.wdt_close), (80 bytes).
     Removing mk_wdt.o(.ARM.exidx.text.wdt_close), (8 bytes).
     Removing mk_wdt.o(.text.wdt_set_time), (48 bytes).
     Removing mk_wdt.o(.ARM.exidx.text.wdt_set_time), (8 bytes).
@@ -875,10 +1004,11 @@
     Removing mk_wdt.o(.ARM.exidx.text.wdt_time_left), (8 bytes).
     Removing mk_wdt.o(.ARM.exidx.text.WDT_IRQHandler), (8 bytes).
     Removing mk_io.o(.text), (0 bytes).
+    Removing mk_io.o(.text.io_pin_mux_set), (80 bytes).
     Removing mk_io.o(.ARM.exidx.text.io_pin_mux_set), (8 bytes).
-    Removing mk_io.o(.text.io_open_drain_set), (32 bytes).
+    Removing mk_io.o(.text.io_open_drain_set), (28 bytes).
     Removing mk_io.o(.ARM.exidx.text.io_open_drain_set), (8 bytes).
-    Removing mk_io.o(.text.io_drive_set), (32 bytes).
+    Removing mk_io.o(.text.io_drive_set), (28 bytes).
     Removing mk_io.o(.ARM.exidx.text.io_drive_set), (8 bytes).
     Removing mk_io.o(.text.io_pull_set), (76 bytes).
     Removing mk_io.o(.ARM.exidx.text.io_pull_set), (8 bytes).
@@ -912,9 +1042,9 @@
     Removing mk_misc.o(.text.mac_timer_stop), (10 bytes).
     Removing mk_misc.o(.ARM.exidx.text.mac_timer_stop), (8 bytes).
     Removing mk_misc.o(.ARM.exidx.text.sys_tick_start), (8 bytes).
-    Removing mk_misc.o(.text.sys_tick_us), (104 bytes).
+    Removing mk_misc.o(.text.sys_tick_us), (88 bytes).
     Removing mk_misc.o(.ARM.exidx.text.sys_tick_us), (8 bytes).
-    Removing mk_misc.o(.text.sys_tick_ms), (112 bytes).
+    Removing mk_misc.o(.text.sys_tick_ms), (96 bytes).
     Removing mk_misc.o(.ARM.exidx.text.sys_tick_ms), (8 bytes).
     Removing mk_misc.o(.text.sys_tick_get), (12 bytes).
     Removing mk_misc.o(.ARM.exidx.text.sys_tick_get), (8 bytes).
@@ -924,19 +1054,19 @@
     Removing mk_misc.o(.ARM.exidx.text.sys_tick_elapse_ms), (8 bytes).
     Removing mk_misc.o(.text.sys_tick_pause), (72 bytes).
     Removing mk_misc.o(.ARM.exidx.text.sys_tick_pause), (8 bytes).
-    Removing mk_misc.o(.text.sys_tick_resume), (108 bytes).
+    Removing mk_misc.o(.text.sys_tick_resume), (72 bytes).
     Removing mk_misc.o(.ARM.exidx.text.sys_tick_resume), (8 bytes).
     Removing mk_misc.o(.ARM.exidx.text.SysTick_Handler), (8 bytes).
     Removing mk_misc.o(.text.sys_reset), (36 bytes).
     Removing mk_misc.o(.ARM.exidx.text.sys_reset), (8 bytes).
     Removing mk_misc.o(.ARM.exidx.text.delay_us), (8 bytes).
-    Removing mk_misc.o(.text.count_bits), (20 bytes).
+    Removing mk_misc.o(.text.count_bits), (18 bytes).
     Removing mk_misc.o(.ARM.exidx.text.count_bits), (8 bytes).
-    Removing mk_misc.o(.text.search_byte_right_one), (60 bytes).
+    Removing mk_misc.o(.text.search_byte_right_one), (50 bytes).
     Removing mk_misc.o(.ARM.exidx.text.search_byte_right_one), (8 bytes).
     Removing mk_misc.o(.text.byte_right_one_mask), (6 bytes).
     Removing mk_misc.o(.ARM.exidx.text.byte_right_one_mask), (8 bytes).
-    Removing mk_misc.o(.text.average_filter), (88 bytes).
+    Removing mk_misc.o(.text.average_filter), (72 bytes).
     Removing mk_misc.o(.ARM.exidx.text.average_filter), (8 bytes).
     Removing mk_misc.o(.text.mk_q7_to_s16), (12 bytes).
     Removing mk_misc.o(.ARM.exidx.text.mk_q7_to_s16), (8 bytes).
@@ -954,19 +1084,19 @@
     Removing mk_power.o(.ARM.exidx.text.power_fem_tx_ctrl), (8 bytes).
     Removing mk_power.o(.text.power_fem_rx_ctrl), (2 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_fem_rx_ctrl), (8 bytes).
-    Removing mk_power.o(.text.power_init), (60 bytes).
+    Removing mk_power.o(.text.power_init), (56 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_init), (8 bytes).
-    Removing mk_power.o(.text.power_on_radio), (104 bytes).
+    Removing mk_power.o(.text.power_on_radio), (52 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_on_radio), (8 bytes).
     Removing mk_power.o(.text.power_mode_request), (72 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_mode_request), (8 bytes).
-    Removing mk_power.o(.text.power_off_radio), (100 bytes).
+    Removing mk_power.o(.text.power_off_radio), (48 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_off_radio), (8 bytes).
     Removing mk_power.o(.text.power_mode_clear), (60 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_mode_clear), (8 bytes).
     Removing mk_power.o(.text.power_enter_sleep_mode), (20 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_enter_sleep_mode), (8 bytes).
-    Removing mk_power.o(.text.enter_power_down_in_ram), (324 bytes).
+    Removing mk_power.o(.text.enter_power_down_in_ram), (296 bytes).
     Removing mk_power.o(.ARM.exidx.text.enter_power_down_in_ram), (8 bytes).
     Removing mk_power.o(.text.power_enter_power_down_mode), (104 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_enter_power_down_mode), (8 bytes).
@@ -980,18 +1110,18 @@
     Removing mk_power.o(.ARM.exidx.text.power_enter_shelf_mode), (8 bytes).
     Removing mk_power.o(.text.power_mode_requester_get), (12 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_mode_requester_get), (8 bytes).
-    Removing mk_power.o(.text.power_wakeup_enable), (60 bytes).
+    Removing mk_power.o(.text.power_wakeup_enable), (56 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_wakeup_enable), (8 bytes).
     Removing mk_power.o(.text.power_wakeup_disable), (32 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_wakeup_disable), (8 bytes).
-    Removing mk_power.o(.text.power_manage), (624 bytes).
+    Removing mk_power.o(.text.power_manage), (240 bytes).
     Removing mk_power.o(.ARM.exidx.text.power_manage), (8 bytes).
     Removing mk_power.o(.text.app_restore_from_power_down), (2 bytes).
     Removing mk_power.o(.ARM.exidx.text.app_restore_from_power_down), (8 bytes).
     Removing mk_power.o(.bss.power_env), (20 bytes).
     Removing mk_dual_timer.o(.text), (0 bytes).
     Removing mk_dual_timer.o(.ARM.exidx.text.dual_timer_open), (8 bytes).
-    Removing mk_dual_timer.o(.text.dual_timer_close), (112 bytes).
+    Removing mk_dual_timer.o(.text.dual_timer_close), (104 bytes).
     Removing mk_dual_timer.o(.ARM.exidx.text.dual_timer_close), (8 bytes).
     Removing mk_dual_timer.o(.ARM.exidx.text.dual_timer_start), (8 bytes).
     Removing mk_dual_timer.o(.text.dual_timer_stop), (20 bytes).
@@ -1010,7 +1140,7 @@
     Removing mk_sleep_timer.o(.ARM.exidx.text.sleep_timer_open), (8 bytes).
     Removing mk_sleep_timer.o(.text.sleep_timer_close), (52 bytes).
     Removing mk_sleep_timer.o(.ARM.exidx.text.sleep_timer_close), (8 bytes).
-    Removing mk_sleep_timer.o(.text.sleep_timer_start), (60 bytes).
+    Removing mk_sleep_timer.o(.text.sleep_timer_start), (56 bytes).
     Removing mk_sleep_timer.o(.ARM.exidx.text.sleep_timer_start), (8 bytes).
     Removing mk_sleep_timer.o(.text.sleep_timer_stop), (12 bytes).
     Removing mk_sleep_timer.o(.ARM.exidx.text.sleep_timer_stop), (8 bytes).
@@ -1023,46 +1153,79 @@
     Removing mk_sleep_timer.o(.ARM.exidx.text.SLEEP_TIMER_IRQHandler), (8 bytes).
     Removing mk_sleep_timer.o(.bss.sleep_timer_handle.3), (4 bytes).
     Removing menu.o(.text), (0 bytes).
+    Removing menu.o(.text.Int2Str), (96 bytes).
     Removing menu.o(.ARM.exidx.text.Int2Str), (8 bytes).
+    Removing menu.o(.text.IAP_JumpTo), (40 bytes).
     Removing menu.o(.ARM.exidx.text.IAP_JumpTo), (8 bytes).
+    Removing menu.o(.text.SerialDownload), (152 bytes).
     Removing menu.o(.ARM.exidx.text.SerialDownload), (8 bytes).
-    Removing menu.o(.text.GetKey), (28 bytes).
+    Removing menu.o(.text.GetKey), (24 bytes).
     Removing menu.o(.ARM.exidx.text.GetKey), (8 bytes).
-    Removing menu.o(.text.SerialUpload), (196 bytes).
+    Removing menu.o(.text.SerialUpload), (176 bytes).
     Removing menu.o(.ARM.exidx.text.SerialUpload), (8 bytes).
+    Removing menu.o(.text.delay_ms), (14 bytes).
     Removing menu.o(.ARM.exidx.text.delay_ms), (8 bytes).
+    Removing menu.o(.text.Main_Menu), (76 bytes).
     Removing menu.o(.ARM.exidx.text.Main_Menu), (8 bytes).
+    Removing menu.o(.text.__NVIC_SystemReset), (28 bytes).
+    Removing menu.o(.ARM.exidx.text.__NVIC_SystemReset), (8 bytes).
     Removing menu.o(.bss.FlashProtection), (4 bytes).
+    Removing menu.o(.bss.tab_1024), (1024 bytes).
+    Removing menu.o(.rodata.str1.1), (83 bytes).
+    Removing menu.o(.bss.FileName), (256 bytes).
     Removing menu.o(.bss.Jump_To_Application), (4 bytes).
     Removing menu.o(.bss.JumpAddress), (4 bytes).
+    Removing menu.o(.bss.gongkaflag), (1 bytes).
+    Removing menu.o(.bss.shouhuanflag), (1 bytes).
     Removing ymodem.o(.text), (0 bytes).
+    Removing ymodem.o(.text.Str2Int), (172 bytes).
     Removing ymodem.o(.ARM.exidx.text.Str2Int), (8 bytes).
     Removing ymodem.o(.text.Receive_Byte), (30 bytes).
     Removing ymodem.o(.ARM.exidx.text.Receive_Byte), (8 bytes).
+    Removing ymodem.o(.text.Send_Byte), (10 bytes).
     Removing ymodem.o(.ARM.exidx.text.Send_Byte), (8 bytes).
-    Removing ymodem.o(.text.UpdateCRC16), (48 bytes).
+    Removing ymodem.o(.text.UpdateCRC16), (44 bytes).
     Removing ymodem.o(.ARM.exidx.text.UpdateCRC16), (8 bytes).
+    Removing ymodem.o(.text.Cal_CRC16), (42 bytes).
     Removing ymodem.o(.ARM.exidx.text.Cal_CRC16), (8 bytes).
-    Removing ymodem.o(.text.CalChecksum), (28 bytes).
+    Removing ymodem.o(.text.CalChecksum), (20 bytes).
     Removing ymodem.o(.ARM.exidx.text.CalChecksum), (8 bytes).
+    Removing ymodem.o(.text.Ymodem_Receive), (756 bytes).
     Removing ymodem.o(.ARM.exidx.text.Ymodem_Receive), (8 bytes).
     Removing ymodem.o(.text.Ymodem_CheckResponse), (4 bytes).
     Removing ymodem.o(.ARM.exidx.text.Ymodem_CheckResponse), (8 bytes).
-    Removing ymodem.o(.text.Ymodem_PrepareIntialPacket), (114 bytes).
+    Removing ymodem.o(.text.Ymodem_PrepareIntialPacket), (86 bytes).
     Removing ymodem.o(.ARM.exidx.text.Ymodem_PrepareIntialPacket), (8 bytes).
-    Removing ymodem.o(.text.Ymodem_PreparePacket), (92 bytes).
+    Removing ymodem.o(.text.Ymodem_PreparePacket), (80 bytes).
     Removing ymodem.o(.ARM.exidx.text.Ymodem_PreparePacket), (8 bytes).
-    Removing ymodem.o(.text.Ymodem_SendPacket), (26 bytes).
+    Removing ymodem.o(.text.Ymodem_SendPacket), (24 bytes).
     Removing ymodem.o(.ARM.exidx.text.Ymodem_SendPacket), (8 bytes).
-    Removing ymodem.o(.text.Ymodem_Transmit), (788 bytes).
+    Removing ymodem.o(.text.Ymodem_Transmit), (520 bytes).
     Removing ymodem.o(.ARM.exidx.text.Ymodem_Transmit), (8 bytes).
+    Removing ymodem.o(.bss.packet_data), (1029 bytes).
+    Removing ymodem.o(.bss..L_MergedGlobals), (100 bytes).
     Removing customboot.o(.text), (0 bytes).
-    Removing customboot.o(.text.usartdata_process), (132 bytes).
+    Removing customboot.o(.text.usartdata_process), (168 bytes).
     Removing customboot.o(.ARM.exidx.text.usartdata_process), (8 bytes).
+    Removing customboot.o(.text.app_wdt_callback), (2 bytes).
+    Removing customboot.o(.ARM.exidx.text.app_wdt_callback), (8 bytes).
     Removing customboot.o(.ARM.exidx.text.main), (8 bytes).
+    Removing customboot.o(.bss.time32_reset), (4 bytes).
+    Removing customboot.o(.bss.key), (16 bytes).
     Removing customboot.o(.bss.usartdata_process.state), (1 bytes).
+    Removing customboot.o(.bss.APP_byte), (2 bytes).
     Removing customboot.o(.bss.trx_buf), (10 bytes).
+    Removing customboot.o(.data.app_wdt_cfg), (12 bytes).
+    Removing customboot.o(.bss.time_100ms), (4 bytes).
+    Removing customboot.o(.bss.shengji_time_100ms), (4 bytes).
     Removing customboot.o(.bss.time32_incr), (4 bytes).
+    Removing customboot.o(.bss.start_timer), (4 bytes).
+    Removing customboot.o(.bss.state111), (1 bytes).
+    Removing customboot.o(.bss.test1), (4 bytes).
+    Removing customboot.o(.bss.aaa), (4 bytes).
+    Removing customboot.o(.bss.finalbag), (2 bytes).
+    Removing customboot.o(.bss.jiexi_shuju), (128 bytes).
+    Removing customboot.o(.bss.flagmode), (1 bytes).
     Removing customboot.o(.ARM.use_no_argv), (4 bytes).
     Removing board.o(.text), (0 bytes).
     Removing board.o(.ARM.exidx.text.board_clock_run), (8 bytes).
@@ -1095,7 +1258,16 @@
     Removing board.o(.ARM.exidx.text.board_restore_from_power_down), (8 bytes).
     Removing board.o(.bss.button_irq_handler), (4 bytes).
     Removing pin_config.o(.text), (0 bytes).
+    Removing pin_config.o(.text.uart1_change_shouhuan), (56 bytes).
+    Removing pin_config.o(.ARM.exidx.text.uart1_change_shouhuan), (8 bytes).
+    Removing pin_config.o(.text.uart1_change_gongka), (56 bytes).
+    Removing pin_config.o(.ARM.exidx.text.uart1_change_gongka), (8 bytes).
+    Removing pin_config.o(.text.uart1_xuanze), (108 bytes).
+    Removing pin_config.o(.ARM.exidx.text.uart1_xuanze), (8 bytes).
+    Removing pin_config.o(.text.board_pins_config), (244 bytes).
     Removing pin_config.o(.ARM.exidx.text.board_pins_config), (8 bytes).
+    Removing pin_config.o(.data.test_uart_cfg), (32 bytes).
+    Removing pin_config.o(.bss..L_MergedGlobals), (4 bytes).
     Removing fmul.o(.text), (122 bytes).
     Removing dmul.o(.text), (208 bytes).
     Removing fcmplt.o(.text), (28 bytes).
@@ -1107,7 +1279,7 @@
     Removing fcmp4.o(.text), (52 bytes).
     Removing depilogue.o(i.__ARM_clz), (46 bytes).
 
-425 unused section(s) (total 14109 bytes) removed from the image.
+499 unused section(s) (total 19205 bytes) removed from the image.
 
 ==============================================================================
 
@@ -1175,280 +1347,210 @@
     startup_MK800X.c                         0x00000000   Number         0  startup_mk800x.o ABSOLUTE
     system_MK800X.c                          0x00000000   Number         0  system_mk800x.o ABSOLUTE
     ymodem.c                                 0x00000000   Number         0  ymodem.o ABSOLUTE
-    __tagsym$$used.0                         0x0202a000   Number         0  startup_mk800x.o(RESET)
-    .ARM.Collect$$$$00000000                 0x0202a0c0   Section        0  entry.o(.ARM.Collect$$$$00000000)
-    .ARM.Collect$$$$00000003                 0x0202a0c0   Section        4  entry4.o(.ARM.Collect$$$$00000003)
-    .ARM.Collect$$$$00000004                 0x0202a0c4   Section        4  entry5.o(.ARM.Collect$$$$00000004)
-    .ARM.Collect$$$$00000008                 0x0202a0c8   Section        0  entry7b.o(.ARM.Collect$$$$00000008)
-    .ARM.Collect$$$$0000000A                 0x0202a0c8   Section        0  entry8b.o(.ARM.Collect$$$$0000000A)
-    .ARM.Collect$$$$0000000B                 0x0202a0c8   Section        8  entry9a.o(.ARM.Collect$$$$0000000B)
-    __lit__00000000                          0x0202a0d0   Data           4  entry4.o(.ARM.Collect$$$$00002714)
-    .ARM.Collect$$$$0000000D                 0x0202a0d0   Section        0  entry10a.o(.ARM.Collect$$$$0000000D)
-    .ARM.Collect$$$$0000000F                 0x0202a0d0   Section        0  entry11a.o(.ARM.Collect$$$$0000000F)
-    .ARM.Collect$$$$00002714                 0x0202a0d0   Section        4  entry4.o(.ARM.Collect$$$$00002714)
-    .text                                    0x0202a0d4   Section        0  uidiv.o(.text)
-    .text                                    0x0202a100   Section        0  memcpya.o(.text)
-    .text                                    0x0202a124   Section       36  init.o(.text)
-    .text                                    0x0202a148   Section        0  __dczerorl.o(.text)
-    [Anonymous Symbol]                       0x0202a182   Section        0  mk_misc.o(.text.BOD_IRQHandler)
-    [Anonymous Symbol]                       0x0202a184   Section        0  mk_calib.o(.text.CALIB_IRQHandler)
-    [Anonymous Symbol]                       0x0202a188   Section        0  ymodem.o(.text.Cal_CRC16)
-    __arm_cp.4_0                             0x0202a2b8   Number         4  ymodem.o(.text.Cal_CRC16)
-    [Anonymous Symbol]                       0x0202a2bc   Section        0  mk_dma.o(.text.DMA_IRQHandler)
-    __arm_cp.7_0                             0x0202a328   Number         4  mk_dma.o(.text.DMA_IRQHandler)
-    [Anonymous Symbol]                       0x0202a32c   Section        0  startup_mk800x.o(.text.Default_Handler)
-    [Anonymous Symbol]                       0x0202a330   Section        0  mk_flash.o(.text.FLASH_CTRL_IRQHandler)
-    __arm_cp.16_0                            0x0202a358   Number         4  mk_flash.o(.text.FLASH_CTRL_IRQHandler)
-    [Anonymous Symbol]                       0x0202a35c   Section        0  mk_gpio.o(.text.GPIO_IRQHandler)
-    __arm_cp.11_0                            0x0202a4d4   Number         4  mk_gpio.o(.text.GPIO_IRQHandler)
-    [Anonymous Symbol]                       0x0202a4d8   Section        0  menu.o(.text.IAP_JumpTo)
-    __arm_cp.1_0                             0x0202a4fc   Number         4  menu.o(.text.IAP_JumpTo)
-    [Anonymous Symbol]                       0x0202a500   Section        0  menu.o(.text.Int2Str)
-    __arm_cp.0_0                             0x0202a6b8   Number         4  menu.o(.text.Int2Str)
-    __arm_cp.0_1                             0x0202a6bc   Number         4  menu.o(.text.Int2Str)
-    __arm_cp.0_2                             0x0202a6c0   Number         4  menu.o(.text.Int2Str)
-    __arm_cp.0_3                             0x0202a6c4   Number         4  menu.o(.text.Int2Str)
-    __arm_cp.0_4                             0x0202a6c8   Number         4  menu.o(.text.Int2Str)
-    __arm_cp.0_5                             0x0202a6cc   Number         4  menu.o(.text.Int2Str)
-    [Anonymous Symbol]                       0x0202a6d0   Section        0  aes.o(.text.InvCipher)
-    __arm_cp.12_0                            0x0202a94c   Number         4  aes.o(.text.InvCipher)
-    [Anonymous Symbol]                       0x0202a950   Section        0  aes.o(.text.InvMixColumn)
-    [Anonymous Symbol]                       0x0202aa50   Section        0  aes.o(.text.KeyExpansion)
-    __arm_cp.11_0                            0x0202abb0   Number         4  aes.o(.text.KeyExpansion)
-    [Anonymous Symbol]                       0x0202abb4   Section        0  menu.o(.text.Main_Menu)
-    __arm_cp.6_0                             0x0202ac1c   Number         4  menu.o(.text.Main_Menu)
-    __arm_cp.6_1                             0x0202ac20   Number         4  menu.o(.text.Main_Menu)
-    __arm_cp.6_2                             0x0202ac24   Number         4  menu.o(.text.Main_Menu)
-    __arm_cp.6_3                             0x0202ac28   Number         4  menu.o(.text.Main_Menu)
-    __arm_cp.6_4                             0x0202ac2c   Number         4  menu.o(.text.Main_Menu)
-    __arm_cp.6_5                             0x0202ac30   Number         4  menu.o(.text.Main_Menu)
-    [Anonymous Symbol]                       0x0202ac34   Section        0  startup_mk800x.o(.text.Reset_Handler)
-    __arm_cp.1_0                             0x0202ac50   Number         4  startup_mk800x.o(.text.Reset_Handler)
-    [Anonymous Symbol]                       0x0202ac54   Section        0  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
-    __arm_cp.7_0                             0x0202ac84   Number         4  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
-    __arm_cp.7_1                             0x0202ac88   Number         4  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
-    __arm_cp.7_2                             0x0202ac8c   Number         4  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
-    [Anonymous Symbol]                       0x0202ac90   Section        0  ymodem.o(.text.Send_Byte)
-    [Anonymous Symbol]                       0x0202ac9c   Section        0  menu.o(.text.SerialDownload)
-    __arm_cp.2_0                             0x0202ad08   Number         4  menu.o(.text.SerialDownload)
-    __arm_cp.2_1                             0x0202ad0c   Number         4  menu.o(.text.SerialDownload)
-    __arm_cp.2_2                             0x0202ad10   Number         4  menu.o(.text.SerialDownload)
-    [Anonymous Symbol]                       0x0202ad44   Section        0  mk_uart.o(.text.SerialKeyPressed)
-    [Anonymous Symbol]                       0x0202ad5c   Section        0  mk_uart.o(.text.SerialPutChar)
-    [Anonymous Symbol]                       0x0202ad80   Section        0  mk_uart.o(.text.Serial_PutString)
-    __arm_cp.4_0                             0x0202adb4   Number         4  mk_uart.o(.text.Serial_PutString)
-    [Anonymous Symbol]                       0x0202adb8   Section        0  ymodem.o(.text.Str2Int)
-    [Anonymous Symbol]                       0x0202b2ec   Section        0  mk_misc.o(.text.SysTick_Handler)
-    __arm_cp.24_0                            0x0202b300   Number         4  mk_misc.o(.text.SysTick_Handler)
-    [Anonymous Symbol]                       0x0202b304   Section        0  system_mk800x.o(.text.SystemInit)
-    __arm_cp.1_0                             0x0202b30c   Number         4  system_mk800x.o(.text.SystemInit)
-    __arm_cp.1_1                             0x0202b310   Number         4  system_mk800x.o(.text.SystemInit)
-    [Anonymous Symbol]                       0x0202b314   Section        0  mk_dual_timer.o(.text.TIMER2_IRQHandler)
-    [Anonymous Symbol]                       0x0202b334   Section        0  mk_dual_timer.o(.text.TIMER3_IRQHandler)
-    __arm_cp.9_0                             0x0202b354   Number         4  mk_dual_timer.o(.text.TIMER3_IRQHandler)
-    [Anonymous Symbol]                       0x0202b358   Section        0  mk_uart.o(.text.UART0_IRQHandler)
-    [Anonymous Symbol]                       0x0202b362   Section        0  mk_uart.o(.text.UART1_IRQHandler)
-    [Anonymous Symbol]                       0x0202b36c   Section        0  mk_wdt.o(.text.WDT_IRQHandler)
-    __arm_cp.5_0                             0x0202b388   Number         4  mk_wdt.o(.text.WDT_IRQHandler)
-    [Anonymous Symbol]                       0x0202b38c   Section        0  ymodem.o(.text.Ymodem_Receive)
-    __arm_cp.6_0                             0x0202b69c   Number         4  ymodem.o(.text.Ymodem_Receive)
-    __arm_cp.6_1                             0x0202b6a0   Number         4  ymodem.o(.text.Ymodem_Receive)
-    __arm_cp.6_2                             0x0202b6a4   Number         4  ymodem.o(.text.Ymodem_Receive)
-    __arm_cp.6_3                             0x0202b6a8   Number         4  ymodem.o(.text.Ymodem_Receive)
-    __arm_cp.6_4                             0x0202b6ac   Number         4  ymodem.o(.text.Ymodem_Receive)
-    __arm_cp.6_5                             0x0202b6b0   Number         4  ymodem.o(.text.Ymodem_Receive)
-    __arm_cp.6_6                             0x0202b6b4   Number         4  ymodem.o(.text.Ymodem_Receive)
-    [Anonymous Symbol]                       0x0202b6b8   Section        0  aes.o(.text.aesDecInit)
-    __arm_cp.13_1                            0x0202b774   Number         4  aes.o(.text.aesDecInit)
-    __arm_cp.13_2                            0x0202b778   Number         4  aes.o(.text.aesDecInit)
-    [Anonymous Symbol]                       0x0202b77c   Section        0  aes.o(.text.aesDecrypt)
-    __arm_cp.14_0                            0x0202b8a8   Number         4  aes.o(.text.aesDecrypt)
-    __arm_cp.14_1                            0x0202b8ac   Number         4  aes.o(.text.aesDecrypt)
-    [Anonymous Symbol]                       0x0202b8b0   Section        0  board.o(.text.board_clock_run)
-    __arm_cp.0_0                             0x0202b910   Number         4  board.o(.text.board_clock_run)
-    __arm_cp.0_1                             0x0202b914   Number         4  board.o(.text.board_clock_run)
-    [Anonymous Symbol]                       0x0202b918   Section        0  board.o(.text.board_configure)
-    [Anonymous Symbol]                       0x0202b91a   Section        0  pin_config.o(.text.board_pins_config)
-    [Anonymous Symbol]                       0x0202b940   Section        0  mk_calib.o(.text.calib_check)
-    __arm_cp.3_0                             0x0202b94c   Number         4  mk_calib.o(.text.calib_check)
-    [Anonymous Symbol]                       0x0202b950   Section        0  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_0                             0x0202ba44   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_1                             0x0202ba48   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_2                             0x0202ba4c   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_3                             0x0202ba50   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_4                             0x0202ba54   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_5                             0x0202ba58   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_6                             0x0202ba5c   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_7                             0x0202ba60   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_8                             0x0202ba64   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_10                            0x0202ba68   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_11                            0x0202ba6c   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_12                            0x0202ba70   Number         4  mk_calib.o(.text.calib_chip)
-    __arm_cp.4_13                            0x0202ba74   Number         4  mk_calib.o(.text.calib_chip)
-    [Anonymous Symbol]                       0x0202ba78   Section        0  mk_calib.o(.text.calib_close)
-    [Anonymous Symbol]                       0x0202ba84   Section        0  mk_calib.o(.text.calib_open)
-    [Anonymous Symbol]                       0x0202ba98   Section        0  mk_calib.o(.text.calib_start)
-    __arm_cp.2_0                             0x0202baa4   Number         4  mk_calib.o(.text.calib_start)
-    [Anonymous Symbol]                       0x0202baa8   Section        0  mk_clock.o(.text.clock_attach)
-    __arm_cp.2_1                             0x0202bb88   Number         4  mk_clock.o(.text.clock_attach)
-    __arm_cp.2_2                             0x0202bb8c   Number         4  mk_clock.o(.text.clock_attach)
-    __arm_cp.2_3                             0x0202bb90   Number         4  mk_clock.o(.text.clock_attach)
-    __arm_cp.2_4                             0x0202bb94   Number         4  mk_clock.o(.text.clock_attach)
-    [Anonymous Symbol]                       0x0202bb98   Section        0  mk_clock.o(.text.clock_disable)
-    [Anonymous Symbol]                       0x0202bba8   Section        0  mk_clock.o(.text.clock_enable)
-    [Anonymous Symbol]                       0x0202bbb8   Section        0  mk_clock.o(.text.clock_get_frequency)
-    __arm_cp.4_0                             0x0202bcbc   Number         4  mk_clock.o(.text.clock_get_frequency)
-    __arm_cp.4_1                             0x0202bcc0   Number         4  mk_clock.o(.text.clock_get_frequency)
-    __arm_cp.4_2                             0x0202bcc4   Number         4  mk_clock.o(.text.clock_get_frequency)
-    [Anonymous Symbol]                       0x0202bcc8   Section        0  mk_clock.o(.text.clock_set_divider)
-    __arm_cp.3_0                             0x0202bd28   Number         4  mk_clock.o(.text.clock_set_divider)
-    [Anonymous Symbol]                       0x0202bd2c   Section        0  menu.o(.text.delay_ms)
-    [Anonymous Symbol]                       0x0202bd3a   Section        0  mk_misc.o(.text.delay_us)
-    loop1                                    0x0202bd4e   Number         0  mk_misc.o(.text.delay_us)
-    exit1                                    0x0202bd54   Number         0  mk_misc.o(.text.delay_us)
-    [Anonymous Symbol]                       0x0202bd58   Section        0  mk_dma.o(.text.dma_open)
-    [Anonymous Symbol]                       0x0202be38   Section        0  mk_dma.o(.text.dma_transfer)
-    __arm_cp.4_0                             0x0202be84   Number         4  mk_dma.o(.text.dma_transfer)
-    [Anonymous Symbol]                       0x0202be88   Section        0  mk_dual_timer.o(.text.dual_timer_get)
-    [Anonymous Symbol]                       0x0202be94   Section        0  mk_dual_timer.o(.text.dual_timer_open)
-    __arm_cp.0_1                             0x0202bf54   Number         4  mk_dual_timer.o(.text.dual_timer_open)
-    __arm_cp.0_2                             0x0202bf58   Number         4  mk_dual_timer.o(.text.dual_timer_open)
-    __arm_cp.0_3                             0x0202bf5c   Number         4  mk_dual_timer.o(.text.dual_timer_open)
-    __arm_cp.0_4                             0x0202bf60   Number         4  mk_dual_timer.o(.text.dual_timer_open)
-    [Anonymous Symbol]                       0x0202bf64   Section        0  mk_dual_timer.o(.text.dual_timer_start)
-    __arm_cp.2_0                             0x0202bf78   Number         4  mk_dual_timer.o(.text.dual_timer_start)
-    [Anonymous Symbol]                       0x0202bf7c   Section        0  mk_flash.o(.text.flash_block_erase)
-    __arm_cp.8_1                             0x0202c0ac   Number         4  mk_flash.o(.text.flash_block_erase)
-    [Anonymous Symbol]                       0x0202c0b0   Section        0  mk_flash.o(.text.flash_check_busy)
-    __arm_cp.10_1                            0x0202c1a0   Number         4  mk_flash.o(.text.flash_check_busy)
-    flash_dma_callback                       0x0202c1a5   Thumb Code   292  mk_flash.o(.text.flash_dma_callback)
-    [Anonymous Symbol]                       0x0202c1a4   Section        0  mk_flash.o(.text.flash_dma_callback)
-    __arm_cp.14_0                            0x0202c2c0   Number         4  mk_flash.o(.text.flash_dma_callback)
-    __arm_cp.14_1                            0x0202c2c4   Number         4  mk_flash.o(.text.flash_dma_callback)
-    flash_dma_write_nbytes_callback          0x0202c2c9   Thumb Code   448  mk_flash.o(.text.flash_dma_write_nbytes_callback)
-    [Anonymous Symbol]                       0x0202c2c8   Section        0  mk_flash.o(.text.flash_dma_write_nbytes_callback)
-    __arm_cp.12_0                            0x0202c478   Number         4  mk_flash.o(.text.flash_dma_write_nbytes_callback)
-    __arm_cp.12_1                            0x0202c47c   Number         4  mk_flash.o(.text.flash_dma_write_nbytes_callback)
-    __arm_cp.12_2                            0x0202c480   Number         4  mk_flash.o(.text.flash_dma_write_nbytes_callback)
-    __arm_cp.12_3                            0x0202c484   Number         4  mk_flash.o(.text.flash_dma_write_nbytes_callback)
-    [Anonymous Symbol]                       0x0202c488   Section        0  mk_flash.o(.text.flash_erase)
-    __arm_cp.9_0                             0x0202c5d4   Number         4  mk_flash.o(.text.flash_erase)
-    [Anonymous Symbol]                       0x0202c5d8   Section        0  mk_flash.o(.text.flash_open)
-    __arm_cp.0_0                             0x0202c858   Number         4  mk_flash.o(.text.flash_open)
-    __arm_cp.0_1                             0x0202c85c   Number         4  mk_flash.o(.text.flash_open)
-    __arm_cp.0_3                             0x0202c860   Number         4  mk_flash.o(.text.flash_open)
-    __arm_cp.0_4                             0x0202c864   Number         4  mk_flash.o(.text.flash_open)
-    __arm_cp.0_5                             0x0202c868   Number         4  mk_flash.o(.text.flash_open)
-    __arm_cp.0_6                             0x0202c86c   Number         4  mk_flash.o(.text.flash_open)
-    [Anonymous Symbol]                       0x0202c870   Section        0  mk_flash.o(.text.flash_read)
-    __arm_cp.15_1                            0x0202cab4   Number         4  mk_flash.o(.text.flash_read)
-    __arm_cp.15_2                            0x0202cab8   Number         4  mk_flash.o(.text.flash_read)
-    __arm_cp.15_3                            0x0202cabc   Number         4  mk_flash.o(.text.flash_read)
-    [Anonymous Symbol]                       0x0202cac0   Section        0  mk_flash.o(.text.flash_sector_erase)
-    __arm_cp.6_2                             0x0202cbf4   Number         4  mk_flash.o(.text.flash_sector_erase)
-    flash_wait_done                          0x0202cbf9   Thumb Code    96  mk_flash.o(.text.flash_wait_done)
-    [Anonymous Symbol]                       0x0202cbf8   Section        0  mk_flash.o(.text.flash_wait_done)
-    __arm_cp.7_0                             0x0202cc54   Number         4  mk_flash.o(.text.flash_wait_done)
-    [Anonymous Symbol]                       0x0202cc58   Section        0  mk_flash.o(.text.flash_write)
-    __arm_cp.13_0                            0x0202ce80   Number         4  mk_flash.o(.text.flash_write)
-    __arm_cp.13_1                            0x0202ce84   Number         4  mk_flash.o(.text.flash_write)
-    __arm_cp.13_2                            0x0202ce88   Number         4  mk_flash.o(.text.flash_write)
-    __arm_cp.13_3                            0x0202ce8c   Number         4  mk_flash.o(.text.flash_write)
-    __arm_cp.13_4                            0x0202ce90   Number         4  mk_flash.o(.text.flash_write)
-    flash_write_cmd                          0x0202ce95   Thumb Code   268  mk_flash.o(.text.flash_write_cmd)
-    [Anonymous Symbol]                       0x0202ce94   Section        0  mk_flash.o(.text.flash_write_cmd)
-    __arm_cp.1_0                             0x0202cf94   Number         4  mk_flash.o(.text.flash_write_cmd)
-    __arm_cp.1_1                             0x0202cf98   Number         4  mk_flash.o(.text.flash_write_cmd)
-    __arm_cp.1_2                             0x0202cf9c   Number         4  mk_flash.o(.text.flash_write_cmd)
-    [Anonymous Symbol]                       0x0202cfa0   Section        0  mk_flash.o(.text.flash_write_nbytes)
-    __arm_cp.11_7                            0x0202d374   Number         4  mk_flash.o(.text.flash_write_nbytes)
-    __arm_cp.11_1                            0x0202d744   Number         4  mk_flash.o(.text.flash_write_nbytes)
-    __arm_cp.11_2                            0x0202d748   Number         4  mk_flash.o(.text.flash_write_nbytes)
-    __arm_cp.11_3                            0x0202d74c   Number         4  mk_flash.o(.text.flash_write_nbytes)
-    __arm_cp.11_4                            0x0202d750   Number         4  mk_flash.o(.text.flash_write_nbytes)
-    __arm_cp.11_5                            0x0202d754   Number         4  mk_flash.o(.text.flash_write_nbytes)
-    __arm_cp.11_6                            0x0202d758   Number         4  mk_flash.o(.text.flash_write_nbytes)
-    [Anonymous Symbol]                       0x0202d75c   Section        0  mk_gpio.o(.text.gpio_open)
-    [Anonymous Symbol]                       0x0202d770   Section        0  mk_io.o(.text.io_pin_mux_set)
-    __arm_cp.0_0                             0x0202d7bc   Number         4  mk_io.o(.text.io_pin_mux_set)
-    [Anonymous Symbol]                       0x0202d7c0   Section        0  customboot.o(.text.main)
-    __arm_cp.1_0                             0x0202d958   Number         4  customboot.o(.text.main)
-    __arm_cp.1_2                             0x0202d97c   Number         4  customboot.o(.text.main)
-    __arm_cp.1_3                             0x0202d980   Number         4  customboot.o(.text.main)
-    __arm_cp.1_4                             0x0202d984   Number         4  customboot.o(.text.main)
-    __arm_cp.1_5                             0x0202d988   Number         4  customboot.o(.text.main)
-    __arm_cp.1_6                             0x0202d98c   Number         4  customboot.o(.text.main)
-    __arm_cp.1_9                             0x0202d9b4   Number         4  customboot.o(.text.main)
-    __arm_cp.1_10                            0x0202d9b8   Number         4  customboot.o(.text.main)
-    __arm_cp.1_11                            0x0202d9bc   Number         4  customboot.o(.text.main)
-    __arm_cp.1_12                            0x0202d9c0   Number         4  customboot.o(.text.main)
-    __arm_cp.1_13                            0x0202d9c4   Number         4  customboot.o(.text.main)
-    [Anonymous Symbol]                       0x0202d9d8   Section        0  mk_misc.o(.text.mk_chip_id)
-    __arm_cp.0_0                             0x0202d9e0   Number         4  mk_misc.o(.text.mk_chip_id)
-    [Anonymous Symbol]                       0x0202d9e4   Section        0  mk_reset.o(.text.reset_module)
-    __arm_cp.2_0                             0x0202d9fc   Number         4  mk_reset.o(.text.reset_module)
-    [Anonymous Symbol]                       0x0202da00   Section        0  startup_mk800x.o(.text.start_main_asm)
-    [Anonymous Symbol]                       0x0202da08   Section        0  mk_misc.o(.text.sys_tick_start)
-    __arm_cp.16_0                            0x0202da2c   Number         4  mk_misc.o(.text.sys_tick_start)
-    __arm_cp.16_1                            0x0202da30   Number         4  mk_misc.o(.text.sys_tick_start)
-    [Anonymous Symbol]                       0x0202da34   Section        0  mk_misc.o(.text.sys_timer_get)
-    [Anonymous Symbol]                       0x0202da40   Section        0  mk_misc.o(.text.sys_timer_open)
-    __arm_cp.7_0                             0x0202da88   Number         4  mk_misc.o(.text.sys_timer_open)
-    __arm_cp.7_1                             0x0202da8c   Number         4  mk_misc.o(.text.sys_timer_open)
-    uart_dma_callback                        0x0202da91   Thumb Code   292  mk_uart.o(.text.uart_dma_callback)
-    [Anonymous Symbol]                       0x0202da90   Section        0  mk_uart.o(.text.uart_dma_callback)
-    [Anonymous Symbol]                       0x0202dbb4   Section        0  mk_uart.o(.text.uart_irq_handler)
-    __arm_cp.19_0                            0x0202ddc8   Number         4  mk_uart.o(.text.uart_irq_handler)
-    [Anonymous Symbol]                       0x0202ddcc   Section        0  mk_uart.o(.text.uart_open)
-    __arm_cp.12_0                            0x0202df44   Number         4  mk_uart.o(.text.uart_open)
-    __arm_cp.12_1                            0x0202df48   Number         4  mk_uart.o(.text.uart_open)
-    __arm_cp.12_2                            0x0202df4c   Number         4  mk_uart.o(.text.uart_open)
-    __arm_cp.12_3                            0x0202df50   Number         4  mk_uart.o(.text.uart_open)
-    __arm_cp.12_5                            0x0202df54   Number         4  mk_uart.o(.text.uart_open)
-    [Anonymous Symbol]                       0x0202df58   Section        0  mk_uart.o(.text.uart_send)
-    __arm_cp.3_0                             0x0202e220   Number         4  mk_uart.o(.text.uart_send)
-    __arm_cp.3_1                             0x0202e224   Number         4  mk_uart.o(.text.uart_send)
-    [Anonymous Symbol]                       0x0202e228   Section        0  mk_wdt.o(.text.wdt_close)
-    __arm_cp.1_0                             0x0202e268   Number         4  mk_wdt.o(.text.wdt_close)
-    __arm_cp.1_1                             0x0202e26c   Number         4  mk_wdt.o(.text.wdt_close)
-    __arm_cp.1_2                             0x0202e270   Number         4  mk_wdt.o(.text.wdt_close)
-    __arm_cp.1_3                             0x0202e274   Number         4  mk_wdt.o(.text.wdt_close)
-    i.__scatterload_copy                     0x0202e278   Section       14  handlers.o(i.__scatterload_copy)
-    i.__scatterload_null                     0x0202e286   Section        2  handlers.o(i.__scatterload_null)
-    i.__scatterload_zeroinit                 0x0202e288   Section       14  handlers.o(i.__scatterload_zeroinit)
-    [Anonymous Symbol]                       0x0202e298   Section        0  mk_misc.o(.rodata..L__const.sys_timer_open.sys_timer_cfg)
-    baud_table                               0x0202e2b0   Data          42  mk_uart.o(.rodata.baud_table)
-    [Anonymous Symbol]                       0x0202e2b0   Section        0  mk_uart.o(.rodata.baud_table)
-    .L__const.flash_write_nbytes.flash_wr_dma_cfg 0x0202e2dc   Data          32  mk_flash.o(.rodata.cst32)
-    .L__const.flash_write.flash_wr_dma_cfg   0x0202e2fc   Data          32  mk_flash.o(.rodata.cst32)
-    .L__const.flash_read.flash_rd_dma_cfg    0x0202e31c   Data          32  mk_flash.o(.rodata.cst32)
-    .L__const.main.test_uart_cfg             0x0202e33c   Data          32  customboot.o(.rodata.cst32)
-    flash_cmd                                0x0202e35c   Data         220  mk_flash.o(.rodata.flash_cmd)
-    [Anonymous Symbol]                       0x0202e35c   Section        0  mk_flash.o(.rodata.flash_cmd)
-    .L.str                                   0x0202e438   Data          83  menu.o(.rodata.str1.1)
-    [Anonymous Symbol]                       0x0202e438   Section        0  menu.o(.rodata.str1.1)
-    sleep_timer_handle.0                     0x0202e800   Data           4  mk_sleep_timer.o(.data..L_MergedGlobals)
-    [Anonymous Symbol]                       0x0202e800   Section        0  mk_sleep_timer.o(.data..L_MergedGlobals)
-    sleep_timer_handle.1                     0x0202e804   Data           4  mk_sleep_timer.o(.data..L_MergedGlobals)
-    sleep_timer_handle.2                     0x0202e808   Data           4  mk_sleep_timer.o(.data..L_MergedGlobals)
-    dma_handle                               0x0202e810   Data          72  mk_dma.o(.data.dma_handle)
-    [Anonymous Symbol]                       0x0202e810   Section        0  mk_dma.o(.data.dma_handle)
-    dual_timer_handle                        0x0202e858   Data          32  mk_dual_timer.o(.data.dual_timer_handle)
-    [Anonymous Symbol]                       0x0202e858   Section        0  mk_dual_timer.o(.data.dual_timer_handle)
-    gpio_handle                              0x0202e8f4   Data          84  mk_gpio.o(.data.gpio_handle)
-    [Anonymous Symbol]                       0x0202e8f4   Section        0  mk_gpio.o(.data.gpio_handle)
-    uart_handle                              0x0202e948   Data         144  mk_uart.o(.data.uart_handle)
-    [Anonymous Symbol]                       0x0202e948   Section        0  mk_uart.o(.data.uart_handle)
-    wdt_handle                               0x0202e9d8   Data          16  mk_wdt.o(.data.wdt_handle)
-    [Anonymous Symbol]                       0x0202e9d8   Section        0  mk_wdt.o(.data.wdt_handle)
-    [Anonymous Symbol]                       0x0202e9e8   Section        0  aes.o(.bss..L_MergedGlobals)
-    [Anonymous Symbol]                       0x0202e9fc   Section        0  ymodem.o(.bss..L_MergedGlobals)
-    [Anonymous Symbol]                       0x0202ea60   Section        0  customboot.o(.bss..L_MergedGlobals)
-    buff                                     0x0202ea72   Data         100  customboot.o(.bss..L_MergedGlobals)
-    sleep_timer_handle.4                     0x0202f240   Data           4  mk_sleep_timer.o(.bss.sleep_timer_handle.4)
-    [Anonymous Symbol]                       0x0202f240   Section        0  mk_sleep_timer.o(.bss.sleep_timer_handle.4)
-    sys_tick_env                             0x0202f244   Data          20  mk_misc.o(.bss.sys_tick_env)
-    [Anonymous Symbol]                       0x0202f244   Section        0  mk_misc.o(.bss.sys_tick_env)
+    __tagsym$$used.0                         0x0202d000   Number         0  startup_mk800x.o(RESET)
+    .ARM.Collect$$$$00000000                 0x0202d0c0   Section        0  entry.o(.ARM.Collect$$$$00000000)
+    .ARM.Collect$$$$00000003                 0x0202d0c0   Section        4  entry4.o(.ARM.Collect$$$$00000003)
+    .ARM.Collect$$$$00000004                 0x0202d0c4   Section        4  entry5.o(.ARM.Collect$$$$00000004)
+    .ARM.Collect$$$$00000008                 0x0202d0c8   Section        0  entry7b.o(.ARM.Collect$$$$00000008)
+    .ARM.Collect$$$$0000000A                 0x0202d0c8   Section        0  entry8b.o(.ARM.Collect$$$$0000000A)
+    .ARM.Collect$$$$0000000B                 0x0202d0c8   Section        8  entry9a.o(.ARM.Collect$$$$0000000B)
+    __lit__00000000                          0x0202d0d0   Data           4  entry4.o(.ARM.Collect$$$$00002714)
+    .ARM.Collect$$$$0000000D                 0x0202d0d0   Section        0  entry10a.o(.ARM.Collect$$$$0000000D)
+    .ARM.Collect$$$$0000000F                 0x0202d0d0   Section        0  entry11a.o(.ARM.Collect$$$$0000000F)
+    .ARM.Collect$$$$00002714                 0x0202d0d0   Section        4  entry4.o(.ARM.Collect$$$$00002714)
+    .text                                    0x0202d0d4   Section        0  uidiv.o(.text)
+    .text                                    0x0202d100   Section        0  memcpya.o(.text)
+    .text                                    0x0202d124   Section        0  memseta.o(.text)
+    .text                                    0x0202d148   Section       36  init.o(.text)
+    .text                                    0x0202d16c   Section        0  __dczerorl.o(.text)
+    [Anonymous Symbol]                       0x0202d1a6   Section        0  mk_misc.o(.text.BOD_IRQHandler)
+    [Anonymous Symbol]                       0x0202d1a8   Section        0  mk_calib.o(.text.CALIB_IRQHandler)
+    [Anonymous Symbol]                       0x0202d1ac   Section        0  mk_dma.o(.text.DMA_IRQHandler)
+    __arm_cp.7_0                             0x0202d210   Number         4  mk_dma.o(.text.DMA_IRQHandler)
+    [Anonymous Symbol]                       0x0202d214   Section        0  startup_mk800x.o(.text.Default_Handler)
+    [Anonymous Symbol]                       0x0202d218   Section        0  mk_flash.o(.text.FLASH_CTRL_IRQHandler)
+    __arm_cp.23_0                            0x0202d240   Number         4  mk_flash.o(.text.FLASH_CTRL_IRQHandler)
+    [Anonymous Symbol]                       0x0202d244   Section        0  mk_gpio.o(.text.GPIO_IRQHandler)
+    __arm_cp.11_0                            0x0202d278   Number         4  mk_gpio.o(.text.GPIO_IRQHandler)
+    [Anonymous Symbol]                       0x0202d27c   Section        0  startup_mk800x.o(.text.Reset_Handler)
+    __arm_cp.1_0                             0x0202d298   Number         4  startup_mk800x.o(.text.Reset_Handler)
+    [Anonymous Symbol]                       0x0202d29c   Section        0  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
+    __arm_cp.7_0                             0x0202d2cc   Number         4  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
+    __arm_cp.7_1                             0x0202d2d0   Number         4  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
+    __arm_cp.7_2                             0x0202d2d4   Number         4  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
+    [Anonymous Symbol]                       0x0202d2d8   Section        0  mk_uart.o(.text.SerialPutChar)
+    __arm_cp.2_0                             0x0202d2f8   Number         4  mk_uart.o(.text.SerialPutChar)
+    [Anonymous Symbol]                       0x0202d2fc   Section        0  mk_uart.o(.text.Serial_PutString)
+    [Anonymous Symbol]                       0x0202d310   Section        0  mk_misc.o(.text.SysTick_Handler)
+    __arm_cp.24_0                            0x0202d324   Number         4  mk_misc.o(.text.SysTick_Handler)
+    [Anonymous Symbol]                       0x0202d328   Section        0  system_mk800x.o(.text.SystemInit)
+    __arm_cp.1_0                             0x0202d330   Number         4  system_mk800x.o(.text.SystemInit)
+    [Anonymous Symbol]                       0x0202d334   Section        0  mk_dual_timer.o(.text.TIMER2_IRQHandler)
+    [Anonymous Symbol]                       0x0202d350   Section        0  mk_dual_timer.o(.text.TIMER3_IRQHandler)
+    __arm_cp.9_0                             0x0202d36c   Number         4  mk_dual_timer.o(.text.TIMER3_IRQHandler)
+    [Anonymous Symbol]                       0x0202d370   Section        0  mk_uart.o(.text.UART0_IRQHandler)
+    [Anonymous Symbol]                       0x0202d37a   Section        0  mk_uart.o(.text.UART1_IRQHandler)
+    [Anonymous Symbol]                       0x0202d384   Section        0  mk_wdt.o(.text.WDT_IRQHandler)
+    __arm_cp.5_0                             0x0202d39c   Number         4  mk_wdt.o(.text.WDT_IRQHandler)
+    [Anonymous Symbol]                       0x0202d3a0   Section        0  board.o(.text.board_clock_run)
+    __arm_cp.0_1                             0x0202d3fc   Number         4  board.o(.text.board_clock_run)
+    __arm_cp.0_2                             0x0202d400   Number         4  board.o(.text.board_clock_run)
+    [Anonymous Symbol]                       0x0202d404   Section        0  board.o(.text.board_configure)
+    [Anonymous Symbol]                       0x0202d408   Section        0  mk_calib.o(.text.calib_check)
+    __arm_cp.3_0                             0x0202d414   Number         4  mk_calib.o(.text.calib_check)
+    [Anonymous Symbol]                       0x0202d418   Section        0  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_0                             0x0202d50c   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_1                             0x0202d510   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_2                             0x0202d514   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_3                             0x0202d518   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_4                             0x0202d51c   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_5                             0x0202d520   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_6                             0x0202d524   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_7                             0x0202d528   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_8                             0x0202d52c   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_10                            0x0202d530   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_11                            0x0202d534   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_12                            0x0202d538   Number         4  mk_calib.o(.text.calib_chip)
+    __arm_cp.4_13                            0x0202d53c   Number         4  mk_calib.o(.text.calib_chip)
+    [Anonymous Symbol]                       0x0202d540   Section        0  mk_calib.o(.text.calib_close)
+    [Anonymous Symbol]                       0x0202d54c   Section        0  mk_calib.o(.text.calib_open)
+    [Anonymous Symbol]                       0x0202d560   Section        0  mk_calib.o(.text.calib_start)
+    __arm_cp.2_0                             0x0202d56c   Number         4  mk_calib.o(.text.calib_start)
+    [Anonymous Symbol]                       0x0202d570   Section        0  mk_clock.o(.text.clock_attach)
+    __arm_cp.2_1                             0x0202d628   Number         4  mk_clock.o(.text.clock_attach)
+    [Anonymous Symbol]                       0x0202d62c   Section        0  mk_clock.o(.text.clock_disable)
+    [Anonymous Symbol]                       0x0202d63c   Section        0  mk_clock.o(.text.clock_enable)
+    __arm_cp.0_0                             0x0202d64c   Number         4  mk_clock.o(.text.clock_enable)
+    clock_get_ahb_clk_freq                   0x0202d651   Thumb Code    20  mk_clock.o(.text.clock_get_ahb_clk_freq)
+    [Anonymous Symbol]                       0x0202d650   Section        0  mk_clock.o(.text.clock_get_ahb_clk_freq)
+    clock_get_apb_clk_freq                   0x0202d665   Thumb Code    20  mk_clock.o(.text.clock_get_apb_clk_freq)
+    [Anonymous Symbol]                       0x0202d664   Section        0  mk_clock.o(.text.clock_get_apb_clk_freq)
+    [Anonymous Symbol]                       0x0202d678   Section        0  mk_clock.o(.text.clock_get_frequency)
+    clock_get_sys_clk_freq                   0x0202d6cd   Thumb Code    36  mk_clock.o(.text.clock_get_sys_clk_freq)
+    [Anonymous Symbol]                       0x0202d6cc   Section        0  mk_clock.o(.text.clock_get_sys_clk_freq)
+    __arm_cp.5_0                             0x0202d6e8   Number         4  mk_clock.o(.text.clock_get_sys_clk_freq)
+    __arm_cp.5_1                             0x0202d6ec   Number         4  mk_clock.o(.text.clock_get_sys_clk_freq)
+    [Anonymous Symbol]                       0x0202d6f0   Section        0  mk_clock.o(.text.clock_set_divider)
+    __arm_cp.3_0                             0x0202d74c   Number         4  mk_clock.o(.text.clock_set_divider)
+    [Anonymous Symbol]                       0x0202d750   Section        0  mk_clock.o(.text.clock_xtal38m4_injection_set)
+    __arm_cp.8_0                             0x0202d778   Number         4  mk_clock.o(.text.clock_xtal38m4_injection_set)
+    __arm_cp.8_1                             0x0202d77c   Number         4  mk_clock.o(.text.clock_xtal38m4_injection_set)
+    __arm_cp.8_2                             0x0202d780   Number         4  mk_clock.o(.text.clock_xtal38m4_injection_set)
+    __arm_cp.8_3                             0x0202d784   Number         4  mk_clock.o(.text.clock_xtal38m4_injection_set)
+    __arm_cp.8_4                             0x0202d788   Number         4  mk_clock.o(.text.clock_xtal38m4_injection_set)
+    [Anonymous Symbol]                       0x0202d78c   Section        0  mk_misc.o(.text.delay_us)
+    loop1                                    0x0202d7a0   Number         0  mk_misc.o(.text.delay_us)
+    exit1                                    0x0202d7a6   Number         0  mk_misc.o(.text.delay_us)
+    [Anonymous Symbol]                       0x0202d7a8   Section        0  mk_dma.o(.text.dma_open)
+    [Anonymous Symbol]                       0x0202d884   Section        0  mk_dma.o(.text.dma_transfer)
+    __arm_cp.4_0                             0x0202d8cc   Number         4  mk_dma.o(.text.dma_transfer)
+    [Anonymous Symbol]                       0x0202d8d0   Section        0  mk_dual_timer.o(.text.dual_timer_get)
+    [Anonymous Symbol]                       0x0202d8dc   Section        0  mk_dual_timer.o(.text.dual_timer_open)
+    __arm_cp.0_1                             0x0202d998   Number         4  mk_dual_timer.o(.text.dual_timer_open)
+    __arm_cp.0_2                             0x0202d99c   Number         4  mk_dual_timer.o(.text.dual_timer_open)
+    __arm_cp.0_3                             0x0202d9a0   Number         4  mk_dual_timer.o(.text.dual_timer_open)
+    __arm_cp.0_4                             0x0202d9a4   Number         4  mk_dual_timer.o(.text.dual_timer_open)
+    [Anonymous Symbol]                       0x0202d9a8   Section        0  mk_dual_timer.o(.text.dual_timer_start)
+    __arm_cp.2_0                             0x0202d9bc   Number         4  mk_dual_timer.o(.text.dual_timer_start)
+    [Anonymous Symbol]                       0x0202d9c0   Section        0  mk_flash.o(.text.flash_check_busy)
+    flash_dma_callback                       0x0202da39   Thumb Code   216  mk_flash.o(.text.flash_dma_callback)
+    [Anonymous Symbol]                       0x0202da38   Section        0  mk_flash.o(.text.flash_dma_callback)
+    [Anonymous Symbol]                       0x0202db10   Section        0  mk_flash.o(.text.flash_open)
+    __arm_cp.0_0                             0x0202dc80   Number         4  mk_flash.o(.text.flash_open)
+    __arm_cp.0_1                             0x0202dc84   Number         4  mk_flash.o(.text.flash_open)
+    __arm_cp.0_2                             0x0202dc88   Number         4  mk_flash.o(.text.flash_open)
+    __arm_cp.0_3                             0x0202dc8c   Number         4  mk_flash.o(.text.flash_open)
+    __arm_cp.0_4                             0x0202dc90   Number         4  mk_flash.o(.text.flash_open)
+    [Anonymous Symbol]                       0x0202dc94   Section        0  mk_flash.o(.text.flash_read)
+    __arm_cp.22_0                            0x0202de0c   Number         4  mk_flash.o(.text.flash_read)
+    __arm_cp.22_1                            0x0202de10   Number         4  mk_flash.o(.text.flash_read)
+    __arm_cp.22_2                            0x0202de14   Number         4  mk_flash.o(.text.flash_read)
+    flash_read_status                        0x0202de19   Thumb Code    32  mk_flash.o(.text.flash_read_status)
+    [Anonymous Symbol]                       0x0202de18   Section        0  mk_flash.o(.text.flash_read_status)
+    flash_reset_cmd                          0x0202de39   Thumb Code    24  mk_flash.o(.text.flash_reset_cmd)
+    [Anonymous Symbol]                       0x0202de38   Section        0  mk_flash.o(.text.flash_reset_cmd)
+    flash_state_update                       0x0202de51   Thumb Code    72  mk_flash.o(.text.flash_state_update)
+    [Anonymous Symbol]                       0x0202de50   Section        0  mk_flash.o(.text.flash_state_update)
+    flash_wait_done                          0x0202de99   Thumb Code    40  mk_flash.o(.text.flash_wait_done)
+    [Anonymous Symbol]                       0x0202de98   Section        0  mk_flash.o(.text.flash_wait_done)
+    flash_wait_status                        0x0202dec1   Thumb Code    56  mk_flash.o(.text.flash_wait_status)
+    [Anonymous Symbol]                       0x0202dec0   Section        0  mk_flash.o(.text.flash_wait_status)
+    __arm_cp.3_0                             0x0202def4   Number         4  mk_flash.o(.text.flash_wait_status)
+    flash_write_cmd                          0x0202def9   Thumb Code   208  mk_flash.o(.text.flash_write_cmd)
+    [Anonymous Symbol]                       0x0202def8   Section        0  mk_flash.o(.text.flash_write_cmd)
+    __arm_cp.2_0                             0x0202dfc0   Number         4  mk_flash.o(.text.flash_write_cmd)
+    __arm_cp.2_2                             0x0202dfc4   Number         4  mk_flash.o(.text.flash_write_cmd)
+    flash_write_mem_cmd                      0x0202dfc9   Thumb Code    40  mk_flash.o(.text.flash_write_mem_cmd)
+    [Anonymous Symbol]                       0x0202dfc8   Section        0  mk_flash.o(.text.flash_write_mem_cmd)
+    __arm_cp.5_1                             0x0202dfec   Number         4  mk_flash.o(.text.flash_write_mem_cmd)
+    flash_write_quad_mode                    0x0202dff1   Thumb Code   116  mk_flash.o(.text.flash_write_quad_mode)
+    [Anonymous Symbol]                       0x0202dff0   Section        0  mk_flash.o(.text.flash_write_quad_mode)
+    __arm_cp.4_0                             0x0202e060   Number         4  mk_flash.o(.text.flash_write_quad_mode)
+    [Anonymous Symbol]                       0x0202e064   Section        0  mk_gpio.o(.text.gpio_close)
+    [Anonymous Symbol]                       0x0202e070   Section        0  mk_gpio.o(.text.gpio_open)
+    [Anonymous Symbol]                       0x0202e084   Section        0  customboot.o(.text.main)
+    __arm_cp.2_0                             0x0202e138   Number         4  customboot.o(.text.main)
+    __arm_cp.2_1                             0x0202e13c   Number         4  customboot.o(.text.main)
+    __arm_cp.2_2                             0x0202e140   Number         4  customboot.o(.text.main)
+    __arm_cp.2_3                             0x0202e144   Number         4  customboot.o(.text.main)
+    __arm_cp.2_4                             0x0202e148   Number         4  customboot.o(.text.main)
+    __arm_cp.2_8                             0x0202e188   Number         4  customboot.o(.text.main)
+    __arm_cp.2_9                             0x0202e18c   Number         4  customboot.o(.text.main)
+    __arm_cp.2_10                            0x0202e190   Number         4  customboot.o(.text.main)
+    [Anonymous Symbol]                       0x0202e194   Section        0  mk_misc.o(.text.mk_chip_id)
+    __arm_cp.0_0                             0x0202e19c   Number         4  mk_misc.o(.text.mk_chip_id)
+    [Anonymous Symbol]                       0x0202e1a0   Section        0  mk_reset.o(.text.reset_module)
+    __arm_cp.2_0                             0x0202e1b8   Number         4  mk_reset.o(.text.reset_module)
+    [Anonymous Symbol]                       0x0202e1bc   Section        0  startup_mk800x.o(.text.start_main_asm)
+    [Anonymous Symbol]                       0x0202e1c4   Section        0  mk_misc.o(.text.sys_tick_start)
+    __arm_cp.16_0                            0x0202e1e8   Number         4  mk_misc.o(.text.sys_tick_start)
+    __arm_cp.16_1                            0x0202e1ec   Number         4  mk_misc.o(.text.sys_tick_start)
+    [Anonymous Symbol]                       0x0202e1f0   Section        0  mk_misc.o(.text.sys_timer_get)
+    [Anonymous Symbol]                       0x0202e1fc   Section        0  mk_misc.o(.text.sys_timer_open)
+    __arm_cp.7_0                             0x0202e240   Number         4  mk_misc.o(.text.sys_timer_open)
+    __arm_cp.7_1                             0x0202e244   Number         4  mk_misc.o(.text.sys_timer_open)
+    [Anonymous Symbol]                       0x0202e248   Section        0  mk_uart.o(.text.uart_close)
+    __arm_cp.13_1                            0x0202e2c0   Number         4  mk_uart.o(.text.uart_close)
+    __arm_cp.13_2                            0x0202e2c4   Number         4  mk_uart.o(.text.uart_close)
+    uart_dma_callback                        0x0202e2c9   Thumb Code   200  mk_uart.o(.text.uart_dma_callback)
+    [Anonymous Symbol]                       0x0202e2c8   Section        0  mk_uart.o(.text.uart_dma_callback)
+    [Anonymous Symbol]                       0x0202e390   Section        0  mk_uart.o(.text.uart_irq_handler)
+    __arm_cp.21_0                            0x0202e504   Number         4  mk_uart.o(.text.uart_irq_handler)
+    [Anonymous Symbol]                       0x0202e508   Section        0  mk_uart.o(.text.uart_send)
+    __arm_cp.3_1                             0x0202e658   Number         4  mk_uart.o(.text.uart_send)
+    uart_state_clear                         0x0202e65d   Thumb Code    56  mk_uart.o(.text.uart_state_clear)
+    [Anonymous Symbol]                       0x0202e65c   Section        0  mk_uart.o(.text.uart_state_clear)
+    __arm_cp.16_0                            0x0202e690   Number         4  mk_uart.o(.text.uart_state_clear)
+    uart_state_set                           0x0202e695   Thumb Code    96  mk_uart.o(.text.uart_state_set)
+    [Anonymous Symbol]                       0x0202e694   Section        0  mk_uart.o(.text.uart_state_set)
+    __arm_cp.14_0                            0x0202e6f0   Number         4  mk_uart.o(.text.uart_state_set)
+    i.__scatterload_copy                     0x0202e6f4   Section       14  handlers.o(i.__scatterload_copy)
+    i.__scatterload_null                     0x0202e702   Section        2  handlers.o(i.__scatterload_null)
+    i.__scatterload_zeroinit                 0x0202e704   Section       14  handlers.o(i.__scatterload_zeroinit)
+    [Anonymous Symbol]                       0x0202e714   Section        0  mk_misc.o(.rodata..L__const.sys_timer_open.sys_timer_cfg)
+    .L__const.flash_write_nbytes.flash_wr_dma_cfg 0x0202e72c   Data          32  mk_flash.o(.rodata.cst32)
+    .L__const.flash_write.flash_wr_dma_cfg   0x0202e74c   Data          32  mk_flash.o(.rodata.cst32)
+    .L__const.flash_read.flash_rd_dma_cfg    0x0202e76c   Data          32  mk_flash.o(.rodata.cst32)
+    flash_cmd                                0x0202e78c   Data         220  mk_flash.o(.rodata.flash_cmd)
+    [Anonymous Symbol]                       0x0202e78c   Section        0  mk_flash.o(.rodata.flash_cmd)
+    sleep_timer_handle.0                     0x0202f400   Data           4  mk_sleep_timer.o(.data..L_MergedGlobals)
+    [Anonymous Symbol]                       0x0202f400   Section        0  mk_sleep_timer.o(.data..L_MergedGlobals)
+    sleep_timer_handle.1                     0x0202f404   Data           4  mk_sleep_timer.o(.data..L_MergedGlobals)
+    sleep_timer_handle.2                     0x0202f408   Data           4  mk_sleep_timer.o(.data..L_MergedGlobals)
+    dma_handle                               0x0202f410   Data          72  mk_dma.o(.data.dma_handle)
+    [Anonymous Symbol]                       0x0202f410   Section        0  mk_dma.o(.data.dma_handle)
+    dual_timer_handle                        0x0202f458   Data          32  mk_dual_timer.o(.data.dual_timer_handle)
+    [Anonymous Symbol]                       0x0202f458   Section        0  mk_dual_timer.o(.data.dual_timer_handle)
+    gpio_handle                              0x0202f4f4   Data          84  mk_gpio.o(.data.gpio_handle)
+    [Anonymous Symbol]                       0x0202f4f4   Section        0  mk_gpio.o(.data.gpio_handle)
+    uart_handle                              0x0202f548   Data         144  mk_uart.o(.data.uart_handle)
+    [Anonymous Symbol]                       0x0202f548   Section        0  mk_uart.o(.data.uart_handle)
+    wdt_handle                               0x0202f5d8   Data          16  mk_wdt.o(.data.wdt_handle)
+    [Anonymous Symbol]                       0x0202f5d8   Section        0  mk_wdt.o(.data.wdt_handle)
+    sleep_timer_handle.4                     0x0202f648   Data           4  mk_sleep_timer.o(.bss.sleep_timer_handle.4)
+    [Anonymous Symbol]                       0x0202f648   Section        0  mk_sleep_timer.o(.bss.sleep_timer_handle.4)
+    sys_tick_env                             0x0202f64c   Data          20  mk_misc.o(.bss.sys_tick_env)
+    [Anonymous Symbol]                       0x0202f64c   Section        0  mk_misc.o(.bss.sys_tick_env)
 
     Global Symbols
 
@@ -1459,167 +1561,119 @@
     __cxa_finalize                            - Undefined Weak Reference
     _clock_init                               - Undefined Weak Reference
     _microlib_exit                            - Undefined Weak Reference
-    __Vectors                                0x0202a000   Data         192  startup_mk800x.o(RESET)
-    __main                                   0x0202a0c1   Thumb Code     0  entry.o(.ARM.Collect$$$$00000000)
-    _main_stk                                0x0202a0c1   Thumb Code     0  entry4.o(.ARM.Collect$$$$00000003)
-    _main_scatterload                        0x0202a0c5   Thumb Code     0  entry5.o(.ARM.Collect$$$$00000004)
-    __main_after_scatterload                 0x0202a0c9   Thumb Code     0  entry5.o(.ARM.Collect$$$$00000004)
-    _main_clock                              0x0202a0c9   Thumb Code     0  entry7b.o(.ARM.Collect$$$$00000008)
-    _main_cpp_init                           0x0202a0c9   Thumb Code     0  entry8b.o(.ARM.Collect$$$$0000000A)
-    _main_init                               0x0202a0c9   Thumb Code     0  entry9a.o(.ARM.Collect$$$$0000000B)
-    __rt_final_cpp                           0x0202a0d1   Thumb Code     0  entry10a.o(.ARM.Collect$$$$0000000D)
-    __rt_final_exit                          0x0202a0d1   Thumb Code     0  entry11a.o(.ARM.Collect$$$$0000000F)
-    __aeabi_uidiv                            0x0202a0d5   Thumb Code     0  uidiv.o(.text)
-    __aeabi_uidivmod                         0x0202a0d5   Thumb Code    44  uidiv.o(.text)
-    __aeabi_memcpy                           0x0202a101   Thumb Code    36  memcpya.o(.text)
-    __aeabi_memcpy4                          0x0202a101   Thumb Code     0  memcpya.o(.text)
-    __aeabi_memcpy8                          0x0202a101   Thumb Code     0  memcpya.o(.text)
-    __scatterload                            0x0202a125   Thumb Code    28  init.o(.text)
-    __scatterload_rt2                        0x0202a125   Thumb Code     0  init.o(.text)
-    __decompress                             0x0202a149   Thumb Code     0  __dczerorl.o(.text)
-    __decompress0                            0x0202a149   Thumb Code    58  __dczerorl.o(.text)
-    BOD_IRQHandler                           0x0202a183   Thumb Code     2  mk_misc.o(.text.BOD_IRQHandler)
-    CALIB_IRQHandler                         0x0202a185   Thumb Code     2  mk_calib.o(.text.CALIB_IRQHandler)
-    Cal_CRC16                                0x0202a189   Thumb Code   308  ymodem.o(.text.Cal_CRC16)
-    DMA_IRQHandler                           0x0202a2bd   Thumb Code   112  mk_dma.o(.text.DMA_IRQHandler)
-    ACMP0_IRQHandler                         0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    ACMP1_IRQHandler                         0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    ADC_IRQHandler                           0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    AES_IRQHandler                           0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    Default_Handler                          0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    HardFault_Handler                        0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    I2C0_IRQHandler                          0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    LSP_IRQHandler                           0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    MAC_IRQHandler                           0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    NMI_Handler                              0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    PHY_IRQHandler                           0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    PHY_TIMER_IRQHandler                     0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    PWM_IRQHandler                           0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    PendSV_Handler                           0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    RCO32K_CAL_IRQHandler                    0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    RTC_ALARM_IRQHandler                     0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    RTC_TICK_IRQHandler                      0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    SPI0_IRQHandler                          0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    SPI1_IRQHandler                          0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    SVC_Handler                              0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    TIMER0_IRQHandler                        0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    TIMER1_IRQHandler                        0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    TRNG_IRQHandler                          0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    WAKEUP_IRQHandler                        0x0202a32d   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
-    FLASH_CTRL_IRQHandler                    0x0202a331   Thumb Code    44  mk_flash.o(.text.FLASH_CTRL_IRQHandler)
-    GPIO_IRQHandler                          0x0202a35d   Thumb Code   380  mk_gpio.o(.text.GPIO_IRQHandler)
-    IAP_JumpTo                               0x0202a4d9   Thumb Code    40  menu.o(.text.IAP_JumpTo)
-    Int2Str                                  0x0202a501   Thumb Code   464  menu.o(.text.Int2Str)
-    InvCipher                                0x0202a6d1   Thumb Code   640  aes.o(.text.InvCipher)
-    InvMixColumn                             0x0202a951   Thumb Code   256  aes.o(.text.InvMixColumn)
-    KeyExpansion                             0x0202aa51   Thumb Code   356  aes.o(.text.KeyExpansion)
-    Main_Menu                                0x0202abb5   Thumb Code   128  menu.o(.text.Main_Menu)
-    Reset_Handler                            0x0202ac35   Thumb Code    32  startup_mk800x.o(.text.Reset_Handler)
-    SLEEP_TIMER_IRQHandler                   0x0202ac55   Thumb Code    60  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
-    Send_Byte                                0x0202ac91   Thumb Code    10  ymodem.o(.text.Send_Byte)
-    SerialDownload                           0x0202ac9d   Thumb Code   168  menu.o(.text.SerialDownload)
-    SerialKeyPressed                         0x0202ad45   Thumb Code    24  mk_uart.o(.text.SerialKeyPressed)
-    SerialPutChar                            0x0202ad5d   Thumb Code    36  mk_uart.o(.text.SerialPutChar)
-    Serial_PutString                         0x0202ad81   Thumb Code    56  mk_uart.o(.text.Serial_PutString)
-    Str2Int                                  0x0202adb9   Thumb Code  1330  ymodem.o(.text.Str2Int)
-    SysTick_Handler                          0x0202b2ed   Thumb Code    24  mk_misc.o(.text.SysTick_Handler)
-    SystemInit                               0x0202b305   Thumb Code    16  system_mk800x.o(.text.SystemInit)
-    TIMER2_IRQHandler                        0x0202b315   Thumb Code    32  mk_dual_timer.o(.text.TIMER2_IRQHandler)
-    TIMER3_IRQHandler                        0x0202b335   Thumb Code    36  mk_dual_timer.o(.text.TIMER3_IRQHandler)
-    UART0_IRQHandler                         0x0202b359   Thumb Code    10  mk_uart.o(.text.UART0_IRQHandler)
-    UART1_IRQHandler                         0x0202b363   Thumb Code    10  mk_uart.o(.text.UART1_IRQHandler)
-    WDT_IRQHandler                           0x0202b36d   Thumb Code    32  mk_wdt.o(.text.WDT_IRQHandler)
-    Ymodem_Receive                           0x0202b38d   Thumb Code   812  ymodem.o(.text.Ymodem_Receive)
-    aesDecInit                               0x0202b6b9   Thumb Code   196  aes.o(.text.aesDecInit)
-    aesDecrypt                               0x0202b77d   Thumb Code   308  aes.o(.text.aesDecrypt)
-    board_clock_run                          0x0202b8b1   Thumb Code   104  board.o(.text.board_clock_run)
-    board_configure                          0x0202b919   Thumb Code     2  board.o(.text.board_configure)
-    board_pins_config                        0x0202b91b   Thumb Code    38  pin_config.o(.text.board_pins_config)
-    calib_check                              0x0202b941   Thumb Code    16  mk_calib.o(.text.calib_check)
-    calib_chip                               0x0202b951   Thumb Code   296  mk_calib.o(.text.calib_chip)
-    calib_close                              0x0202ba79   Thumb Code    12  mk_calib.o(.text.calib_close)
-    calib_open                               0x0202ba85   Thumb Code    20  mk_calib.o(.text.calib_open)
-    calib_start                              0x0202ba99   Thumb Code    16  mk_calib.o(.text.calib_start)
-    clock_attach                             0x0202baa9   Thumb Code   240  mk_clock.o(.text.clock_attach)
-    clock_disable                            0x0202bb99   Thumb Code    16  mk_clock.o(.text.clock_disable)
-    clock_enable                             0x0202bba9   Thumb Code    16  mk_clock.o(.text.clock_enable)
-    clock_get_frequency                      0x0202bbb9   Thumb Code   272  mk_clock.o(.text.clock_get_frequency)
-    clock_set_divider                        0x0202bcc9   Thumb Code   100  mk_clock.o(.text.clock_set_divider)
-    delay_ms                                 0x0202bd2d   Thumb Code    14  menu.o(.text.delay_ms)
-    delay_us                                 0x0202bd3b   Thumb Code    28  mk_misc.o(.text.delay_us)
-    dma_open                                 0x0202bd59   Thumb Code   224  mk_dma.o(.text.dma_open)
-    dma_transfer                             0x0202be39   Thumb Code    80  mk_dma.o(.text.dma_transfer)
-    dual_timer_get                           0x0202be89   Thumb Code    12  mk_dual_timer.o(.text.dual_timer_get)
-    dual_timer_open                          0x0202be95   Thumb Code   208  mk_dual_timer.o(.text.dual_timer_open)
-    dual_timer_start                         0x0202bf65   Thumb Code    24  mk_dual_timer.o(.text.dual_timer_start)
-    flash_block_erase                        0x0202bf7d   Thumb Code   308  mk_flash.o(.text.flash_block_erase)
-    flash_check_busy                         0x0202c0b1   Thumb Code   244  mk_flash.o(.text.flash_check_busy)
-    flash_erase                              0x0202c489   Thumb Code   336  mk_flash.o(.text.flash_erase)
-    flash_open                               0x0202c5d9   Thumb Code   664  mk_flash.o(.text.flash_open)
-    flash_read                               0x0202c871   Thumb Code   592  mk_flash.o(.text.flash_read)
-    flash_sector_erase                       0x0202cac1   Thumb Code   312  mk_flash.o(.text.flash_sector_erase)
-    flash_write                              0x0202cc59   Thumb Code   572  mk_flash.o(.text.flash_write)
-    flash_write_nbytes                       0x0202cfa1   Thumb Code  1980  mk_flash.o(.text.flash_write_nbytes)
-    gpio_open                                0x0202d75d   Thumb Code    20  mk_gpio.o(.text.gpio_open)
-    io_pin_mux_set                           0x0202d771   Thumb Code    80  mk_io.o(.text.io_pin_mux_set)
-    main                                     0x0202d7c1   Thumb Code   536  customboot.o(.text.main)
-    mk_chip_id                               0x0202d9d9   Thumb Code    12  mk_misc.o(.text.mk_chip_id)
-    reset_module                             0x0202d9e5   Thumb Code    28  mk_reset.o(.text.reset_module)
-    start_main_asm                           0x0202da01   Thumb Code     4  startup_mk800x.o(.text.start_main_asm)
-    sys_tick_start                           0x0202da09   Thumb Code    44  mk_misc.o(.text.sys_tick_start)
-    sys_timer_get                            0x0202da35   Thumb Code    12  mk_misc.o(.text.sys_timer_get)
-    sys_timer_open                           0x0202da41   Thumb Code    80  mk_misc.o(.text.sys_timer_open)
-    uart_irq_handler                         0x0202dbb5   Thumb Code   536  mk_uart.o(.text.uart_irq_handler)
-    uart_open                                0x0202ddcd   Thumb Code   396  mk_uart.o(.text.uart_open)
-    uart_send                                0x0202df59   Thumb Code   720  mk_uart.o(.text.uart_send)
-    wdt_close                                0x0202e229   Thumb Code    80  mk_wdt.o(.text.wdt_close)
-    __scatterload_copy                       0x0202e279   Thumb Code    14  handlers.o(i.__scatterload_copy)
-    __scatterload_null                       0x0202e287   Thumb Code     2  handlers.o(i.__scatterload_null)
-    __scatterload_zeroinit                   0x0202e289   Thumb Code    14  handlers.o(i.__scatterload_zeroinit)
-    Region$$Table$$Base                      0x0202e48c   Number         0  anon$$obj.o(Region$$Table)
-    Region$$Table$$Limit                     0x0202e4ac   Number         0  anon$$obj.o(Region$$Table)
-    mk_boot_desc                             0x0202e6a0   Data          72  startup_mk800x.o(.ZBOOT_SECTION)
-    mk_build_inf                             0x0202e6e8   Data          80  startup_mk800x.o(.ZBUILD_SECTION)
-    SystemCoreClock                          0x0202e80c   Data           4  system_mk800x.o(.data.SystemCoreClock)
-    flash_handle                             0x0202e878   Data         124  mk_flash.o(.data.flash_handle)
-    powTbl                                   0x0202e9e8   Data           4  aes.o(.bss..L_MergedGlobals)
-    logTbl                                   0x0202e9ec   Data           4  aes.o(.bss..L_MergedGlobals)
-    sBox                                     0x0202e9f0   Data           4  aes.o(.bss..L_MergedGlobals)
-    expandedKey                              0x0202e9f4   Data           4  aes.o(.bss..L_MergedGlobals)
-    sBoxInv                                  0x0202e9f8   Data           4  aes.o(.bss..L_MergedGlobals)
-    c                                        0x0202e9fc   Data           1  ymodem.o(.bss..L_MergedGlobals)
-    current_seqno                            0x0202e9fe   Data           2  ymodem.o(.bss..L_MergedGlobals)
-    flash_seqno                              0x0202ea00   Data           2  ymodem.o(.bss..L_MergedGlobals)
-    i2                                       0x0202ea02   Data           2  ymodem.o(.bss..L_MergedGlobals)
-    size                                     0x0202ea04   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    flashdestination                         0x0202ea08   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    session_done                             0x0202ea0c   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    errors                                   0x0202ea10   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    session_begin                            0x0202ea14   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    packets_received                         0x0202ea18   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    file_done                                0x0202ea1c   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    buf_ptr                                  0x0202ea20   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    packet_length                            0x0202ea24   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    i                                        0x0202ea28   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    file_ptr                                 0x0202ea2c   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    BufferIn                                 0x0202ea30   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    j                                        0x0202ea34   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    ramsource                                0x0202ea38   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    tempaddress                              0x0202ea3c   Data           4  ymodem.o(.bss..L_MergedGlobals)
-    bufferOut                                0x0202ea40   Data          16  ymodem.o(.bss..L_MergedGlobals)
-    file_size                                0x0202ea50   Data          16  ymodem.o(.bss..L_MergedGlobals)
-    updata_byte                              0x0202ea60   Data           2  customboot.o(.bss..L_MergedGlobals)
-    key                                      0x0202ea62   Data          16  customboot.o(.bss..L_MergedGlobals)
-    FileName                                 0x0202ead6   Data         256  menu.o(.bss.FileName)
-    block1                                   0x0202ebd6   Data         256  aes.o(.bss.block1)
-    block2                                   0x0202ecd6   Data         256  aes.o(.bss.block2)
-    board_param                              0x0202edd8   Data          96  board.o(.bss.board_param)
-    packet_data                              0x0202ee38   Data        1029  ymodem.o(.bss.packet_data)
-    sys_timer_freq                           0x0202f258   Data           4  mk_misc.o(.bss.sys_timer_freq)
-    tab_1024                                 0x0202f25c   Data        1024  menu.o(.bss.tab_1024)
-    tempbuf                                  0x0202f65c   Data         256  aes.o(.bss.tempbuf)
-    time32_reset                             0x0202f75c   Data           4  customboot.o(.bss.time32_reset)
-    Image$$ARM_LIB_STACK$$ZI$$Limit          0x0202fc00   Number         0  anon$$obj.o ABSOLUTE
+    __Vectors                                0x0202d000   Data         192  startup_mk800x.o(RESET)
+    __main                                   0x0202d0c1   Thumb Code     0  entry.o(.ARM.Collect$$$$00000000)
+    _main_stk                                0x0202d0c1   Thumb Code     0  entry4.o(.ARM.Collect$$$$00000003)
+    _main_scatterload                        0x0202d0c5   Thumb Code     0  entry5.o(.ARM.Collect$$$$00000004)
+    __main_after_scatterload                 0x0202d0c9   Thumb Code     0  entry5.o(.ARM.Collect$$$$00000004)
+    _main_clock                              0x0202d0c9   Thumb Code     0  entry7b.o(.ARM.Collect$$$$00000008)
+    _main_cpp_init                           0x0202d0c9   Thumb Code     0  entry8b.o(.ARM.Collect$$$$0000000A)
+    _main_init                               0x0202d0c9   Thumb Code     0  entry9a.o(.ARM.Collect$$$$0000000B)
+    __rt_final_cpp                           0x0202d0d1   Thumb Code     0  entry10a.o(.ARM.Collect$$$$0000000D)
+    __rt_final_exit                          0x0202d0d1   Thumb Code     0  entry11a.o(.ARM.Collect$$$$0000000F)
+    __aeabi_uidiv                            0x0202d0d5   Thumb Code     0  uidiv.o(.text)
+    __aeabi_uidivmod                         0x0202d0d5   Thumb Code    44  uidiv.o(.text)
+    __aeabi_memcpy                           0x0202d101   Thumb Code    36  memcpya.o(.text)
+    __aeabi_memcpy4                          0x0202d101   Thumb Code     0  memcpya.o(.text)
+    __aeabi_memcpy8                          0x0202d101   Thumb Code     0  memcpya.o(.text)
+    __aeabi_memset                           0x0202d125   Thumb Code    14  memseta.o(.text)
+    __aeabi_memset4                          0x0202d125   Thumb Code     0  memseta.o(.text)
+    __aeabi_memset8                          0x0202d125   Thumb Code     0  memseta.o(.text)
+    __aeabi_memclr                           0x0202d133   Thumb Code     4  memseta.o(.text)
+    __aeabi_memclr4                          0x0202d133   Thumb Code     0  memseta.o(.text)
+    __aeabi_memclr8                          0x0202d133   Thumb Code     0  memseta.o(.text)
+    _memset$wrapper                          0x0202d137   Thumb Code    18  memseta.o(.text)
+    __scatterload                            0x0202d149   Thumb Code    28  init.o(.text)
+    __scatterload_rt2                        0x0202d149   Thumb Code     0  init.o(.text)
+    __decompress                             0x0202d16d   Thumb Code     0  __dczerorl.o(.text)
+    __decompress0                            0x0202d16d   Thumb Code    58  __dczerorl.o(.text)
+    BOD_IRQHandler                           0x0202d1a7   Thumb Code     2  mk_misc.o(.text.BOD_IRQHandler)
+    CALIB_IRQHandler                         0x0202d1a9   Thumb Code     2  mk_calib.o(.text.CALIB_IRQHandler)
+    DMA_IRQHandler                           0x0202d1ad   Thumb Code   104  mk_dma.o(.text.DMA_IRQHandler)
+    ACMP0_IRQHandler                         0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    ACMP1_IRQHandler                         0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    ADC_IRQHandler                           0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    AES_IRQHandler                           0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    Default_Handler                          0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    HardFault_Handler                        0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    I2C0_IRQHandler                          0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    LSP_IRQHandler                           0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    MAC_IRQHandler                           0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    NMI_Handler                              0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    PHY_IRQHandler                           0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    PHY_TIMER_IRQHandler                     0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    PWM_IRQHandler                           0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    PendSV_Handler                           0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    RCO32K_CAL_IRQHandler                    0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    RTC_ALARM_IRQHandler                     0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    RTC_TICK_IRQHandler                      0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    SPI0_IRQHandler                          0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    SPI1_IRQHandler                          0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    SVC_Handler                              0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    TIMER0_IRQHandler                        0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    TIMER1_IRQHandler                        0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    TRNG_IRQHandler                          0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    WAKEUP_IRQHandler                        0x0202d215   Thumb Code     2  startup_mk800x.o(.text.Default_Handler)
+    FLASH_CTRL_IRQHandler                    0x0202d219   Thumb Code    44  mk_flash.o(.text.FLASH_CTRL_IRQHandler)
+    GPIO_IRQHandler                          0x0202d245   Thumb Code    56  mk_gpio.o(.text.GPIO_IRQHandler)
+    Reset_Handler                            0x0202d27d   Thumb Code    32  startup_mk800x.o(.text.Reset_Handler)
+    SLEEP_TIMER_IRQHandler                   0x0202d29d   Thumb Code    60  mk_sleep_timer.o(.text.SLEEP_TIMER_IRQHandler)
+    SerialPutChar                            0x0202d2d9   Thumb Code    36  mk_uart.o(.text.SerialPutChar)
+    Serial_PutString                         0x0202d2fd   Thumb Code    20  mk_uart.o(.text.Serial_PutString)
+    SysTick_Handler                          0x0202d311   Thumb Code    24  mk_misc.o(.text.SysTick_Handler)
+    SystemInit                               0x0202d329   Thumb Code    12  system_mk800x.o(.text.SystemInit)
+    TIMER2_IRQHandler                        0x0202d335   Thumb Code    28  mk_dual_timer.o(.text.TIMER2_IRQHandler)
+    TIMER3_IRQHandler                        0x0202d351   Thumb Code    32  mk_dual_timer.o(.text.TIMER3_IRQHandler)
+    UART0_IRQHandler                         0x0202d371   Thumb Code    10  mk_uart.o(.text.UART0_IRQHandler)
+    UART1_IRQHandler                         0x0202d37b   Thumb Code    10  mk_uart.o(.text.UART1_IRQHandler)
+    WDT_IRQHandler                           0x0202d385   Thumb Code    28  mk_wdt.o(.text.WDT_IRQHandler)
+    board_clock_run                          0x0202d3a1   Thumb Code   100  board.o(.text.board_clock_run)
+    board_configure                          0x0202d405   Thumb Code     2  board.o(.text.board_configure)
+    calib_check                              0x0202d409   Thumb Code    16  mk_calib.o(.text.calib_check)
+    calib_chip                               0x0202d419   Thumb Code   296  mk_calib.o(.text.calib_chip)
+    calib_close                              0x0202d541   Thumb Code    12  mk_calib.o(.text.calib_close)
+    calib_open                               0x0202d54d   Thumb Code    20  mk_calib.o(.text.calib_open)
+    calib_start                              0x0202d561   Thumb Code    16  mk_calib.o(.text.calib_start)
+    clock_attach                             0x0202d571   Thumb Code   188  mk_clock.o(.text.clock_attach)
+    clock_disable                            0x0202d62d   Thumb Code    16  mk_clock.o(.text.clock_disable)
+    clock_enable                             0x0202d63d   Thumb Code    20  mk_clock.o(.text.clock_enable)
+    clock_get_frequency                      0x0202d679   Thumb Code    82  mk_clock.o(.text.clock_get_frequency)
+    clock_set_divider                        0x0202d6f1   Thumb Code    96  mk_clock.o(.text.clock_set_divider)
+    clock_xtal38m4_injection_set             0x0202d751   Thumb Code    60  mk_clock.o(.text.clock_xtal38m4_injection_set)
+    delay_us                                 0x0202d78d   Thumb Code    28  mk_misc.o(.text.delay_us)
+    dma_open                                 0x0202d7a9   Thumb Code   220  mk_dma.o(.text.dma_open)
+    dma_transfer                             0x0202d885   Thumb Code    76  mk_dma.o(.text.dma_transfer)
+    dual_timer_get                           0x0202d8d1   Thumb Code    12  mk_dual_timer.o(.text.dual_timer_get)
+    dual_timer_open                          0x0202d8dd   Thumb Code   204  mk_dual_timer.o(.text.dual_timer_open)
+    dual_timer_start                         0x0202d9a9   Thumb Code    24  mk_dual_timer.o(.text.dual_timer_start)
+    flash_check_busy                         0x0202d9c1   Thumb Code   120  mk_flash.o(.text.flash_check_busy)
+    flash_open                               0x0202db11   Thumb Code   388  mk_flash.o(.text.flash_open)
+    flash_read                               0x0202dc95   Thumb Code   388  mk_flash.o(.text.flash_read)
+    gpio_close                               0x0202e065   Thumb Code    12  mk_gpio.o(.text.gpio_close)
+    gpio_open                                0x0202e071   Thumb Code    20  mk_gpio.o(.text.gpio_open)
+    main                                     0x0202e085   Thumb Code   272  customboot.o(.text.main)
+    mk_chip_id                               0x0202e195   Thumb Code    12  mk_misc.o(.text.mk_chip_id)
+    reset_module                             0x0202e1a1   Thumb Code    28  mk_reset.o(.text.reset_module)
+    start_main_asm                           0x0202e1bd   Thumb Code     4  startup_mk800x.o(.text.start_main_asm)
+    sys_tick_start                           0x0202e1c5   Thumb Code    44  mk_misc.o(.text.sys_tick_start)
+    sys_timer_get                            0x0202e1f1   Thumb Code    12  mk_misc.o(.text.sys_timer_get)
+    sys_timer_open                           0x0202e1fd   Thumb Code    76  mk_misc.o(.text.sys_timer_open)
+    uart_close                               0x0202e249   Thumb Code   128  mk_uart.o(.text.uart_close)
+    uart_irq_handler                         0x0202e391   Thumb Code   376  mk_uart.o(.text.uart_irq_handler)
+    uart_send                                0x0202e509   Thumb Code   340  mk_uart.o(.text.uart_send)
+    __scatterload_copy                       0x0202e6f5   Thumb Code    14  handlers.o(i.__scatterload_copy)
+    __scatterload_null                       0x0202e703   Thumb Code     2  handlers.o(i.__scatterload_null)
+    __scatterload_zeroinit                   0x0202e705   Thumb Code    14  handlers.o(i.__scatterload_zeroinit)
+    Region$$Table$$Base                      0x0202e868   Number         0  anon$$obj.o(Region$$Table)
+    Region$$Table$$Limit                     0x0202e888   Number         0  anon$$obj.o(Region$$Table)
+    mk_boot_desc                             0x0202ea70   Data          72  startup_mk800x.o(.ZBOOT_SECTION)
+    mk_build_inf                             0x0202eab8   Data          80  startup_mk800x.o(.ZBUILD_SECTION)
+    SystemCoreClock                          0x0202f40c   Data           4  system_mk800x.o(.data.SystemCoreClock)
+    flash_handle                             0x0202f478   Data         124  mk_flash.o(.data.flash_handle)
+    board_param                              0x0202f5e8   Data          96  board.o(.bss.board_param)
+    sys_timer_freq                           0x0202f660   Data           4  mk_misc.o(.bss.sys_timer_freq)
+    updata_byte                              0x0202f664   Data           2  customboot.o(.bss.updata_byte)
+    Image$$ARM_LIB_STACK$$ZI$$Limit          0x02030000   Number         0  anon$$obj.o ABSOLUTE
 
 
 
@@ -1627,171 +1681,144 @@
 
 Memory Map of the image
 
-  Image Entry point : 0x0202a0c1
+  Image Entry point : 0x0202d0c1
 
-  Load Region LR_ROM (Base: 0x0202a000, Size: 0x00004694, Max: 0x00004760, ABSOLUTE, COMPRESSED[0x00004500])
+  Load Region LR_ROM (Base: 0x0202d000, Size: 0x00001a70, Max: 0x00002360, ABSOLUTE, COMPRESSED[0x000018dc])
 
-    Execution Region ER_ROM (Exec base: 0x0202a000, Load base: 0x0202a000, Size: 0x000044ac, Max: 0x00004760, ABSOLUTE)
+    Execution Region ER_ROM (Exec base: 0x0202d000, Load base: 0x0202d000, Size: 0x00001888, Max: 0x00002360, ABSOLUTE)
 
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
 
-    0x0202a000   0x0202a000   0x000000c0   Data   RO           11    RESET               startup_mk800x.o
-    0x0202a0c0   0x0202a0c0   0x00000000   Code   RO          670  * .ARM.Collect$$$$00000000  mc_p.l(entry.o)
-    0x0202a0c0   0x0202a0c0   0x00000004   Code   RO          697    .ARM.Collect$$$$00000003  mc_p.l(entry4.o)
-    0x0202a0c4   0x0202a0c4   0x00000004   Code   RO          700    .ARM.Collect$$$$00000004  mc_p.l(entry5.o)
-    0x0202a0c8   0x0202a0c8   0x00000000   Code   RO          702    .ARM.Collect$$$$00000008  mc_p.l(entry7b.o)
-    0x0202a0c8   0x0202a0c8   0x00000000   Code   RO          704    .ARM.Collect$$$$0000000A  mc_p.l(entry8b.o)
-    0x0202a0c8   0x0202a0c8   0x00000008   Code   RO          705    .ARM.Collect$$$$0000000B  mc_p.l(entry9a.o)
-    0x0202a0d0   0x0202a0d0   0x00000000   Code   RO          707    .ARM.Collect$$$$0000000D  mc_p.l(entry10a.o)
-    0x0202a0d0   0x0202a0d0   0x00000000   Code   RO          709    .ARM.Collect$$$$0000000F  mc_p.l(entry11a.o)
-    0x0202a0d0   0x0202a0d0   0x00000004   Code   RO          698    .ARM.Collect$$$$00002714  mc_p.l(entry4.o)
-    0x0202a0d4   0x0202a0d4   0x0000002c   Code   RO          673    .text               mc_p.l(uidiv.o)
-    0x0202a100   0x0202a100   0x00000024   Code   RO          679    .text               mc_p.l(memcpya.o)
-    0x0202a124   0x0202a124   0x00000024   Code   RO          723    .text               mc_p.l(init.o)
-    0x0202a148   0x0202a148   0x0000003a   Code   RO          737    .text               mc_p.l(__dczerorl.o)
-    0x0202a182   0x0202a182   0x00000002   Code   RO          361    .text.BOD_IRQHandler  mk_misc.o
-    0x0202a184   0x0202a184   0x00000002   Code   RO          306    .text.CALIB_IRQHandler  mk_calib.o
-    0x0202a186   0x0202a186   0x00000002   PAD
-    0x0202a188   0x0202a188   0x00000134   Code   RO          576    .text.Cal_CRC16     ymodem.o
-    0x0202a2bc   0x0202a2bc   0x00000070   Code   RO           67    .text.DMA_IRQHandler  mk_dma.o
-    0x0202a32c   0x0202a32c   0x00000002   Code   RO            3    .text.Default_Handler  startup_mk800x.o
-    0x0202a32e   0x0202a32e   0x00000002   PAD
-    0x0202a330   0x0202a330   0x0000002c   Code   RO          110    .text.FLASH_CTRL_IRQHandler  mk_flash.o
-    0x0202a35c   0x0202a35c   0x0000017c   Code   RO          275    .text.GPIO_IRQHandler  mk_gpio.o
-    0x0202a4d8   0x0202a4d8   0x00000028   Code   RO          542    .text.IAP_JumpTo    menu.o
-    0x0202a500   0x0202a500   0x000001d0   Code   RO          540    .text.Int2Str       menu.o
-    0x0202a6d0   0x0202a6d0   0x00000280   Code   RO          220    .text.InvCipher     aes.o
-    0x0202a950   0x0202a950   0x00000100   Code   RO          206    .text.InvMixColumn  aes.o
-    0x0202aa50   0x0202aa50   0x00000164   Code   RO          218    .text.KeyExpansion  aes.o
-    0x0202abb4   0x0202abb4   0x00000080   Code   RO          552    .text.Main_Menu     menu.o
-    0x0202ac34   0x0202ac34   0x00000020   Code   RO            5    .text.Reset_Handler  startup_mk800x.o
-    0x0202ac54   0x0202ac54   0x0000003c   Code   RO          527    .text.SLEEP_TIMER_IRQHandler  mk_sleep_timer.o
-    0x0202ac90   0x0202ac90   0x0000000a   Code   RO          572    .text.Send_Byte     ymodem.o
-    0x0202ac9a   0x0202ac9a   0x00000002   PAD
-    0x0202ac9c   0x0202ac9c   0x000000a8   Code   RO          544    .text.SerialDownload  menu.o
-    0x0202ad44   0x0202ad44   0x00000018   Code   RO          139    .text.SerialKeyPressed  mk_uart.o
-    0x0202ad5c   0x0202ad5c   0x00000024   Code   RO          141    .text.SerialPutChar  mk_uart.o
-    0x0202ad80   0x0202ad80   0x00000038   Code   RO          145    .text.Serial_PutString  mk_uart.o
-    0x0202adb8   0x0202adb8   0x00000532   Code   RO          568    .text.Str2Int       ymodem.o
-    0x0202b2ea   0x0202b2ea   0x00000002   PAD
-    0x0202b2ec   0x0202b2ec   0x00000018   Code   RO          401    .text.SysTick_Handler  mk_misc.o
-    0x0202b304   0x0202b304   0x00000010   Code   RO           21    .text.SystemInit    system_mk800x.o
-    0x0202b314   0x0202b314   0x00000020   Code   RO          500    .text.TIMER2_IRQHandler  mk_dual_timer.o
-    0x0202b334   0x0202b334   0x00000024   Code   RO          502    .text.TIMER3_IRQHandler  mk_dual_timer.o
-    0x0202b358   0x0202b358   0x0000000a   Code   RO          177    .text.UART0_IRQHandler  mk_uart.o
-    0x0202b362   0x0202b362   0x0000000a   Code   RO          179    .text.UART1_IRQHandler  mk_uart.o
-    0x0202b36c   0x0202b36c   0x00000020   Code   RO          326    .text.WDT_IRQHandler  mk_wdt.o
-    0x0202b38c   0x0202b38c   0x0000032c   Code   RO          580    .text.Ymodem_Receive  ymodem.o
-    0x0202b6b8   0x0202b6b8   0x000000c4   Code   RO          222    .text.aesDecInit    aes.o
-    0x0202b77c   0x0202b77c   0x00000134   Code   RO          224    .text.aesDecrypt    aes.o
-    0x0202b8b0   0x0202b8b0   0x00000068   Code   RO          621    .text.board_clock_run  board.o
-    0x0202b918   0x0202b918   0x00000002   Code   RO          645    .text.board_configure  board.o
-    0x0202b91a   0x0202b91a   0x00000026   Code   RO          661    .text.board_pins_config  pin_config.o
-    0x0202b940   0x0202b940   0x00000010   Code   RO          292    .text.calib_check   mk_calib.o
-    0x0202b950   0x0202b950   0x00000128   Code   RO          294    .text.calib_chip    mk_calib.o
-    0x0202ba78   0x0202ba78   0x0000000c   Code   RO          288    .text.calib_close   mk_calib.o
-    0x0202ba84   0x0202ba84   0x00000014   Code   RO          286    .text.calib_open    mk_calib.o
-    0x0202ba98   0x0202ba98   0x00000010   Code   RO          290    .text.calib_start   mk_calib.o
-    0x0202baa8   0x0202baa8   0x000000f0   Code   RO           35    .text.clock_attach  mk_clock.o
-    0x0202bb98   0x0202bb98   0x00000010   Code   RO           33    .text.clock_disable  mk_clock.o
-    0x0202bba8   0x0202bba8   0x00000010   Code   RO           31    .text.clock_enable  mk_clock.o
-    0x0202bbb8   0x0202bbb8   0x00000110   Code   RO           39    .text.clock_get_frequency  mk_clock.o
-    0x0202bcc8   0x0202bcc8   0x00000064   Code   RO           37    .text.clock_set_divider  mk_clock.o
-    0x0202bd2c   0x0202bd2c   0x0000000e   Code   RO          550    .text.delay_ms      menu.o
-    0x0202bd3a   0x0202bd3a   0x0000001c   Code   RO          405    .text.delay_us      mk_misc.o
-    0x0202bd56   0x0202bd56   0x00000002   PAD
-    0x0202bd58   0x0202bd58   0x000000e0   Code   RO           53    .text.dma_open      mk_dma.o
-    0x0202be38   0x0202be38   0x00000050   Code   RO           61    .text.dma_transfer  mk_dma.o
-    0x0202be88   0x0202be88   0x0000000c   Code   RO          496    .text.dual_timer_get  mk_dual_timer.o
-    0x0202be94   0x0202be94   0x000000d0   Code   RO          484    .text.dual_timer_open  mk_dual_timer.o
-    0x0202bf64   0x0202bf64   0x00000018   Code   RO          488    .text.dual_timer_start  mk_dual_timer.o
-    0x0202bf7c   0x0202bf7c   0x00000134   Code   RO           94    .text.flash_block_erase  mk_flash.o
-    0x0202c0b0   0x0202c0b0   0x000000f4   Code   RO           98    .text.flash_check_busy  mk_flash.o
-    0x0202c1a4   0x0202c1a4   0x00000124   Code   RO          106    .text.flash_dma_callback  mk_flash.o
-    0x0202c2c8   0x0202c2c8   0x000001c0   Code   RO          102    .text.flash_dma_write_nbytes_callback  mk_flash.o
-    0x0202c488   0x0202c488   0x00000150   Code   RO           96    .text.flash_erase   mk_flash.o
-    0x0202c5d8   0x0202c5d8   0x00000298   Code   RO           78    .text.flash_open    mk_flash.o
-    0x0202c870   0x0202c870   0x00000250   Code   RO          108    .text.flash_read    mk_flash.o
-    0x0202cac0   0x0202cac0   0x00000138   Code   RO           90    .text.flash_sector_erase  mk_flash.o
-    0x0202cbf8   0x0202cbf8   0x00000060   Code   RO           92    .text.flash_wait_done  mk_flash.o
-    0x0202cc58   0x0202cc58   0x0000023c   Code   RO          104    .text.flash_write   mk_flash.o
-    0x0202ce94   0x0202ce94   0x0000010c   Code   RO           80    .text.flash_write_cmd  mk_flash.o
-    0x0202cfa0   0x0202cfa0   0x000007bc   Code   RO          100    .text.flash_write_nbytes  mk_flash.o
-    0x0202d75c   0x0202d75c   0x00000014   Code   RO          253    .text.gpio_open     mk_gpio.o
-    0x0202d770   0x0202d770   0x00000050   Code   RO          337    .text.io_pin_mux_set  mk_io.o
-    0x0202d7c0   0x0202d7c0   0x00000218   Code   RO          604    .text.main          customboot.o
-    0x0202d9d8   0x0202d9d8   0x0000000c   Code   RO          353    .text.mk_chip_id    mk_misc.o
-    0x0202d9e4   0x0202d9e4   0x0000001c   Code   RO          127    .text.reset_module  mk_reset.o
-    0x0202da00   0x0202da00   0x00000008   Code   RO            7    .text.start_main_asm  startup_mk800x.o
-    0x0202da08   0x0202da08   0x0000002c   Code   RO          385    .text.sys_tick_start  mk_misc.o
-    0x0202da34   0x0202da34   0x0000000c   Code   RO          371    .text.sys_timer_get  mk_misc.o
-    0x0202da40   0x0202da40   0x00000050   Code   RO          367    .text.sys_timer_open  mk_misc.o
-    0x0202da90   0x0202da90   0x00000124   Code   RO          165    .text.uart_dma_callback  mk_uart.o
-    0x0202dbb4   0x0202dbb4   0x00000218   Code   RO          175    .text.uart_irq_handler  mk_uart.o
-    0x0202ddcc   0x0202ddcc   0x0000018c   Code   RO          161    .text.uart_open     mk_uart.o
-    0x0202df58   0x0202df58   0x000002d0   Code   RO          143    .text.uart_send     mk_uart.o
-    0x0202e228   0x0202e228   0x00000050   Code   RO          318    .text.wdt_close     mk_wdt.o
-    0x0202e278   0x0202e278   0x0000000e   Code   RO          731    i.__scatterload_copy  mc_p.l(handlers.o)
-    0x0202e286   0x0202e286   0x00000002   Code   RO          732    i.__scatterload_null  mc_p.l(handlers.o)
-    0x0202e288   0x0202e288   0x0000000e   Code   RO          733    i.__scatterload_zeroinit  mc_p.l(handlers.o)
-    0x0202e296   0x0202e296   0x00000002   PAD
-    0x0202e298   0x0202e298   0x00000018   Data   RO          425    .rodata..L__const.sys_timer_open.sys_timer_cfg  mk_misc.o
-    0x0202e2b0   0x0202e2b0   0x0000002a   Data   RO          186    .rodata.baud_table  mk_uart.o
-    0x0202e2da   0x0202e2da   0x00000002   PAD
-    0x0202e2dc   0x0202e2dc   0x00000060   Data   RO          113    .rodata.cst32       mk_flash.o
-    0x0202e33c   0x0202e33c   0x00000020   Data   RO          609    .rodata.cst32       customboot.o
-    0x0202e35c   0x0202e35c   0x000000dc   Data   RO          114    .rodata.flash_cmd   mk_flash.o
-    0x0202e438   0x0202e438   0x00000053   Data   RO          556    .rodata.str1.1      menu.o
-    0x0202e48b   0x0202e48b   0x00000001   PAD
-    0x0202e48c   0x0202e48c   0x00000020   Data   RO          730    Region$$Table       anon$$obj.o
+    0x0202d000   0x0202d000   0x000000c0   Data   RO           11    RESET               startup_mk800x.o
+    0x0202d0c0   0x0202d0c0   0x00000000   Code   RO          723  * .ARM.Collect$$$$00000000  mc_p.l(entry.o)
+    0x0202d0c0   0x0202d0c0   0x00000004   Code   RO          750    .ARM.Collect$$$$00000003  mc_p.l(entry4.o)
+    0x0202d0c4   0x0202d0c4   0x00000004   Code   RO          753    .ARM.Collect$$$$00000004  mc_p.l(entry5.o)
+    0x0202d0c8   0x0202d0c8   0x00000000   Code   RO          755    .ARM.Collect$$$$00000008  mc_p.l(entry7b.o)
+    0x0202d0c8   0x0202d0c8   0x00000000   Code   RO          757    .ARM.Collect$$$$0000000A  mc_p.l(entry8b.o)
+    0x0202d0c8   0x0202d0c8   0x00000008   Code   RO          758    .ARM.Collect$$$$0000000B  mc_p.l(entry9a.o)
+    0x0202d0d0   0x0202d0d0   0x00000000   Code   RO          760    .ARM.Collect$$$$0000000D  mc_p.l(entry10a.o)
+    0x0202d0d0   0x0202d0d0   0x00000000   Code   RO          762    .ARM.Collect$$$$0000000F  mc_p.l(entry11a.o)
+    0x0202d0d0   0x0202d0d0   0x00000004   Code   RO          751    .ARM.Collect$$$$00002714  mc_p.l(entry4.o)
+    0x0202d0d4   0x0202d0d4   0x0000002c   Code   RO          726    .text               mc_p.l(uidiv.o)
+    0x0202d100   0x0202d100   0x00000024   Code   RO          732    .text               mc_p.l(memcpya.o)
+    0x0202d124   0x0202d124   0x00000024   Code   RO          734    .text               mc_p.l(memseta.o)
+    0x0202d148   0x0202d148   0x00000024   Code   RO          776    .text               mc_p.l(init.o)
+    0x0202d16c   0x0202d16c   0x0000003a   Code   RO          790    .text               mc_p.l(__dczerorl.o)
+    0x0202d1a6   0x0202d1a6   0x00000002   Code   RO          387    .text.BOD_IRQHandler  mk_misc.o
+    0x0202d1a8   0x0202d1a8   0x00000002   Code   RO          332    .text.CALIB_IRQHandler  mk_calib.o
+    0x0202d1aa   0x0202d1aa   0x00000002   PAD
+    0x0202d1ac   0x0202d1ac   0x00000068   Code   RO           73    .text.DMA_IRQHandler  mk_dma.o
+    0x0202d214   0x0202d214   0x00000002   Code   RO            3    .text.Default_Handler  startup_mk800x.o
+    0x0202d216   0x0202d216   0x00000002   PAD
+    0x0202d218   0x0202d218   0x0000002c   Code   RO          130    .text.FLASH_CTRL_IRQHandler  mk_flash.o
+    0x0202d244   0x0202d244   0x00000038   Code   RO          301    .text.GPIO_IRQHandler  mk_gpio.o
+    0x0202d27c   0x0202d27c   0x00000020   Code   RO            5    .text.Reset_Handler  startup_mk800x.o
+    0x0202d29c   0x0202d29c   0x0000003c   Code   RO          553    .text.SLEEP_TIMER_IRQHandler  mk_sleep_timer.o
+    0x0202d2d8   0x0202d2d8   0x00000024   Code   RO          163    .text.SerialPutChar  mk_uart.o
+    0x0202d2fc   0x0202d2fc   0x00000014   Code   RO          167    .text.Serial_PutString  mk_uart.o
+    0x0202d310   0x0202d310   0x00000018   Code   RO          427    .text.SysTick_Handler  mk_misc.o
+    0x0202d328   0x0202d328   0x0000000c   Code   RO           21    .text.SystemInit    system_mk800x.o
+    0x0202d334   0x0202d334   0x0000001c   Code   RO          526    .text.TIMER2_IRQHandler  mk_dual_timer.o
+    0x0202d350   0x0202d350   0x00000020   Code   RO          528    .text.TIMER3_IRQHandler  mk_dual_timer.o
+    0x0202d370   0x0202d370   0x0000000a   Code   RO          203    .text.UART0_IRQHandler  mk_uart.o
+    0x0202d37a   0x0202d37a   0x0000000a   Code   RO          205    .text.UART1_IRQHandler  mk_uart.o
+    0x0202d384   0x0202d384   0x0000001c   Code   RO          352    .text.WDT_IRQHandler  mk_wdt.o
+    0x0202d3a0   0x0202d3a0   0x00000064   Code   RO          664    .text.board_clock_run  board.o
+    0x0202d404   0x0202d404   0x00000002   Code   RO          688    .text.board_configure  board.o
+    0x0202d406   0x0202d406   0x00000002   PAD
+    0x0202d408   0x0202d408   0x00000010   Code   RO          318    .text.calib_check   mk_calib.o
+    0x0202d418   0x0202d418   0x00000128   Code   RO          320    .text.calib_chip    mk_calib.o
+    0x0202d540   0x0202d540   0x0000000c   Code   RO          314    .text.calib_close   mk_calib.o
+    0x0202d54c   0x0202d54c   0x00000014   Code   RO          312    .text.calib_open    mk_calib.o
+    0x0202d560   0x0202d560   0x00000010   Code   RO          316    .text.calib_start   mk_calib.o
+    0x0202d570   0x0202d570   0x000000bc   Code   RO           35    .text.clock_attach  mk_clock.o
+    0x0202d62c   0x0202d62c   0x00000010   Code   RO           33    .text.clock_disable  mk_clock.o
+    0x0202d63c   0x0202d63c   0x00000014   Code   RO           31    .text.clock_enable  mk_clock.o
+    0x0202d650   0x0202d650   0x00000014   Code   RO           43    .text.clock_get_ahb_clk_freq  mk_clock.o
+    0x0202d664   0x0202d664   0x00000014   Code   RO           45    .text.clock_get_apb_clk_freq  mk_clock.o
+    0x0202d678   0x0202d678   0x00000052   Code   RO           39    .text.clock_get_frequency  mk_clock.o
+    0x0202d6ca   0x0202d6ca   0x00000002   PAD
+    0x0202d6cc   0x0202d6cc   0x00000024   Code   RO           41    .text.clock_get_sys_clk_freq  mk_clock.o
+    0x0202d6f0   0x0202d6f0   0x00000060   Code   RO           37    .text.clock_set_divider  mk_clock.o
+    0x0202d750   0x0202d750   0x0000003c   Code   RO           47    .text.clock_xtal38m4_injection_set  mk_clock.o
+    0x0202d78c   0x0202d78c   0x0000001c   Code   RO          431    .text.delay_us      mk_misc.o
+    0x0202d7a8   0x0202d7a8   0x000000dc   Code   RO           59    .text.dma_open      mk_dma.o
+    0x0202d884   0x0202d884   0x0000004c   Code   RO           67    .text.dma_transfer  mk_dma.o
+    0x0202d8d0   0x0202d8d0   0x0000000c   Code   RO          522    .text.dual_timer_get  mk_dual_timer.o
+    0x0202d8dc   0x0202d8dc   0x000000cc   Code   RO          510    .text.dual_timer_open  mk_dual_timer.o
+    0x0202d9a8   0x0202d9a8   0x00000018   Code   RO          514    .text.dual_timer_start  mk_dual_timer.o
+    0x0202d9c0   0x0202d9c0   0x00000078   Code   RO          114    .text.flash_check_busy  mk_flash.o
+    0x0202da38   0x0202da38   0x000000d8   Code   RO          126    .text.flash_dma_callback  mk_flash.o
+    0x0202db10   0x0202db10   0x00000184   Code   RO           84    .text.flash_open    mk_flash.o
+    0x0202dc94   0x0202dc94   0x00000184   Code   RO          128    .text.flash_read    mk_flash.o
+    0x0202de18   0x0202de18   0x00000020   Code   RO          132    .text.flash_read_status  mk_flash.o
+    0x0202de38   0x0202de38   0x00000018   Code   RO           86    .text.flash_reset_cmd  mk_flash.o
+    0x0202de50   0x0202de50   0x00000048   Code   RO          106    .text.flash_state_update  mk_flash.o
+    0x0202de98   0x0202de98   0x00000028   Code   RO          108    .text.flash_wait_done  mk_flash.o
+    0x0202dec0   0x0202dec0   0x00000038   Code   RO           90    .text.flash_wait_status  mk_flash.o
+    0x0202def8   0x0202def8   0x000000d0   Code   RO           88    .text.flash_write_cmd  mk_flash.o
+    0x0202dfc8   0x0202dfc8   0x00000028   Code   RO           94    .text.flash_write_mem_cmd  mk_flash.o
+    0x0202dff0   0x0202dff0   0x00000074   Code   RO           92    .text.flash_write_quad_mode  mk_flash.o
+    0x0202e064   0x0202e064   0x0000000c   Code   RO          281    .text.gpio_close    mk_gpio.o
+    0x0202e070   0x0202e070   0x00000014   Code   RO          279    .text.gpio_open     mk_gpio.o
+    0x0202e084   0x0202e084   0x00000110   Code   RO          636    .text.main          customboot.o
+    0x0202e194   0x0202e194   0x0000000c   Code   RO          379    .text.mk_chip_id    mk_misc.o
+    0x0202e1a0   0x0202e1a0   0x0000001c   Code   RO          149    .text.reset_module  mk_reset.o
+    0x0202e1bc   0x0202e1bc   0x00000008   Code   RO            7    .text.start_main_asm  startup_mk800x.o
+    0x0202e1c4   0x0202e1c4   0x0000002c   Code   RO          411    .text.sys_tick_start  mk_misc.o
+    0x0202e1f0   0x0202e1f0   0x0000000c   Code   RO          397    .text.sys_timer_get  mk_misc.o
+    0x0202e1fc   0x0202e1fc   0x0000004c   Code   RO          393    .text.sys_timer_open  mk_misc.o
+    0x0202e248   0x0202e248   0x00000080   Code   RO          185    .text.uart_close    mk_uart.o
+    0x0202e2c8   0x0202e2c8   0x000000c8   Code   RO          189    .text.uart_dma_callback  mk_uart.o
+    0x0202e390   0x0202e390   0x00000178   Code   RO          201    .text.uart_irq_handler  mk_uart.o
+    0x0202e508   0x0202e508   0x00000154   Code   RO          165    .text.uart_send     mk_uart.o
+    0x0202e65c   0x0202e65c   0x00000038   Code   RO          191    .text.uart_state_clear  mk_uart.o
+    0x0202e694   0x0202e694   0x00000060   Code   RO          187    .text.uart_state_set  mk_uart.o
+    0x0202e6f4   0x0202e6f4   0x0000000e   Code   RO          784    i.__scatterload_copy  mc_p.l(handlers.o)
+    0x0202e702   0x0202e702   0x00000002   Code   RO          785    i.__scatterload_null  mc_p.l(handlers.o)
+    0x0202e704   0x0202e704   0x0000000e   Code   RO          786    i.__scatterload_zeroinit  mc_p.l(handlers.o)
+    0x0202e712   0x0202e712   0x00000002   PAD
+    0x0202e714   0x0202e714   0x00000018   Data   RO          451    .rodata..L__const.sys_timer_open.sys_timer_cfg  mk_misc.o
+    0x0202e72c   0x0202e72c   0x00000060   Data   RO          135    .rodata.cst32       mk_flash.o
+    0x0202e78c   0x0202e78c   0x000000dc   Data   RO          136    .rodata.flash_cmd   mk_flash.o
+    0x0202e868   0x0202e868   0x00000020   Data   RO          783    Region$$Table       anon$$obj.o
 
 
-    Execution Region RW_RAM1 (Exec base: 0x0202e800, Load base: 0x0202e4ac, Size: 0x00000f60, Max: 0x00001200, ABSOLUTE, COMPRESSED[0x00000054])
+    Execution Region RW_RAM1 (Exec base: 0x0202f400, Load base: 0x0202e888, Size: 0x00000268, Max: 0x00000a00, ABSOLUTE, COMPRESSED[0x00000054])
 
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
 
-    0x0202e800   COMPRESSED   0x0000000c   Data   RW          531    .data..L_MergedGlobals  mk_sleep_timer.o
-    0x0202e80c   COMPRESSED   0x00000004   Data   RW           23    .data.SystemCoreClock  system_mk800x.o
-    0x0202e810   COMPRESSED   0x00000048   Data   RW           69    .data.dma_handle    mk_dma.o
-    0x0202e858   COMPRESSED   0x00000020   Data   RW          504    .data.dual_timer_handle  mk_dual_timer.o
-    0x0202e878   COMPRESSED   0x0000007c   Data   RW          112    .data.flash_handle  mk_flash.o
-    0x0202e8f4   COMPRESSED   0x00000054   Data   RW          277    .data.gpio_handle   mk_gpio.o
-    0x0202e948   COMPRESSED   0x00000090   Data   RW          185    .data.uart_handle   mk_uart.o
-    0x0202e9d8   COMPRESSED   0x00000010   Data   RW          328    .data.wdt_handle    mk_wdt.o
-    0x0202e9e8        -       0x00000014   Zero   RW          244    .bss..L_MergedGlobals  aes.o
-    0x0202e9fc        -       0x00000064   Zero   RW          593    .bss..L_MergedGlobals  ymodem.o
-    0x0202ea60        -       0x00000076   Zero   RW          612    .bss..L_MergedGlobals  customboot.o
-    0x0202ead6        -       0x00000100   Zero   RW          557    .bss.FileName       menu.o
-    0x0202ebd6        -       0x00000100   Zero   RW          242    .bss.block1         aes.o
-    0x0202ecd6        -       0x00000100   Zero   RW          241    .bss.block2         aes.o
-    0x0202edd6   COMPRESSED   0x00000002   PAD
-    0x0202edd8        -       0x00000060   Zero   RW          651    .bss.board_param    board.o
-    0x0202ee38        -       0x00000405   Zero   RW          592    .bss.packet_data    ymodem.o
-    0x0202f23d   COMPRESSED   0x00000003   PAD
-    0x0202f240        -       0x00000004   Zero   RW          530    .bss.sleep_timer_handle.4  mk_sleep_timer.o
-    0x0202f244        -       0x00000014   Zero   RW          427    .bss.sys_tick_env   mk_misc.o
-    0x0202f258        -       0x00000004   Zero   RW          424    .bss.sys_timer_freq  mk_misc.o
-    0x0202f25c        -       0x00000400   Zero   RW          555    .bss.tab_1024       menu.o
-    0x0202f65c        -       0x00000100   Zero   RW          243    .bss.tempbuf        aes.o
-    0x0202f75c        -       0x00000004   Zero   RW          606    .bss.time32_reset   customboot.o
+    0x0202f400   COMPRESSED   0x0000000c   Data   RW          557    .data..L_MergedGlobals  mk_sleep_timer.o
+    0x0202f40c   COMPRESSED   0x00000004   Data   RW           23    .data.SystemCoreClock  system_mk800x.o
+    0x0202f410   COMPRESSED   0x00000048   Data   RW           75    .data.dma_handle    mk_dma.o
+    0x0202f458   COMPRESSED   0x00000020   Data   RW          530    .data.dual_timer_handle  mk_dual_timer.o
+    0x0202f478   COMPRESSED   0x0000007c   Data   RW          134    .data.flash_handle  mk_flash.o
+    0x0202f4f4   COMPRESSED   0x00000054   Data   RW          303    .data.gpio_handle   mk_gpio.o
+    0x0202f548   COMPRESSED   0x00000090   Data   RW          211    .data.uart_handle   mk_uart.o
+    0x0202f5d8   COMPRESSED   0x00000010   Data   RW          354    .data.wdt_handle    mk_wdt.o
+    0x0202f5e8        -       0x00000060   Zero   RW          694    .bss.board_param    board.o
+    0x0202f648        -       0x00000004   Zero   RW          556    .bss.sleep_timer_handle.4  mk_sleep_timer.o
+    0x0202f64c        -       0x00000014   Zero   RW          453    .bss.sys_tick_env   mk_misc.o
+    0x0202f660        -       0x00000004   Zero   RW          450    .bss.sys_timer_freq  mk_misc.o
+    0x0202f664        -       0x00000002   Zero   RW          642    .bss.updata_byte    customboot.o
 
 
-    Execution Region ARM_LIB_STACK (Exec base: 0x0202fa00, Load base: 0x0202e500, Size: 0x00000200, Max: 0x00000200, ABSOLUTE)
+    Execution Region ARM_LIB_STACK (Exec base: 0x0202fe00, Load base: 0x0202e8dc, Size: 0x00000200, Max: 0x00000200, ABSOLUTE)
 
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
 
-    0x0202fa00        -       0x00000200   Zero   RW            1    ARM_LIB_STACK.bss   anon$$obj.o
+    0x0202fe00        -       0x00000200   Zero   RW            1    ARM_LIB_STACK.bss   anon$$obj.o
 
 
 
-  Load Region LR_ROM1 (Base: 0x0202e6a0, Size: 0x00000098, Max: 0x000000a0, ABSOLUTE)
+  Load Region LR_ROM1 (Base: 0x0202ea70, Size: 0x00000098, Max: 0x000000a0, ABSOLUTE)
 
-    Execution Region USR (Exec base: 0x0202e6a0, Load base: 0x0202e6a0, Size: 0x00000098, Max: 0x000000a0, ABSOLUTE)
+    Execution Region USR (Exec base: 0x0202ea70, Load base: 0x0202ea70, Size: 0x00000098, Max: 0x000000a0, ABSOLUTE)
 
     Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object
 
-    0x0202e6a0   0x0202e6a0   0x00000048   Data   RO            9    .ZBOOT_SECTION      startup_mk800x.o
-    0x0202e6e8   0x0202e6e8   0x00000050   Data   RO           10    .ZBUILD_SECTION     startup_mk800x.o
+    0x0202ea70   0x0202ea70   0x00000048   Data   RO            9    .ZBOOT_SECTION      startup_mk800x.o
+    0x0202eab8   0x0202eab8   0x00000050   Data   RO           10    .ZBUILD_SECTION     startup_mk800x.o
 
 
 ==============================================================================
@@ -1801,31 +1828,26 @@
 
       Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Object Name
 
-      1756         24          0          0        788      20841   aes.o
-       106          8          0          0         96       6443   board.o
-       536        128         32          0        122       4577   customboot.o
-       814        112         83          0       1280       4842   menu.o
+       102          8          0          0         96       6447   board.o
+       272         92          0          0          2       3076   customboot.o
        362         60          0          0          0       6289   mk_calib.o
-       644         44          0          0          0       7601   mk_clock.o
-       416          8          0         72          0       9009   mk_dma.o
-       312         24          0         32          0       7064   mk_dual_timer.o
-      6156        156        316        124          0      39672   mk_flash.o
-       400          4          0         84          0       9561   mk_gpio.o
-        80          4          0          0          0       4119   mk_io.o
-       202         24         24          0         24      14960   mk_misc.o
+       538         52          0          0          0       6806   mk_clock.o
+       400          8          0         72          0       8880   mk_dma.o
+       300         24          0         32          0       7024   mk_dual_timer.o
+      1744         56        316        124          0      22721   mk_flash.o
+        88          4          0         84          0       8904   mk_gpio.o
+       198         24         24          0         24      14597   mk_misc.o
         28          4          0          0          0       3693   mk_reset.o
         60         12          0         12          4       5762   mk_sleep_timer.o
-      2080        250         42        144          0      22990   mk_uart.o
-       112         20          0         16          0       5958   mk_wdt.o
-        38          0          0          0          0        981   pin_config.o
+      1272         42          0        144          0      18106   mk_uart.o
+        28          4          0         16          0       5931   mk_wdt.o
         42          8        344          0          0       3035   startup_mk800x.o
-        16          8          0          4          0        707   system_mk800x.o
-      2460        452          0          0       1129      17111   ymodem.o
+        12          4          0          4          0        707   system_mk800x.o
 
     ----------------------------------------------------------------------
-     16630       1350        876        488       3960     195215   Object Totals
+      5454        402        716        488        640     121978   Object Totals
          0          0         32          0        512          0   (incl. Generated)
-        10          0          3          0          5          0   (incl. Padding)
+         8          0          0          0          2          0   (incl. Padding)
 
     ----------------------------------------------------------------------
 
@@ -1843,20 +1865,21 @@
         30          0          0          0          0          0   handlers.o
         36          8          0          0          0         68   init.o
         36          0          0          0          0         60   memcpya.o
+        36          0          0          0          0        100   memseta.o
         44          0          0          0          0         72   uidiv.o
 
     ----------------------------------------------------------------------
-       226         16          0          0          0        200   Library Totals
+       262         16          0          0          0        300   Library Totals
          2          0          0          0          0          0   (incl. Padding)
 
     ----------------------------------------------------------------------
 
       Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Library Name
 
-       224         16          0          0          0        200   mc_p.l
+       260         16          0          0          0        300   mc_p.l
 
     ----------------------------------------------------------------------
-       226         16          0          0          0        200   Library Totals
+       262         16          0          0          0        300   Library Totals
 
     ----------------------------------------------------------------------
 
@@ -1865,15 +1888,15 @@
 
       Code (inc. data)   RO Data    RW Data    ZI Data      Debug   
 
-     16856       1366        876        488       3960     195343   Grand Totals
-     16856       1366        876         84       3960     195343   ELF Image Totals (compressed)
-     16856       1366        876         84          0          0   ROM Totals
+      5716        418        716        488        640     122242   Grand Totals
+      5716        418        716         84        640     122242   ELF Image Totals (compressed)
+      5716        418        716         84          0          0   ROM Totals
 
 ==============================================================================
 
-    Total RO  Size (Code + RO Data)                17732 (  17.32kB)
-    Total RW  Size (RW Data + ZI Data)              4448 (   4.34kB)
-    Total ROM Size (Code + RO Data + RW Data)      17816 (  17.40kB)
+    Total RO  Size (Code + RO Data)                 6432 (   6.28kB)
+    Total RW  Size (RW Data + ZI Data)              1128 (   1.10kB)
+    Total ROM Size (Code + RO Data + RW Data)       6516 (   6.36kB)
 
 ==============================================================================
 

--
Gitblit v1.9.3