boot V1.01.03: download CLI help 追加 'keys: TAB = complete' 提示串

- Boot/src/boot_cli.c: CmdHelp 无参分支在命令表后打印 keys 提示串(对齐 APP 的 help)
- 撤回 ready banner 临时加的 (TAB = complete),提示只放 help,与 APP 风格一致
- Boot/src/boot_version.h: V1.01.02 -> V1.01.03
- docs/开发日志.md: 新增 §55
This commit is contained in:
evan.liu 2026-09-06 08:50:00 +08:00
parent 9dad3daf61
commit 17e814a883
8 changed files with 1031 additions and 1016 deletions

View File

@ -487,129 +487,129 @@ Image Symbol Table
i.CmdDevInfo 0x01000958 Section 0 boot_cli.o(i.CmdDevInfo)
CmdDevInfo 0x01000959 Thumb Code 90 boot_cli.o(i.CmdDevInfo)
i.CmdHelp 0x01000a38 Section 0 boot_cli.o(i.CmdHelp)
CmdHelp 0x01000a39 Thumb Code 114 boot_cli.o(i.CmdHelp)
i.CmdOta 0x01000aec Section 0 boot_cli.o(i.CmdOta)
CmdOta 0x01000aed Thumb Code 20 boot_cli.o(i.CmdOta)
i.CmdReset 0x01000b08 Section 0 boot_cli.o(i.CmdReset)
CmdReset 0x01000b09 Thumb Code 34 boot_cli.o(i.CmdReset)
i.CmdUartInfo 0x01000b44 Section 0 boot_cli.o(i.CmdUartInfo)
CmdUartInfo 0x01000b45 Thumb Code 26 boot_cli.o(i.CmdUartInfo)
i.CmdVersion 0x01000bf4 Section 0 boot_cli.o(i.CmdVersion)
CmdVersion 0x01000bf5 Thumb Code 26 boot_cli.o(i.CmdVersion)
i.DMA_DeInit 0x01000c68 Section 0 n32wb03x_dma.o(i.DMA_DeInit)
i.DMA_EnableChannel 0x01000d08 Section 0 n32wb03x_dma.o(i.DMA_EnableChannel)
i.DMA_GetCurrDataCounter 0x01000d24 Section 0 n32wb03x_dma.o(i.DMA_GetCurrDataCounter)
i.DMA_Init 0x01000d2c Section 0 n32wb03x_dma.o(i.DMA_Init)
i.DMA_RequestRemap 0x01000d6c Section 0 n32wb03x_dma.o(i.DMA_RequestRemap)
i.GPIO_InitPeripheral 0x01000d7c Section 0 n32wb03x_gpio.o(i.GPIO_InitPeripheral)
i.GPIO_InitStruct 0x01000e84 Section 0 n32wb03x_gpio.o(i.GPIO_InitStruct)
i.GPIO_ReadInputDataBit 0x01000ea0 Section 0 n32wb03x_gpio.o(i.GPIO_ReadInputDataBit)
i.OTPTrim_Read 0x01000eb4 Section 0 system_n32wb03x.o(i.OTPTrim_Read)
i.Qflash_Erase_Sector 0x01000f80 Section 0 n32wb03x_qflash.o(i.Qflash_Erase_Sector)
i.Qflash_Init 0x01000fbc Section 0 n32wb03x_qflash.o(i.Qflash_Init)
i.Qflash_Write 0x01000ff4 Section 0 n32wb03x_qflash.o(i.Qflash_Write)
i.RCC_EnableAHBPeriphClk 0x01001038 Section 0 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk)
i.RCC_EnableAPB2PeriphClk 0x01001058 Section 0 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk)
i.RCC_GetClocksFreqValue 0x01001078 Section 0 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue)
i.RCC_HsiCalib 0x0100111c Section 0 system_n32wb03x.o(i.RCC_HsiCalib)
RCC_HsiCalib 0x0100111d Thumb Code 296 system_n32wb03x.o(i.RCC_HsiCalib)
i.SystemInit 0x0100124c Section 0 system_n32wb03x.o(i.SystemInit)
i.SystemTrimValueRead 0x01001368 Section 0 system_n32wb03x.o(i.SystemTrimValueRead)
i.USART_Enable 0x0100137c Section 0 n32wb03x_usart.o(i.USART_Enable)
i.USART_EnableDMA 0x0100139c Section 0 n32wb03x_usart.o(i.USART_EnableDMA)
i.USART_GetFlagStatus 0x010013b0 Section 0 n32wb03x_usart.o(i.USART_GetFlagStatus)
i.USART_Init 0x010013d0 Section 0 n32wb03x_usart.o(i.USART_Init)
i.USART_SendData 0x01001484 Section 0 n32wb03x_usart.o(i.USART_SendData)
i.__aeabi_errno_addr 0x0100148c Section 0 errno.o(i.__aeabi_errno_addr)
i.__scatterload_copy 0x01001494 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x010014a2 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x010014a4 Section 14 handlers.o(i.__scatterload_zeroinit)
i.__set_PRIMASK 0x010014b2 Section 0 system_n32wb03x.o(i.__set_PRIMASK)
__set_PRIMASK 0x010014b3 Thumb Code 6 system_n32wb03x.o(i.__set_PRIMASK)
i.__set_PRIMASK 0x010014b8 Section 0 n32wb03x_qflash.o(i.__set_PRIMASK)
__set_PRIMASK 0x010014b9 Thumb Code 6 n32wb03x_qflash.o(i.__set_PRIMASK)
i.app_ota_abort 0x010014c0 Section 0 app_ota.o(i.app_ota_abort)
i.app_ota_chan_idle 0x010014fc Section 0 app_ota.o(i.app_ota_chan_idle)
i.app_ota_chan_rx 0x01001510 Section 0 app_ota.o(i.app_ota_chan_rx)
i.app_ota_chan_rx_uart 0x01001650 Section 0 app_ota.o(i.app_ota_chan_rx_uart)
i.app_ota_handle_frame 0x01001674 Section 0 app_ota.o(i.app_ota_handle_frame)
i.app_ota_reset_poll 0x010016f0 Section 0 app_ota.o(i.app_ota_reset_poll)
i.boot_cli_redraw 0x0100174c Section 0 boot_cli.o(i.boot_cli_redraw)
boot_cli_redraw 0x0100174d Thumb Code 60 boot_cli.o(i.boot_cli_redraw)
i.boot_cli_run 0x01001798 Section 0 boot_cli.o(i.boot_cli_run)
i.boot_cli_tab_complete 0x010018f4 Section 0 boot_cli.o(i.boot_cli_tab_complete)
boot_cli_tab_complete 0x010018f5 Thumb Code 306 boot_cli.o(i.boot_cli_tab_complete)
i.boot_delay_ms 0x01001a38 Section 0 boot_usart.o(i.boot_delay_ms)
i.boot_dl_strap_active 0x01001a50 Section 0 main.o(i.boot_dl_strap_active)
boot_dl_strap_active 0x01001a51 Thumb Code 58 main.o(i.boot_dl_strap_active)
i.boot_millis 0x01001a90 Section 0 boot_usart.o(i.boot_millis)
i.boot_usart_init 0x01001ab8 Section 0 boot_usart.o(i.boot_usart_init)
i.boot_usart_read 0x01001bc8 Section 0 boot_usart.o(i.boot_usart_read)
i.boot_usart_rx_head 0x01001c08 Section 0 boot_usart.o(i.boot_usart_rx_head)
boot_usart_rx_head 0x01001c09 Thumb Code 18 boot_usart.o(i.boot_usart_rx_head)
i.boot_usart_write 0x01001c20 Section 0 boot_usart.o(i.boot_usart_write)
i.bootset_commit 0x01001c50 Section 0 app_bootset.o(i.bootset_commit)
bootset_commit 0x01001c51 Thumb Code 74 app_bootset.o(i.bootset_commit)
i.bootset_crc 0x01001ca4 Section 0 app_bootset.o(i.bootset_crc)
bootset_crc 0x01001ca5 Thumb Code 14 app_bootset.o(i.bootset_crc)
i.bootset_ensure_qflash 0x01001cb4 Section 0 app_bootset.o(i.bootset_ensure_qflash)
bootset_ensure_qflash 0x01001cb5 Thumb Code 22 app_bootset.o(i.bootset_ensure_qflash)
i.bootset_print 0x01001cd0 Section 0 app_bootset.o(i.bootset_print)
bootset_print 0x01001cd1 Thumb Code 98 app_bootset.o(i.bootset_print)
i.bootset_valid 0x01001e3c Section 0 app_bootset.o(i.bootset_valid)
bootset_valid 0x01001e3d Thumb Code 32 app_bootset.o(i.bootset_valid)
i.caiic_crc32 0x01001e60 Section 0 boot_crc32.o(i.caiic_crc32)
i.cli_exec_line 0x01001ea4 Section 0 boot_cli.o(i.cli_exec_line)
cli_exec_line 0x01001ea5 Thumb Code 162 boot_cli.o(i.cli_exec_line)
i.cli_printf 0x01001f70 Section 0 boot_cli.o(i.cli_printf)
i.cli_write 0x0100210c Section 0 boot_cli.o(i.cli_write)
i.image_sane 0x01002124 Section 0 main.o(i.image_sane)
image_sane 0x01002125 Thumb Code 44 main.o(i.image_sane)
i.jump_to_app 0x01002158 Section 0 main.o(i.jump_to_app)
jump_to_app 0x01002159 Thumb Code 30 main.o(i.jump_to_app)
i.main 0x0100217c Section 0 main.o(i.main)
i.ota_crc16 0x01002340 Section 0 app_ota.o(i.ota_crc16)
ota_crc16 0x01002341 Thumb Code 68 app_ota.o(i.ota_crc16)
i.ota_erase_up_to 0x0100238c Section 0 app_ota.o(i.ota_erase_up_to)
ota_erase_up_to 0x0100238d Thumb Code 54 app_ota.o(i.ota_erase_up_to)
i.ota_on_begin 0x010023cc Section 0 app_ota.o(i.ota_on_begin)
ota_on_begin 0x010023cd Thumb Code 294 app_ota.o(i.ota_on_begin)
i.ota_on_data 0x0100253c Section 0 app_ota.o(i.ota_on_data)
ota_on_data 0x0100253d Thumb Code 396 app_ota.o(i.ota_on_data)
i.ota_on_end 0x010026e4 Section 0 app_ota.o(i.ota_on_end)
ota_on_end 0x010026e5 Thumb Code 326 app_ota.o(i.ota_on_end)
i.ota_program 0x01002854 Section 0 app_ota.o(i.ota_program)
ota_program 0x01002855 Thumb Code 46 app_ota.o(i.ota_program)
i.ota_rd32 0x0100288c Section 0 app_ota.o(i.ota_rd32)
ota_rd32 0x0100288d Thumb Code 24 app_ota.o(i.ota_rd32)
i.ota_respond 0x010028a4 Section 0 app_ota.o(i.ota_respond)
ota_respond 0x010028a5 Thumb Code 118 app_ota.o(i.ota_respond)
i.ota_uart_sink 0x01002920 Section 0 app_ota.o(i.ota_uart_sink)
ota_uart_sink 0x01002921 Thumb Code 22 app_ota.o(i.ota_uart_sink)
i.ota_update_bootsetting 0x0100293c Section 0 app_ota.o(i.ota_update_bootsetting)
ota_update_bootsetting 0x0100293d Thumb Code 174 app_ota.o(i.ota_update_bootsetting)
i.parse_u32 0x01002a08 Section 0 app_bootset.o(i.parse_u32)
parse_u32 0x01002a09 Thumb Code 46 app_bootset.o(i.parse_u32)
i.puts_boot 0x01002a36 Section 0 main.o(i.puts_boot)
puts_boot 0x01002a37 Thumb Code 24 main.o(i.puts_boot)
i.read_flash_ID 0x01002a50 Section 0 system_n32wb03x.o(i.read_flash_ID)
read_flash_ID 0x01002a51 Thumb Code 62 system_n32wb03x.o(i.read_flash_ID)
i.str_pad 0x01002a94 Section 0 boot_cli.o(i.str_pad)
str_pad 0x01002a95 Thumb Code 78 boot_cli.o(i.str_pad)
i.u32_to_str 0x01002ae2 Section 0 boot_cli.o(i.u32_to_str)
u32_to_str 0x01002ae3 Thumb Code 108 boot_cli.o(i.u32_to_str)
.constdata 0x01002b4e Section 472 system_n32wb03x.o(.constdata)
.constdata 0x01002d28 Section 108 boot_cli.o(.constdata)
s_cmds 0x01002d28 Data 108 boot_cli.o(.constdata)
.constdata 0x01002d94 Section 12 n32wb03x_rcc.o(.constdata)
s_ApbPresTable 0x01002d94 Data 8 n32wb03x_rcc.o(.constdata)
s_AhbPresTable 0x01002d9c Data 4 n32wb03x_rcc.o(.constdata)
.constdata 0x01002da0 Section 804 n32wb03x_qflash.o(.constdata)
.constdata 0x010030c4 Section 129 ctype_o.o(.constdata)
.constdata 0x01003148 Section 4 ctype_o.o(.constdata)
table 0x01003148 Data 4 ctype_o.o(.constdata)
.conststring 0x0100314c Section 682 boot_cli.o(.conststring)
.conststring 0x010033f8 Section 145 app_bootset.o(.conststring)
CmdHelp 0x01000a39 Thumb Code 120 boot_cli.o(i.CmdHelp)
i.CmdOta 0x01000b08 Section 0 boot_cli.o(i.CmdOta)
CmdOta 0x01000b09 Thumb Code 20 boot_cli.o(i.CmdOta)
i.CmdReset 0x01000b24 Section 0 boot_cli.o(i.CmdReset)
CmdReset 0x01000b25 Thumb Code 34 boot_cli.o(i.CmdReset)
i.CmdUartInfo 0x01000b60 Section 0 boot_cli.o(i.CmdUartInfo)
CmdUartInfo 0x01000b61 Thumb Code 26 boot_cli.o(i.CmdUartInfo)
i.CmdVersion 0x01000c10 Section 0 boot_cli.o(i.CmdVersion)
CmdVersion 0x01000c11 Thumb Code 26 boot_cli.o(i.CmdVersion)
i.DMA_DeInit 0x01000c84 Section 0 n32wb03x_dma.o(i.DMA_DeInit)
i.DMA_EnableChannel 0x01000d24 Section 0 n32wb03x_dma.o(i.DMA_EnableChannel)
i.DMA_GetCurrDataCounter 0x01000d40 Section 0 n32wb03x_dma.o(i.DMA_GetCurrDataCounter)
i.DMA_Init 0x01000d48 Section 0 n32wb03x_dma.o(i.DMA_Init)
i.DMA_RequestRemap 0x01000d88 Section 0 n32wb03x_dma.o(i.DMA_RequestRemap)
i.GPIO_InitPeripheral 0x01000d98 Section 0 n32wb03x_gpio.o(i.GPIO_InitPeripheral)
i.GPIO_InitStruct 0x01000ea0 Section 0 n32wb03x_gpio.o(i.GPIO_InitStruct)
i.GPIO_ReadInputDataBit 0x01000ebc Section 0 n32wb03x_gpio.o(i.GPIO_ReadInputDataBit)
i.OTPTrim_Read 0x01000ed0 Section 0 system_n32wb03x.o(i.OTPTrim_Read)
i.Qflash_Erase_Sector 0x01000f9c Section 0 n32wb03x_qflash.o(i.Qflash_Erase_Sector)
i.Qflash_Init 0x01000fd8 Section 0 n32wb03x_qflash.o(i.Qflash_Init)
i.Qflash_Write 0x01001010 Section 0 n32wb03x_qflash.o(i.Qflash_Write)
i.RCC_EnableAHBPeriphClk 0x01001054 Section 0 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk)
i.RCC_EnableAPB2PeriphClk 0x01001074 Section 0 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk)
i.RCC_GetClocksFreqValue 0x01001094 Section 0 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue)
i.RCC_HsiCalib 0x01001138 Section 0 system_n32wb03x.o(i.RCC_HsiCalib)
RCC_HsiCalib 0x01001139 Thumb Code 296 system_n32wb03x.o(i.RCC_HsiCalib)
i.SystemInit 0x01001268 Section 0 system_n32wb03x.o(i.SystemInit)
i.SystemTrimValueRead 0x01001384 Section 0 system_n32wb03x.o(i.SystemTrimValueRead)
i.USART_Enable 0x01001398 Section 0 n32wb03x_usart.o(i.USART_Enable)
i.USART_EnableDMA 0x010013b8 Section 0 n32wb03x_usart.o(i.USART_EnableDMA)
i.USART_GetFlagStatus 0x010013cc Section 0 n32wb03x_usart.o(i.USART_GetFlagStatus)
i.USART_Init 0x010013ec Section 0 n32wb03x_usart.o(i.USART_Init)
i.USART_SendData 0x010014a0 Section 0 n32wb03x_usart.o(i.USART_SendData)
i.__aeabi_errno_addr 0x010014a8 Section 0 errno.o(i.__aeabi_errno_addr)
i.__scatterload_copy 0x010014b0 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x010014be Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x010014c0 Section 14 handlers.o(i.__scatterload_zeroinit)
i.__set_PRIMASK 0x010014ce Section 0 system_n32wb03x.o(i.__set_PRIMASK)
__set_PRIMASK 0x010014cf Thumb Code 6 system_n32wb03x.o(i.__set_PRIMASK)
i.__set_PRIMASK 0x010014d4 Section 0 n32wb03x_qflash.o(i.__set_PRIMASK)
__set_PRIMASK 0x010014d5 Thumb Code 6 n32wb03x_qflash.o(i.__set_PRIMASK)
i.app_ota_abort 0x010014dc Section 0 app_ota.o(i.app_ota_abort)
i.app_ota_chan_idle 0x01001518 Section 0 app_ota.o(i.app_ota_chan_idle)
i.app_ota_chan_rx 0x0100152c Section 0 app_ota.o(i.app_ota_chan_rx)
i.app_ota_chan_rx_uart 0x0100166c Section 0 app_ota.o(i.app_ota_chan_rx_uart)
i.app_ota_handle_frame 0x01001690 Section 0 app_ota.o(i.app_ota_handle_frame)
i.app_ota_reset_poll 0x0100170c Section 0 app_ota.o(i.app_ota_reset_poll)
i.boot_cli_redraw 0x01001768 Section 0 boot_cli.o(i.boot_cli_redraw)
boot_cli_redraw 0x01001769 Thumb Code 60 boot_cli.o(i.boot_cli_redraw)
i.boot_cli_run 0x010017b4 Section 0 boot_cli.o(i.boot_cli_run)
i.boot_cli_tab_complete 0x01001910 Section 0 boot_cli.o(i.boot_cli_tab_complete)
boot_cli_tab_complete 0x01001911 Thumb Code 306 boot_cli.o(i.boot_cli_tab_complete)
i.boot_delay_ms 0x01001a54 Section 0 boot_usart.o(i.boot_delay_ms)
i.boot_dl_strap_active 0x01001a6c Section 0 main.o(i.boot_dl_strap_active)
boot_dl_strap_active 0x01001a6d Thumb Code 58 main.o(i.boot_dl_strap_active)
i.boot_millis 0x01001aac Section 0 boot_usart.o(i.boot_millis)
i.boot_usart_init 0x01001ad4 Section 0 boot_usart.o(i.boot_usart_init)
i.boot_usart_read 0x01001be4 Section 0 boot_usart.o(i.boot_usart_read)
i.boot_usart_rx_head 0x01001c24 Section 0 boot_usart.o(i.boot_usart_rx_head)
boot_usart_rx_head 0x01001c25 Thumb Code 18 boot_usart.o(i.boot_usart_rx_head)
i.boot_usart_write 0x01001c3c Section 0 boot_usart.o(i.boot_usart_write)
i.bootset_commit 0x01001c6c Section 0 app_bootset.o(i.bootset_commit)
bootset_commit 0x01001c6d Thumb Code 74 app_bootset.o(i.bootset_commit)
i.bootset_crc 0x01001cc0 Section 0 app_bootset.o(i.bootset_crc)
bootset_crc 0x01001cc1 Thumb Code 14 app_bootset.o(i.bootset_crc)
i.bootset_ensure_qflash 0x01001cd0 Section 0 app_bootset.o(i.bootset_ensure_qflash)
bootset_ensure_qflash 0x01001cd1 Thumb Code 22 app_bootset.o(i.bootset_ensure_qflash)
i.bootset_print 0x01001cec Section 0 app_bootset.o(i.bootset_print)
bootset_print 0x01001ced Thumb Code 98 app_bootset.o(i.bootset_print)
i.bootset_valid 0x01001e58 Section 0 app_bootset.o(i.bootset_valid)
bootset_valid 0x01001e59 Thumb Code 32 app_bootset.o(i.bootset_valid)
i.caiic_crc32 0x01001e7c Section 0 boot_crc32.o(i.caiic_crc32)
i.cli_exec_line 0x01001ec0 Section 0 boot_cli.o(i.cli_exec_line)
cli_exec_line 0x01001ec1 Thumb Code 162 boot_cli.o(i.cli_exec_line)
i.cli_printf 0x01001f8c Section 0 boot_cli.o(i.cli_printf)
i.cli_write 0x01002128 Section 0 boot_cli.o(i.cli_write)
i.image_sane 0x01002140 Section 0 main.o(i.image_sane)
image_sane 0x01002141 Thumb Code 44 main.o(i.image_sane)
i.jump_to_app 0x01002174 Section 0 main.o(i.jump_to_app)
jump_to_app 0x01002175 Thumb Code 30 main.o(i.jump_to_app)
i.main 0x01002198 Section 0 main.o(i.main)
i.ota_crc16 0x0100235c Section 0 app_ota.o(i.ota_crc16)
ota_crc16 0x0100235d Thumb Code 68 app_ota.o(i.ota_crc16)
i.ota_erase_up_to 0x010023a8 Section 0 app_ota.o(i.ota_erase_up_to)
ota_erase_up_to 0x010023a9 Thumb Code 54 app_ota.o(i.ota_erase_up_to)
i.ota_on_begin 0x010023e8 Section 0 app_ota.o(i.ota_on_begin)
ota_on_begin 0x010023e9 Thumb Code 294 app_ota.o(i.ota_on_begin)
i.ota_on_data 0x01002558 Section 0 app_ota.o(i.ota_on_data)
ota_on_data 0x01002559 Thumb Code 396 app_ota.o(i.ota_on_data)
i.ota_on_end 0x01002700 Section 0 app_ota.o(i.ota_on_end)
ota_on_end 0x01002701 Thumb Code 326 app_ota.o(i.ota_on_end)
i.ota_program 0x01002870 Section 0 app_ota.o(i.ota_program)
ota_program 0x01002871 Thumb Code 46 app_ota.o(i.ota_program)
i.ota_rd32 0x010028a8 Section 0 app_ota.o(i.ota_rd32)
ota_rd32 0x010028a9 Thumb Code 24 app_ota.o(i.ota_rd32)
i.ota_respond 0x010028c0 Section 0 app_ota.o(i.ota_respond)
ota_respond 0x010028c1 Thumb Code 118 app_ota.o(i.ota_respond)
i.ota_uart_sink 0x0100293c Section 0 app_ota.o(i.ota_uart_sink)
ota_uart_sink 0x0100293d Thumb Code 22 app_ota.o(i.ota_uart_sink)
i.ota_update_bootsetting 0x01002958 Section 0 app_ota.o(i.ota_update_bootsetting)
ota_update_bootsetting 0x01002959 Thumb Code 174 app_ota.o(i.ota_update_bootsetting)
i.parse_u32 0x01002a24 Section 0 app_bootset.o(i.parse_u32)
parse_u32 0x01002a25 Thumb Code 46 app_bootset.o(i.parse_u32)
i.puts_boot 0x01002a52 Section 0 main.o(i.puts_boot)
puts_boot 0x01002a53 Thumb Code 24 main.o(i.puts_boot)
i.read_flash_ID 0x01002a6c Section 0 system_n32wb03x.o(i.read_flash_ID)
read_flash_ID 0x01002a6d Thumb Code 62 system_n32wb03x.o(i.read_flash_ID)
i.str_pad 0x01002ab0 Section 0 boot_cli.o(i.str_pad)
str_pad 0x01002ab1 Thumb Code 78 boot_cli.o(i.str_pad)
i.u32_to_str 0x01002afe Section 0 boot_cli.o(i.u32_to_str)
u32_to_str 0x01002aff Thumb Code 108 boot_cli.o(i.u32_to_str)
.constdata 0x01002b6a Section 472 system_n32wb03x.o(.constdata)
.constdata 0x01002d44 Section 108 boot_cli.o(.constdata)
s_cmds 0x01002d44 Data 108 boot_cli.o(.constdata)
.constdata 0x01002db0 Section 12 n32wb03x_rcc.o(.constdata)
s_ApbPresTable 0x01002db0 Data 8 n32wb03x_rcc.o(.constdata)
s_AhbPresTable 0x01002db8 Data 4 n32wb03x_rcc.o(.constdata)
.constdata 0x01002dbc Section 804 n32wb03x_qflash.o(.constdata)
.constdata 0x010030e0 Section 129 ctype_o.o(.constdata)
.constdata 0x01003164 Section 4 ctype_o.o(.constdata)
table 0x01003164 Data 4 ctype_o.o(.constdata)
.conststring 0x01003168 Section 666 boot_cli.o(.conststring)
.conststring 0x01003404 Section 145 app_bootset.o(.conststring)
.data 0x20004000 Section 4 system_n32wb03x.o(.data)
.data 0x20004004 Section 8 boot_usart.o(.data)
s_rxTail 0x20004004 Data 2 boot_usart.o(.data)
@ -747,55 +747,55 @@ Image Symbol Table
AppBootset_CmdAppswitch 0x01000369 Thumb Code 282 app_bootset.o(i.AppBootset_CmdAppswitch)
AppBootset_CmdBsdump 0x01000641 Thumb Code 28 app_bootset.o(i.AppBootset_CmdBsdump)
AppBootset_CmdBsset 0x01000661 Thumb Code 348 app_bootset.o(i.AppBootset_CmdBsset)
DMA_DeInit 0x01000c69 Thumb Code 152 n32wb03x_dma.o(i.DMA_DeInit)
DMA_EnableChannel 0x01000d09 Thumb Code 24 n32wb03x_dma.o(i.DMA_EnableChannel)
DMA_GetCurrDataCounter 0x01000d25 Thumb Code 8 n32wb03x_dma.o(i.DMA_GetCurrDataCounter)
DMA_Init 0x01000d2d Thumb Code 58 n32wb03x_dma.o(i.DMA_Init)
DMA_RequestRemap 0x01000d6d Thumb Code 16 n32wb03x_dma.o(i.DMA_RequestRemap)
GPIO_InitPeripheral 0x01000d7d Thumb Code 262 n32wb03x_gpio.o(i.GPIO_InitPeripheral)
GPIO_InitStruct 0x01000e85 Thumb Code 24 n32wb03x_gpio.o(i.GPIO_InitStruct)
GPIO_ReadInputDataBit 0x01000ea1 Thumb Code 20 n32wb03x_gpio.o(i.GPIO_ReadInputDataBit)
OTPTrim_Read 0x01000eb5 Thumb Code 192 system_n32wb03x.o(i.OTPTrim_Read)
Qflash_Erase_Sector 0x01000f81 Thumb Code 54 n32wb03x_qflash.o(i.Qflash_Erase_Sector)
Qflash_Init 0x01000fbd Thumb Code 36 n32wb03x_qflash.o(i.Qflash_Init)
Qflash_Write 0x01000ff5 Thumb Code 62 n32wb03x_qflash.o(i.Qflash_Write)
RCC_EnableAHBPeriphClk 0x01001039 Thumb Code 28 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk)
RCC_EnableAPB2PeriphClk 0x01001059 Thumb Code 28 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk)
RCC_GetClocksFreqValue 0x01001079 Thumb Code 140 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue)
SystemInit 0x0100124d Thumb Code 250 system_n32wb03x.o(i.SystemInit)
SystemTrimValueRead 0x01001369 Thumb Code 20 system_n32wb03x.o(i.SystemTrimValueRead)
USART_Enable 0x0100137d Thumb Code 26 n32wb03x_usart.o(i.USART_Enable)
USART_EnableDMA 0x0100139d Thumb Code 20 n32wb03x_usart.o(i.USART_EnableDMA)
USART_GetFlagStatus 0x010013b1 Thumb Code 30 n32wb03x_usart.o(i.USART_GetFlagStatus)
USART_Init 0x010013d1 Thumb Code 162 n32wb03x_usart.o(i.USART_Init)
USART_SendData 0x01001485 Thumb Code 8 n32wb03x_usart.o(i.USART_SendData)
__aeabi_errno_addr 0x0100148d Thumb Code 4 errno.o(i.__aeabi_errno_addr)
__rt_errno_addr 0x0100148d Thumb Code 0 errno.o(i.__aeabi_errno_addr)
__scatterload_copy 0x01001495 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x010014a3 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x010014a5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
app_ota_abort 0x010014c1 Thumb Code 32 app_ota.o(i.app_ota_abort)
app_ota_chan_idle 0x010014fd Thumb Code 12 app_ota.o(i.app_ota_chan_idle)
app_ota_chan_rx 0x01001511 Thumb Code 298 app_ota.o(i.app_ota_chan_rx)
app_ota_chan_rx_uart 0x01001651 Thumb Code 26 app_ota.o(i.app_ota_chan_rx_uart)
app_ota_handle_frame 0x01001675 Thumb Code 106 app_ota.o(i.app_ota_handle_frame)
app_ota_reset_poll 0x010016f1 Thumb Code 70 app_ota.o(i.app_ota_reset_poll)
boot_cli_run 0x01001799 Thumb Code 240 boot_cli.o(i.boot_cli_run)
boot_delay_ms 0x01001a39 Thumb Code 24 boot_usart.o(i.boot_delay_ms)
boot_millis 0x01001a91 Thumb Code 30 boot_usart.o(i.boot_millis)
boot_usart_init 0x01001ab9 Thumb Code 238 boot_usart.o(i.boot_usart_init)
boot_usart_read 0x01001bc9 Thumb Code 54 boot_usart.o(i.boot_usart_read)
boot_usart_write 0x01001c21 Thumb Code 42 boot_usart.o(i.boot_usart_write)
caiic_crc32 0x01001e61 Thumb Code 62 boot_crc32.o(i.caiic_crc32)
cli_printf 0x01001f71 Thumb Code 408 boot_cli.o(i.cli_printf)
cli_write 0x0100210d Thumb Code 22 boot_cli.o(i.cli_write)
main 0x0100217d Thumb Code 210 main.o(i.main)
TRIM_READ_CMD_CODE 0x01002b4e Data 320 system_n32wb03x.o(.constdata)
CMD_RDID 0x01002c8e Data 152 system_n32wb03x.o(.constdata)
const_qflash_cmd 0x01002da0 Data 804 n32wb03x_qflash.o(.constdata)
__ctype_table 0x010030c4 Data 129 ctype_o.o(.constdata)
Region$$Table$$Base 0x0100348c Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x010034ac Number 0 anon$$obj.o(Region$$Table)
DMA_DeInit 0x01000c85 Thumb Code 152 n32wb03x_dma.o(i.DMA_DeInit)
DMA_EnableChannel 0x01000d25 Thumb Code 24 n32wb03x_dma.o(i.DMA_EnableChannel)
DMA_GetCurrDataCounter 0x01000d41 Thumb Code 8 n32wb03x_dma.o(i.DMA_GetCurrDataCounter)
DMA_Init 0x01000d49 Thumb Code 58 n32wb03x_dma.o(i.DMA_Init)
DMA_RequestRemap 0x01000d89 Thumb Code 16 n32wb03x_dma.o(i.DMA_RequestRemap)
GPIO_InitPeripheral 0x01000d99 Thumb Code 262 n32wb03x_gpio.o(i.GPIO_InitPeripheral)
GPIO_InitStruct 0x01000ea1 Thumb Code 24 n32wb03x_gpio.o(i.GPIO_InitStruct)
GPIO_ReadInputDataBit 0x01000ebd Thumb Code 20 n32wb03x_gpio.o(i.GPIO_ReadInputDataBit)
OTPTrim_Read 0x01000ed1 Thumb Code 192 system_n32wb03x.o(i.OTPTrim_Read)
Qflash_Erase_Sector 0x01000f9d Thumb Code 54 n32wb03x_qflash.o(i.Qflash_Erase_Sector)
Qflash_Init 0x01000fd9 Thumb Code 36 n32wb03x_qflash.o(i.Qflash_Init)
Qflash_Write 0x01001011 Thumb Code 62 n32wb03x_qflash.o(i.Qflash_Write)
RCC_EnableAHBPeriphClk 0x01001055 Thumb Code 28 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk)
RCC_EnableAPB2PeriphClk 0x01001075 Thumb Code 28 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk)
RCC_GetClocksFreqValue 0x01001095 Thumb Code 140 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue)
SystemInit 0x01001269 Thumb Code 250 system_n32wb03x.o(i.SystemInit)
SystemTrimValueRead 0x01001385 Thumb Code 20 system_n32wb03x.o(i.SystemTrimValueRead)
USART_Enable 0x01001399 Thumb Code 26 n32wb03x_usart.o(i.USART_Enable)
USART_EnableDMA 0x010013b9 Thumb Code 20 n32wb03x_usart.o(i.USART_EnableDMA)
USART_GetFlagStatus 0x010013cd Thumb Code 30 n32wb03x_usart.o(i.USART_GetFlagStatus)
USART_Init 0x010013ed Thumb Code 162 n32wb03x_usart.o(i.USART_Init)
USART_SendData 0x010014a1 Thumb Code 8 n32wb03x_usart.o(i.USART_SendData)
__aeabi_errno_addr 0x010014a9 Thumb Code 4 errno.o(i.__aeabi_errno_addr)
__rt_errno_addr 0x010014a9 Thumb Code 0 errno.o(i.__aeabi_errno_addr)
__scatterload_copy 0x010014b1 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x010014bf Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x010014c1 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
app_ota_abort 0x010014dd Thumb Code 32 app_ota.o(i.app_ota_abort)
app_ota_chan_idle 0x01001519 Thumb Code 12 app_ota.o(i.app_ota_chan_idle)
app_ota_chan_rx 0x0100152d Thumb Code 298 app_ota.o(i.app_ota_chan_rx)
app_ota_chan_rx_uart 0x0100166d Thumb Code 26 app_ota.o(i.app_ota_chan_rx_uart)
app_ota_handle_frame 0x01001691 Thumb Code 106 app_ota.o(i.app_ota_handle_frame)
app_ota_reset_poll 0x0100170d Thumb Code 70 app_ota.o(i.app_ota_reset_poll)
boot_cli_run 0x010017b5 Thumb Code 240 boot_cli.o(i.boot_cli_run)
boot_delay_ms 0x01001a55 Thumb Code 24 boot_usart.o(i.boot_delay_ms)
boot_millis 0x01001aad Thumb Code 30 boot_usart.o(i.boot_millis)
boot_usart_init 0x01001ad5 Thumb Code 238 boot_usart.o(i.boot_usart_init)
boot_usart_read 0x01001be5 Thumb Code 54 boot_usart.o(i.boot_usart_read)
boot_usart_write 0x01001c3d Thumb Code 42 boot_usart.o(i.boot_usart_write)
caiic_crc32 0x01001e7d Thumb Code 62 boot_crc32.o(i.caiic_crc32)
cli_printf 0x01001f8d Thumb Code 408 boot_cli.o(i.cli_printf)
cli_write 0x01002129 Thumb Code 22 boot_cli.o(i.cli_write)
main 0x01002199 Thumb Code 210 main.o(i.main)
TRIM_READ_CMD_CODE 0x01002b6a Data 320 system_n32wb03x.o(.constdata)
CMD_RDID 0x01002caa Data 152 system_n32wb03x.o(.constdata)
const_qflash_cmd 0x01002dbc Data 804 n32wb03x_qflash.o(.constdata)
__ctype_table 0x010030e0 Data 129 ctype_o.o(.constdata)
Region$$Table$$Base 0x01003498 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x010034b8 Number 0 anon$$obj.o(Region$$Table)
SystemCoreClock 0x20004000 Data 4 system_n32wb03x.o(.data)
CMD_FLASH_SE 0x20004050 Data 4 n32wb03x_qflash.o(.data)
CMD_FLASH_WRITE 0x20004054 Data 4 n32wb03x_qflash.o(.data)
@ -811,9 +811,9 @@ Memory Map of the image
Image Entry point : 0x010000c1
Load Region LR_IROM1 (Base: 0x01000000, Size: 0x0000350c, Max: 0x00004000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x01000000, Size: 0x00003518, Max: 0x00004000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x01000000, Load base: 0x01000000, Size: 0x000034ac, Max: 0x00004000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x01000000, Load base: 0x01000000, Size: 0x000034b8, Max: 0x00004000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@ -851,124 +851,124 @@ Memory Map of the image
0x01000640 0x01000640 0x00000020 Code RO 511 i.AppBootset_CmdBsdump app_bootset.o
0x01000660 0x01000660 0x000002f8 Code RO 512 i.AppBootset_CmdBsset app_bootset.o
0x01000958 0x01000958 0x000000e0 Code RO 295 i.CmdDevInfo boot_cli.o
0x01000a38 0x01000a38 0x000000b4 Code RO 296 i.CmdHelp boot_cli.o
0x01000aec 0x01000aec 0x0000001c Code RO 297 i.CmdOta boot_cli.o
0x01000b08 0x01000b08 0x0000003c Code RO 298 i.CmdReset boot_cli.o
0x01000b44 0x01000b44 0x000000b0 Code RO 299 i.CmdUartInfo boot_cli.o
0x01000bf4 0x01000bf4 0x00000074 Code RO 300 i.CmdVersion boot_cli.o
0x01000c68 0x01000c68 0x000000a0 Code RO 1103 i.DMA_DeInit n32wb03x_dma.o
0x01000d08 0x01000d08 0x0000001c Code RO 1104 i.DMA_EnableChannel n32wb03x_dma.o
0x01000d24 0x01000d24 0x00000008 Code RO 1105 i.DMA_GetCurrDataCounter n32wb03x_dma.o
0x01000d2c 0x01000d2c 0x00000040 Code RO 1108 i.DMA_Init n32wb03x_dma.o
0x01000d6c 0x01000d6c 0x00000010 Code RO 1109 i.DMA_RequestRemap n32wb03x_dma.o
0x01000d7c 0x01000d7c 0x00000106 Code RO 815 i.GPIO_InitPeripheral n32wb03x_gpio.o
0x01000e82 0x01000e82 0x00000002 PAD
0x01000e84 0x01000e84 0x0000001c Code RO 816 i.GPIO_InitStruct n32wb03x_gpio.o
0x01000ea0 0x01000ea0 0x00000014 Code RO 818 i.GPIO_ReadInputDataBit n32wb03x_gpio.o
0x01000eb4 0x01000eb4 0x000000cc Code RO 11 i.OTPTrim_Read system_n32wb03x.o
0x01000f80 0x01000f80 0x0000003c Code RO 1182 i.Qflash_Erase_Sector n32wb03x_qflash.o
0x01000fbc 0x01000fbc 0x00000038 Code RO 1183 i.Qflash_Init n32wb03x_qflash.o
0x01000ff4 0x01000ff4 0x00000044 Code RO 1185 i.Qflash_Write n32wb03x_qflash.o
0x01001038 0x01001038 0x00000020 Code RO 591 i.RCC_EnableAHBPeriphClk n32wb03x_rcc.o
0x01001058 0x01001058 0x00000020 Code RO 595 i.RCC_EnableAPB2PeriphClk n32wb03x_rcc.o
0x01001078 0x01001078 0x000000a4 Code RO 603 i.RCC_GetClocksFreqValue n32wb03x_rcc.o
0x0100111c 0x0100111c 0x00000130 Code RO 12 i.RCC_HsiCalib system_n32wb03x.o
0x0100124c 0x0100124c 0x0000011c Code RO 16 i.SystemInit system_n32wb03x.o
0x01001368 0x01001368 0x00000014 Code RO 18 i.SystemTrimValueRead system_n32wb03x.o
0x0100137c 0x0100137c 0x00000020 Code RO 937 i.USART_Enable n32wb03x_usart.o
0x0100139c 0x0100139c 0x00000014 Code RO 938 i.USART_EnableDMA n32wb03x_usart.o
0x010013b0 0x010013b0 0x0000001e Code RO 944 i.USART_GetFlagStatus n32wb03x_usart.o
0x010013ce 0x010013ce 0x00000002 PAD
0x010013d0 0x010013d0 0x000000b4 Code RO 946 i.USART_Init n32wb03x_usart.o
0x01001484 0x01001484 0x00000008 Code RO 949 i.USART_SendData n32wb03x_usart.o
0x0100148c 0x0100148c 0x00000008 Code RO 1292 i.__aeabi_errno_addr mc_p.l(errno.o)
0x01001494 0x01001494 0x0000000e Code RO 1307 i.__scatterload_copy mc_p.l(handlers.o)
0x010014a2 0x010014a2 0x00000002 Code RO 1308 i.__scatterload_null mc_p.l(handlers.o)
0x010014a4 0x010014a4 0x0000000e Code RO 1309 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x010014b2 0x010014b2 0x00000006 Code RO 19 i.__set_PRIMASK system_n32wb03x.o
0x010014b8 0x010014b8 0x00000006 Code RO 1186 i.__set_PRIMASK n32wb03x_qflash.o
0x010014be 0x010014be 0x00000002 PAD
0x010014c0 0x010014c0 0x0000003c Code RO 401 i.app_ota_abort app_ota.o
0x010014fc 0x010014fc 0x00000014 Code RO 402 i.app_ota_chan_idle app_ota.o
0x01001510 0x01001510 0x00000140 Code RO 403 i.app_ota_chan_rx app_ota.o
0x01001650 0x01001650 0x00000024 Code RO 404 i.app_ota_chan_rx_uart app_ota.o
0x01001674 0x01001674 0x0000007c Code RO 406 i.app_ota_handle_frame app_ota.o
0x010016f0 0x010016f0 0x0000005c Code RO 407 i.app_ota_reset_poll app_ota.o
0x0100174c 0x0100174c 0x0000004c Code RO 301 i.boot_cli_redraw boot_cli.o
0x01001798 0x01001798 0x0000015c Code RO 302 i.boot_cli_run boot_cli.o
0x010018f4 0x010018f4 0x00000144 Code RO 303 i.boot_cli_tab_complete boot_cli.o
0x01001a38 0x01001a38 0x00000018 Code RO 244 i.boot_delay_ms boot_usart.o
0x01001a50 0x01001a50 0x00000040 Code RO 174 i.boot_dl_strap_active main.o
0x01001a90 0x01001a90 0x00000028 Code RO 245 i.boot_millis boot_usart.o
0x01001ab8 0x01001ab8 0x00000110 Code RO 246 i.boot_usart_init boot_usart.o
0x01001bc8 0x01001bc8 0x00000040 Code RO 247 i.boot_usart_read boot_usart.o
0x01001c08 0x01001c08 0x00000018 Code RO 248 i.boot_usart_rx_head boot_usart.o
0x01001c20 0x01001c20 0x00000030 Code RO 249 i.boot_usart_write boot_usart.o
0x01001c50 0x01001c50 0x00000054 Code RO 513 i.bootset_commit app_bootset.o
0x01001ca4 0x01001ca4 0x0000000e Code RO 514 i.bootset_crc app_bootset.o
0x01001cb2 0x01001cb2 0x00000002 PAD
0x01001cb4 0x01001cb4 0x0000001c Code RO 515 i.bootset_ensure_qflash app_bootset.o
0x01001cd0 0x01001cd0 0x0000016c Code RO 516 i.bootset_print app_bootset.o
0x01001e3c 0x01001e3c 0x00000024 Code RO 517 i.bootset_valid app_bootset.o
0x01001e60 0x01001e60 0x00000044 Code RO 231 i.caiic_crc32 boot_crc32.o
0x01001ea4 0x01001ea4 0x000000cc Code RO 304 i.cli_exec_line boot_cli.o
0x01001f70 0x01001f70 0x0000019c Code RO 305 i.cli_printf boot_cli.o
0x0100210c 0x0100210c 0x00000016 Code RO 306 i.cli_write boot_cli.o
0x01002122 0x01002122 0x00000002 PAD
0x01002124 0x01002124 0x00000034 Code RO 175 i.image_sane main.o
0x01002158 0x01002158 0x00000024 Code RO 176 i.jump_to_app main.o
0x0100217c 0x0100217c 0x000001c4 Code RO 177 i.main main.o
0x01002340 0x01002340 0x0000004c Code RO 408 i.ota_crc16 app_ota.o
0x0100238c 0x0100238c 0x00000040 Code RO 409 i.ota_erase_up_to app_ota.o
0x010023cc 0x010023cc 0x00000170 Code RO 410 i.ota_on_begin app_ota.o
0x0100253c 0x0100253c 0x000001a8 Code RO 411 i.ota_on_data app_ota.o
0x010026e4 0x010026e4 0x00000170 Code RO 412 i.ota_on_end app_ota.o
0x01002854 0x01002854 0x00000038 Code RO 413 i.ota_program app_ota.o
0x0100288c 0x0100288c 0x00000018 Code RO 414 i.ota_rd32 app_ota.o
0x010028a4 0x010028a4 0x0000007c Code RO 415 i.ota_respond app_ota.o
0x01002920 0x01002920 0x0000001c Code RO 416 i.ota_uart_sink app_ota.o
0x0100293c 0x0100293c 0x000000cc Code RO 417 i.ota_update_bootsetting app_ota.o
0x01002a08 0x01002a08 0x0000002e Code RO 518 i.parse_u32 app_bootset.o
0x01002a36 0x01002a36 0x00000018 Code RO 178 i.puts_boot main.o
0x01002a4e 0x01002a4e 0x00000002 PAD
0x01002a50 0x01002a50 0x00000044 Code RO 20 i.read_flash_ID system_n32wb03x.o
0x01002a94 0x01002a94 0x0000004e Code RO 307 i.str_pad boot_cli.o
0x01002ae2 0x01002ae2 0x0000006c Code RO 308 i.u32_to_str boot_cli.o
0x01002b4e 0x01002b4e 0x000001d8 Data RO 23 .constdata system_n32wb03x.o
0x01002d26 0x01002d26 0x00000002 PAD
0x01002d28 0x01002d28 0x0000006c Data RO 310 .constdata boot_cli.o
0x01002d94 0x01002d94 0x0000000c Data RO 611 .constdata n32wb03x_rcc.o
0x01002da0 0x01002da0 0x00000324 Data RO 1188 .constdata n32wb03x_qflash.o
0x010030c4 0x010030c4 0x00000081 Data RO 1265 .constdata mc_p.l(ctype_o.o)
0x01003145 0x01003145 0x00000003 PAD
0x01003148 0x01003148 0x00000004 Data RO 1266 .constdata mc_p.l(ctype_o.o)
0x0100314c 0x0100314c 0x000002aa Data RO 311 .conststring boot_cli.o
0x010033f6 0x010033f6 0x00000002 PAD
0x010033f8 0x010033f8 0x00000091 Data RO 519 .conststring app_bootset.o
0x01003489 0x01003489 0x00000003 PAD
0x0100348c 0x0100348c 0x00000020 Data RO 1305 Region$$Table anon$$obj.o
0x01000a38 0x01000a38 0x000000d0 Code RO 296 i.CmdHelp boot_cli.o
0x01000b08 0x01000b08 0x0000001c Code RO 297 i.CmdOta boot_cli.o
0x01000b24 0x01000b24 0x0000003c Code RO 298 i.CmdReset boot_cli.o
0x01000b60 0x01000b60 0x000000b0 Code RO 299 i.CmdUartInfo boot_cli.o
0x01000c10 0x01000c10 0x00000074 Code RO 300 i.CmdVersion boot_cli.o
0x01000c84 0x01000c84 0x000000a0 Code RO 1103 i.DMA_DeInit n32wb03x_dma.o
0x01000d24 0x01000d24 0x0000001c Code RO 1104 i.DMA_EnableChannel n32wb03x_dma.o
0x01000d40 0x01000d40 0x00000008 Code RO 1105 i.DMA_GetCurrDataCounter n32wb03x_dma.o
0x01000d48 0x01000d48 0x00000040 Code RO 1108 i.DMA_Init n32wb03x_dma.o
0x01000d88 0x01000d88 0x00000010 Code RO 1109 i.DMA_RequestRemap n32wb03x_dma.o
0x01000d98 0x01000d98 0x00000106 Code RO 815 i.GPIO_InitPeripheral n32wb03x_gpio.o
0x01000e9e 0x01000e9e 0x00000002 PAD
0x01000ea0 0x01000ea0 0x0000001c Code RO 816 i.GPIO_InitStruct n32wb03x_gpio.o
0x01000ebc 0x01000ebc 0x00000014 Code RO 818 i.GPIO_ReadInputDataBit n32wb03x_gpio.o
0x01000ed0 0x01000ed0 0x000000cc Code RO 11 i.OTPTrim_Read system_n32wb03x.o
0x01000f9c 0x01000f9c 0x0000003c Code RO 1182 i.Qflash_Erase_Sector n32wb03x_qflash.o
0x01000fd8 0x01000fd8 0x00000038 Code RO 1183 i.Qflash_Init n32wb03x_qflash.o
0x01001010 0x01001010 0x00000044 Code RO 1185 i.Qflash_Write n32wb03x_qflash.o
0x01001054 0x01001054 0x00000020 Code RO 591 i.RCC_EnableAHBPeriphClk n32wb03x_rcc.o
0x01001074 0x01001074 0x00000020 Code RO 595 i.RCC_EnableAPB2PeriphClk n32wb03x_rcc.o
0x01001094 0x01001094 0x000000a4 Code RO 603 i.RCC_GetClocksFreqValue n32wb03x_rcc.o
0x01001138 0x01001138 0x00000130 Code RO 12 i.RCC_HsiCalib system_n32wb03x.o
0x01001268 0x01001268 0x0000011c Code RO 16 i.SystemInit system_n32wb03x.o
0x01001384 0x01001384 0x00000014 Code RO 18 i.SystemTrimValueRead system_n32wb03x.o
0x01001398 0x01001398 0x00000020 Code RO 937 i.USART_Enable n32wb03x_usart.o
0x010013b8 0x010013b8 0x00000014 Code RO 938 i.USART_EnableDMA n32wb03x_usart.o
0x010013cc 0x010013cc 0x0000001e Code RO 944 i.USART_GetFlagStatus n32wb03x_usart.o
0x010013ea 0x010013ea 0x00000002 PAD
0x010013ec 0x010013ec 0x000000b4 Code RO 946 i.USART_Init n32wb03x_usart.o
0x010014a0 0x010014a0 0x00000008 Code RO 949 i.USART_SendData n32wb03x_usart.o
0x010014a8 0x010014a8 0x00000008 Code RO 1292 i.__aeabi_errno_addr mc_p.l(errno.o)
0x010014b0 0x010014b0 0x0000000e Code RO 1307 i.__scatterload_copy mc_p.l(handlers.o)
0x010014be 0x010014be 0x00000002 Code RO 1308 i.__scatterload_null mc_p.l(handlers.o)
0x010014c0 0x010014c0 0x0000000e Code RO 1309 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x010014ce 0x010014ce 0x00000006 Code RO 19 i.__set_PRIMASK system_n32wb03x.o
0x010014d4 0x010014d4 0x00000006 Code RO 1186 i.__set_PRIMASK n32wb03x_qflash.o
0x010014da 0x010014da 0x00000002 PAD
0x010014dc 0x010014dc 0x0000003c Code RO 401 i.app_ota_abort app_ota.o
0x01001518 0x01001518 0x00000014 Code RO 402 i.app_ota_chan_idle app_ota.o
0x0100152c 0x0100152c 0x00000140 Code RO 403 i.app_ota_chan_rx app_ota.o
0x0100166c 0x0100166c 0x00000024 Code RO 404 i.app_ota_chan_rx_uart app_ota.o
0x01001690 0x01001690 0x0000007c Code RO 406 i.app_ota_handle_frame app_ota.o
0x0100170c 0x0100170c 0x0000005c Code RO 407 i.app_ota_reset_poll app_ota.o
0x01001768 0x01001768 0x0000004c Code RO 301 i.boot_cli_redraw boot_cli.o
0x010017b4 0x010017b4 0x0000015c Code RO 302 i.boot_cli_run boot_cli.o
0x01001910 0x01001910 0x00000144 Code RO 303 i.boot_cli_tab_complete boot_cli.o
0x01001a54 0x01001a54 0x00000018 Code RO 244 i.boot_delay_ms boot_usart.o
0x01001a6c 0x01001a6c 0x00000040 Code RO 174 i.boot_dl_strap_active main.o
0x01001aac 0x01001aac 0x00000028 Code RO 245 i.boot_millis boot_usart.o
0x01001ad4 0x01001ad4 0x00000110 Code RO 246 i.boot_usart_init boot_usart.o
0x01001be4 0x01001be4 0x00000040 Code RO 247 i.boot_usart_read boot_usart.o
0x01001c24 0x01001c24 0x00000018 Code RO 248 i.boot_usart_rx_head boot_usart.o
0x01001c3c 0x01001c3c 0x00000030 Code RO 249 i.boot_usart_write boot_usart.o
0x01001c6c 0x01001c6c 0x00000054 Code RO 513 i.bootset_commit app_bootset.o
0x01001cc0 0x01001cc0 0x0000000e Code RO 514 i.bootset_crc app_bootset.o
0x01001cce 0x01001cce 0x00000002 PAD
0x01001cd0 0x01001cd0 0x0000001c Code RO 515 i.bootset_ensure_qflash app_bootset.o
0x01001cec 0x01001cec 0x0000016c Code RO 516 i.bootset_print app_bootset.o
0x01001e58 0x01001e58 0x00000024 Code RO 517 i.bootset_valid app_bootset.o
0x01001e7c 0x01001e7c 0x00000044 Code RO 231 i.caiic_crc32 boot_crc32.o
0x01001ec0 0x01001ec0 0x000000cc Code RO 304 i.cli_exec_line boot_cli.o
0x01001f8c 0x01001f8c 0x0000019c Code RO 305 i.cli_printf boot_cli.o
0x01002128 0x01002128 0x00000016 Code RO 306 i.cli_write boot_cli.o
0x0100213e 0x0100213e 0x00000002 PAD
0x01002140 0x01002140 0x00000034 Code RO 175 i.image_sane main.o
0x01002174 0x01002174 0x00000024 Code RO 176 i.jump_to_app main.o
0x01002198 0x01002198 0x000001c4 Code RO 177 i.main main.o
0x0100235c 0x0100235c 0x0000004c Code RO 408 i.ota_crc16 app_ota.o
0x010023a8 0x010023a8 0x00000040 Code RO 409 i.ota_erase_up_to app_ota.o
0x010023e8 0x010023e8 0x00000170 Code RO 410 i.ota_on_begin app_ota.o
0x01002558 0x01002558 0x000001a8 Code RO 411 i.ota_on_data app_ota.o
0x01002700 0x01002700 0x00000170 Code RO 412 i.ota_on_end app_ota.o
0x01002870 0x01002870 0x00000038 Code RO 413 i.ota_program app_ota.o
0x010028a8 0x010028a8 0x00000018 Code RO 414 i.ota_rd32 app_ota.o
0x010028c0 0x010028c0 0x0000007c Code RO 415 i.ota_respond app_ota.o
0x0100293c 0x0100293c 0x0000001c Code RO 416 i.ota_uart_sink app_ota.o
0x01002958 0x01002958 0x000000cc Code RO 417 i.ota_update_bootsetting app_ota.o
0x01002a24 0x01002a24 0x0000002e Code RO 518 i.parse_u32 app_bootset.o
0x01002a52 0x01002a52 0x00000018 Code RO 178 i.puts_boot main.o
0x01002a6a 0x01002a6a 0x00000002 PAD
0x01002a6c 0x01002a6c 0x00000044 Code RO 20 i.read_flash_ID system_n32wb03x.o
0x01002ab0 0x01002ab0 0x0000004e Code RO 307 i.str_pad boot_cli.o
0x01002afe 0x01002afe 0x0000006c Code RO 308 i.u32_to_str boot_cli.o
0x01002b6a 0x01002b6a 0x000001d8 Data RO 23 .constdata system_n32wb03x.o
0x01002d42 0x01002d42 0x00000002 PAD
0x01002d44 0x01002d44 0x0000006c Data RO 310 .constdata boot_cli.o
0x01002db0 0x01002db0 0x0000000c Data RO 611 .constdata n32wb03x_rcc.o
0x01002dbc 0x01002dbc 0x00000324 Data RO 1188 .constdata n32wb03x_qflash.o
0x010030e0 0x010030e0 0x00000081 Data RO 1265 .constdata mc_p.l(ctype_o.o)
0x01003161 0x01003161 0x00000003 PAD
0x01003164 0x01003164 0x00000004 Data RO 1266 .constdata mc_p.l(ctype_o.o)
0x01003168 0x01003168 0x0000029a Data RO 311 .conststring boot_cli.o
0x01003402 0x01003402 0x00000002 PAD
0x01003404 0x01003404 0x00000091 Data RO 519 .conststring app_bootset.o
0x01003495 0x01003495 0x00000003 PAD
0x01003498 0x01003498 0x00000020 Data RO 1305 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20004000, Load base: 0x010034ac, Size: 0x00001a58, Max: 0x0000c000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20004000, Load base: 0x010034b8, Size: 0x00001a58, Max: 0x0000c000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20004000 0x010034ac 0x00000004 Data RW 24 .data system_n32wb03x.o
0x20004004 0x010034b0 0x00000008 Data RW 251 .data boot_usart.o
0x2000400c 0x010034b8 0x00000001 Data RW 312 .data boot_cli.o
0x2000400d 0x010034b9 0x00000003 PAD
0x20004010 0x010034bc 0x0000003d Data RW 419 .data app_ota.o
0x2000404d 0x010034f9 0x00000001 Data RW 520 .data app_bootset.o
0x2000404e 0x010034fa 0x00000002 PAD
0x20004050 0x010034fc 0x0000000c Data RW 1189 .data n32wb03x_qflash.o
0x2000405c 0x01003508 0x00000004 Data RW 1295 .data mc_p.l(errno.o)
0x20004000 0x010034b8 0x00000004 Data RW 24 .data system_n32wb03x.o
0x20004004 0x010034bc 0x00000008 Data RW 251 .data boot_usart.o
0x2000400c 0x010034c4 0x00000001 Data RW 312 .data boot_cli.o
0x2000400d 0x010034c5 0x00000003 PAD
0x20004010 0x010034c8 0x0000003d Data RW 419 .data app_ota.o
0x2000404d 0x01003505 0x00000001 Data RW 520 .data app_bootset.o
0x2000404e 0x01003506 0x00000002 PAD
0x20004050 0x01003508 0x0000000c Data RW 1189 .data n32wb03x_qflash.o
0x2000405c 0x01003514 0x00000004 Data RW 1295 .data mc_p.l(errno.o)
0x20004060 - 0x00000034 Zero RW 22 .bss system_n32wb03x.o
0x20004094 - 0x00000c00 Zero RW 250 .bss boot_usart.o
0x20004c94 - 0x000000b0 Zero RW 309 .bss boot_cli.o
0x20004d44 - 0x000001e7 Zero RW 418 .bss app_ota.o
0x20004f2b 0x0100350c 0x00000001 PAD
0x20004f2b 0x01003518 0x00000001 PAD
0x20004f2c - 0x00000328 Zero RW 1187 .bss n32wb03x_qflash.o
0x20005254 0x0100350c 0x00000004 PAD
0x20005254 0x01003518 0x00000004 PAD
0x20005258 - 0x00000800 Zero RW 1 STACK startup_n32wb03x.o
@ -981,7 +981,7 @@ Image component sizes
2092 1148 145 1 0 6739 app_bootset.o
2388 322 0 61 487 12597 app_ota.o
2356 662 790 1 176 17108 boot_cli.o
2384 684 774 1 176 17112 boot_cli.o
68 6 0 0 0 874 boot_crc32.o
472 66 0 8 3072 4161 boot_usart.o
628 262 0 0 0 5643 main.o
@ -994,7 +994,7 @@ Image component sizes
900 60 472 4 52 124580 system_n32wb03x.o
----------------------------------------------------------------------
10220 2644 2454 92 6648 191965 Object Totals
10248 2666 2438 92 6648 191969 Object Totals
0 0 32 0 0 0 (incl. Generated)
14 0 7 5 5 0 (incl. Padding)
@ -1047,15 +1047,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
10894 2668 2590 96 6648 189365 Grand Totals
10894 2668 2590 96 6648 189365 ELF Image Totals
10894 2668 2590 96 0 0 ROM Totals
10922 2690 2574 96 6648 189369 Grand Totals
10922 2690 2574 96 6648 189369 ELF Image Totals
10922 2690 2574 96 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 13484 ( 13.17kB)
Total RO Size (Code + RO Data) 13496 ( 13.18kB)
Total RW Size (RW Data + ZI Data) 6744 ( 6.59kB)
Total ROM Size (Code + RO Data + RW Data) 13580 ( 13.26kB)
Total ROM Size (Code + RO Data + RW Data) 13592 ( 13.27kB)
==============================================================================

Binary file not shown.

View File

@ -2,19 +2,19 @@
Rebuild target 'caiic_boot'
assembling startup_n32wb03x.s...
compiling boot_crc32.c...
compiling system_n32wb03x.c...
compiling boot_cli.c...
compiling app_ota.c...
compiling app_bootset.c...
compiling n32wb03x_gpio.c...
compiling main.c...
compiling boot_usart.c...
compiling n32wb03x_gpio.c...
compiling n32wb03x_rcc.c...
compiling n32wb03x_usart.c...
compiling boot_cli.c...
compiling n32wb03x_dma.c...
compiling system_n32wb03x.c...
compiling app_ota.c...
compiling n32wb03x_rcc.c...
compiling n32wb03x_qflash.c...
linking...
Program Size: Code=10894 RO-data=2590 RW-data=96 ZI-data=6648
Program Size: Code=10922 RO-data=2574 RW-data=96 ZI-data=6648
FromELF: creating hex file...
After Build - User command #1: fromelf --bin --output=.\bin\caiic_boot.bin .\Objects\caiic_boot.axf
".\Objects\caiic_boot.axf" - 0 Error(s), 0 Warning(s).

View File

@ -303,6 +303,7 @@ static void CmdHelp(int argc, char* argv[])
{
cli_printf(" %-8s %s\r\n", s_cmds[i].name, s_cmds[i].help);
}
cli_write("keys: TAB = complete\r\n");
}
/* ------------------------------------------------------------------ */
@ -487,8 +488,8 @@ void boot_cli_run(void)
uint16_t len = 0;
uint32_t otaLastRx = 0;
cli_write("\r\nCLI ready (bootloader download mode). Type 'help' for commands "
"(TAB = complete).\r\n" BOOT_CLI_PROMPT);
cli_write("\r\nCLI ready (bootloader download mode). Type 'help' for commands.\r\n"
BOOT_CLI_PROMPT);
for (;;)
{

View File

@ -6,6 +6,6 @@
#ifndef __BOOT_VERSION_H__
#define __BOOT_VERSION_H__
#define BOOT_FW_VERSION "V1.01.02"
#define BOOT_FW_VERSION "V1.01.03"
#endif /* __BOOT_VERSION_H__ */

View File

@ -1418,3 +1418,16 @@ APP2 链接的镜像发向 APP1 区。设备端 END 校验(向量表 Reset PC
`bsdump bsset`;`d`+TAB → `devinfo `;空行+TAB → 列出全部命令。
- 版本:`Boot/src/boot_version.h` V1.01.01 → V1.01.02;构建 0E/0W,
`Code=10894 RO-data=2590 RW-data=96 ZI-data=6648`,bin 13580B(16KB 区内)。
## 55. Boot download CLI `help` 补全提示串对齐 APP(2026-09-06,Boot V1.01.03)
- 问题:APP 的 `help` 末尾有一行 `keys: TAB = complete, UP/DOWN = history`
(`cli_core.c` 的 CmdHelp 打印,是 APP 运行时显示的字符串);Boot 的 `help`
只有命令表,没有这行提示,与 APP 不一致。
- 修改(`Boot/src/boot_cli.c`):
- `CmdHelp` 无参数分支在命令表后追加 `keys: TAB = complete`(Boot 只移植了
TAB 补全,无 UP/DOWN 历史,故提示串如实只写 TAB);
- 撤回 ready banner 里临时加的 `(TAB = complete)`,保持与 APP banner 风格
一致(提示只放在 `help` 里)。
- 版本:`Boot/src/boot_version.h` V1.01.02 → V1.01.03;构建 0E/0W,
`Code=10922 RO-data=2574 RW-data=96 ZI-data=6648`。

Binary file not shown.

File diff suppressed because it is too large Load Diff