boot V1.01.00: UART download mode (CLI + OTA frame upgrade in bootloader)
- boot_usart: bare-metal USART1 460800, polled TX, 3KB DMA ring RX, SysTick millis - boot_cli: polled line editor + mini printf + command subset; wire-compatible with the app UART CLI (prompt/devinfo cur bank/ota marker) so ble_ota_update.py --uart works unchanged against the bootloader - share app_ota.c/app_bootset.c into the Boot build via BOOT_FIRMWARE ifdef (single OTA engine source); frame constants moved to shared Boot/src/ota_wire.h - entry: 2s Enter window after the boot banner, or forced when no jumpable image (invalid bootsetting + APP1 vector sanity fail) - brick recovery path - OTA target in boot = inactive bank per bootsetting (APP1 when invalid) - merge_image.py: hard-fail when boot bin exceeds the 16KB region - APP V1.00.28 (shared-source touch only, behavior unchanged) - tested: normal boot / download CLI / OTA APP1<->APP2 round trip / bricked recovery (bootsetting+APP1 sector erased -> forced download -> OTA restore) - docs: dev log sec.52, ble_protocol sec.6.8, AGENTS.md
This commit is contained in:
parent
15ae64172a
commit
f4faf68ed8
12
AGENTS.md
12
AGENTS.md
@ -5,14 +5,14 @@
|
||||
本仓库是 **mothercup(母乳杯)** 产品的完整代码仓库,包含三大部分:
|
||||
|
||||
1. **设备固件** — 基于国民技术(Nations)**N32WB031 BLE SoC**(Cortex-M0,64MHz HSI,**板载硅片实测 256KB Flash**(0x01000000~0x0103FFFF,开发日志 §37),RAM 48KB+16KB):
|
||||
- **`mcm-ddc-ble/`** — 唯一活跃的应用固件工程(APP,链接在 APP1 bank `0x01008000`/112KB)。以 SDK rdtss 例程为蓝本,集成 FreeRTOS、UART CLI、BLE 自定义 GATT 服务(CLI 透传 / 设备信息查询 / BLE OTA 双 bank 直写升级)、bootsetting 与 APP_DATA 参数区结构化读写命令。当前版本 **V1.00.27**(`mcm-ddc-ble/inc/app_version.h`)。历史上曾有 `mcm-ddc-04/` 主工程,**已删除**,其功能已全部并入本工程。
|
||||
- **`Boot/`** — 自写精简 bootloader(链接在 `0x01000000`/16KB):校验 bootsetting 记录自身完整性(magic + 结构体 CRC32)后按 active bank 的 `start_address` 直接跳转;**不校验镜像 CRC(CRC 校验在 OTA 升级过程中完成)**;记录无效或地址越界回退 APP1。
|
||||
- **`mcm-ddc-ble/`** — 唯一活跃的应用固件工程(APP,链接在 APP1 bank `0x01008000`/112KB)。以 SDK rdtss 例程为蓝本,集成 FreeRTOS、UART CLI、BLE 自定义 GATT 服务(CLI 透传 / 设备信息查询 / BLE OTA 双 bank 直写升级)、bootsetting 与 APP_DATA 参数区结构化读写命令、IWDG 看门狗。当前版本 **V1.00.28**(`mcm-ddc-ble/inc/app_version.h`)。历史上曾有 `mcm-ddc-04/` 主工程,**已删除**,其功能已全部并入本工程。
|
||||
- **`Boot/`** — 自写 bootloader(链接在 `0x01000000`/16KB,当前 ~12.9KB,版本 **V1.01.00** `Boot/src/boot_version.h`):校验 bootsetting 记录自身完整性(magic + 结构体 CRC32)后按 active bank 的 `start_address` 直接跳转;**不校验镜像 CRC(CRC 校验在 OTA 升级过程中完成)**;记录无效或地址越界回退 APP1。**V1.01.00 起带 download 模式**:复位后 USART1(460800)banner + 2s 回车窗口进入,或无有效镜像(bootsetting 无效且 APP1 向量不过 sanity)自动进入;模式内为裸机 UART CLI 子集 + OTA 帧升级(共享编译 APP 的 `app_ota.c`/`app_bootset.c`,`BOOT_FIRMWARE` 宏隔离),目标 bank = 非活动区,`tools/ble_ota_update.py --uart` 零改动可用。详见 `docs/ble_protocol.md` §6.8。
|
||||
2. **手机 App `SmartAssiter/`** — uni-app **Vue3 + TypeScript** 工程(HBuilderX 项目管理,无 package.json),通过 BLE 连接设备:查看运行参数(温度/电压/转速/bank/堆等)、CLI 终端、参数读写(appget/appset)、OTA 升级页(e0005 锁步,已恢复)。另有登录/注册/用户信息等云端业务页面。
|
||||
3. **PC 工具 `tools/`** — 整片烧录包制作/烧录脚本 + bleak 蓝牙测试客户端。
|
||||
|
||||
关键文档:
|
||||
|
||||
- `docs/开发日志.md` — 固件全程开发日志(45 节,含所有踩坑根因与设计决策,排查问题先查这里)
|
||||
- `docs/开发日志.md` — 固件全程开发日志(52 节,含所有踩坑根因与设计决策,排查问题先查这里)
|
||||
- `docs/ble_protocol.md` — CAIIC BLE 通信协议 V1.1(帧格式/GATT UUID/三类业务流程/维护命令/手机端开发指南)
|
||||
- `SmartAssiter/docs/修改记录_*.md` — App 侧每次改造的详细记录
|
||||
|
||||
@ -29,7 +29,7 @@ mothercup/
|
||||
└── tools/out/ # 出包产物(mothercup_ble_prod.{hex,bin} 生产整包 + mothercup_ble_ota.bin 单文件升级包 + 调试用 _ota.bin/_ota_app2.bin 及 json)
|
||||
```
|
||||
|
||||
SDK 源码(固件库、CMSIS、FreeRTOS V9.0.0、BLE 协议栈/profile/ns_library、启动文件)通过相对路径 `..\..\nations-tec\N32WB03x_SDK_V2.0.0` 被 uvprojx 引用,**不复制进工程**;Bootloader 共享代码(`Boot/src/dfu_layout.h`、`boot_crc32.c`)经 `..\..\Boot\src` 被 APP 工程引用。因此各工程目录不能脱离仓库根单独移动。
|
||||
SDK 源码(固件库、CMSIS、FreeRTOS V9.0.0、BLE 协议栈/profile/ns_library、启动文件)通过相对路径 `..\..\nations-tec\N32WB03x_SDK_V2.0.0` 被 uvprojx 引用,**不复制进工程**;Bootloader 共享代码(`Boot/src/dfu_layout.h`、`boot_crc32.c`、`ota_wire.h`)经 `..\..\Boot\src` 被 APP 工程引用,反向地 Boot 工程也共享编译 APP 的 `mcm-ddc-ble/src/app_ota.c`/`app_bootset.c`(全局宏 `BOOT_FIRMWARE` 隔离 RTOS/BLE 依赖,Boot 侧 `cli_core.h` 为 shim,include 顺序 `..\src` 优先)。因此各工程目录不能脱离仓库根单独移动。
|
||||
|
||||
## Flash / RAM 布局(铁律)
|
||||
|
||||
@ -95,7 +95,7 @@ mcm-ddc-ble/
|
||||
"D:\Keil_v5\UV4\UV4.exe" -b caiic_boot.uvprojx -j0 -o build.log # Boot 增量构建
|
||||
```
|
||||
|
||||
要求保持 **0 Error(s), 0 Warning(s)**。当前基线(V1.00.27):`Code=49408 RO-data=5132 RW-data=2092 ZI-data=30140`。
|
||||
要求保持 **0 Error(s), 0 Warning(s)**。当前基线(V1.00.28):`Code=49408 RO-data=5132 RW-data=2092 ZI-data=30140`;Boot 基线(V1.01.00):`Code=10254 RO-data=2574 RW-data=96 ZI-data=6648`(bin 12.9KB,16KB 区内;`merge_image.py` 对 boot bin 超 16KB 硬卡)。
|
||||
|
||||
**固件版本号约定(重要)**:每次修改固件代码必须递增 `mcm-ddc-ble/inc/app_version.h` 中的 `APP_FW_VERSION` 与 `APP_FW_VERSION_NUM`(格式 `0x00MMmmpp`,通常补丁位 +1),用于识别板上实际运行的固件;工程名与出包文件名保持不变。
|
||||
|
||||
@ -113,7 +113,7 @@ mcm-ddc-ble/
|
||||
3. 日常开发调试:Keil F7 编译、F8 下载即可(Boot 不校验镜像 CRC,可直接下载 APP 调试);**Keil 下载选项必须是 "Erase Sectors",整片擦除会杀掉 Boot/bootsetting**(杀掉后需重烧整片包恢复)。板子上烧过其他 0x01000000 起步的程序同样会覆盖 Boot,恢复也是重烧整片包。
|
||||
4. 日常固件升级设计路径是 BLE OTA(手机 App 或 PC bleak 客户端)。
|
||||
|
||||
验证运行:串口助手接 PB6(TX)/PB7(RX),460800 8N1(V1.00.26 起),复位后应看到 banner 与 `caiic->` 提示符(`help` 查看命令);手机应能搜到广播名 `CAIIC-MCM-20260902`。
|
||||
验证运行:串口助手接 PB6(TX)/PB7(RX),460800 8N1(V1.00.26 起),复位后应先看到 boot banner `[boot] CAIIC-BOOT ...`(Boot V1.01.00 起;2s 内按回车进入 download 模式,可 CLI + `ble_ota_update.py --uart` 直接升级,协议见 ble_protocol.md §6.8),随后是 APP banner 与 `caiic->` 提示符(`help` 查看命令);手机应能搜到广播名 `CAIIC-MCM-20260902`。
|
||||
|
||||
## BLE 接口与协议
|
||||
|
||||
|
||||
@ -32,7 +32,193 @@ Section Cross References
|
||||
system_n32wb03x.o(i.read_flash_ID) refers to system_n32wb03x.o(.constdata) for CMD_RDID
|
||||
system_n32wb03x.o(i.system_delay_n_10us) refers to system_n32wb03x.o(.emb_text) for system_delay_cycles
|
||||
main.o(i.main) refers to boot_crc32.o(i.caiic_crc32) for caiic_crc32
|
||||
main.o(i.main) refers to boot_usart.o(i.boot_usart_init) for boot_usart_init
|
||||
main.o(i.main) refers to main.o(i.puts_boot) for puts_boot
|
||||
main.o(i.main) refers to boot_usart.o(i.boot_millis) for boot_millis
|
||||
main.o(i.main) refers to boot_usart.o(i.boot_usart_read) for boot_usart_read
|
||||
main.o(i.main) refers to main.o(i.image_sane) for image_sane
|
||||
main.o(i.main) refers to boot_cli.o(i.boot_cli_run) for boot_cli_run
|
||||
main.o(i.main) refers to main.o(i.jump_to_app) for jump_to_app
|
||||
main.o(i.puts_boot) refers to boot_usart.o(i.boot_usart_write) for boot_usart_write
|
||||
boot_usart.o(i.boot_delay_ms) refers to boot_usart.o(i.boot_millis) for boot_millis
|
||||
boot_usart.o(i.boot_millis) refers to boot_usart.o(.data) for s_millis
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk) for RCC_EnableAPB2PeriphClk
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_gpio.o(i.GPIO_InitStruct) for GPIO_InitStruct
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_gpio.o(i.GPIO_InitPeripheral) for GPIO_InitPeripheral
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_usart.o(i.USART_Init) for USART_Init
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk) for RCC_EnableAHBPeriphClk
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_dma.o(i.DMA_EnableChannel) for DMA_EnableChannel
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_dma.o(i.DMA_DeInit) for DMA_DeInit
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_dma.o(i.DMA_RequestRemap) for DMA_RequestRemap
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_dma.o(i.DMA_Init) for DMA_Init
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_usart.o(i.USART_EnableDMA) for USART_EnableDMA
|
||||
boot_usart.o(i.boot_usart_init) refers to n32wb03x_usart.o(i.USART_Enable) for USART_Enable
|
||||
boot_usart.o(i.boot_usart_init) refers to boot_usart.o(.bss) for s_rxRing
|
||||
boot_usart.o(i.boot_usart_init) refers to boot_usart.o(.data) for s_rxTail
|
||||
boot_usart.o(i.boot_usart_read) refers to boot_usart.o(i.boot_usart_rx_head) for boot_usart_rx_head
|
||||
boot_usart.o(i.boot_usart_read) refers to uidiv.o(.text) for __aeabi_uidivmod
|
||||
boot_usart.o(i.boot_usart_read) refers to boot_usart.o(.data) for s_rxTail
|
||||
boot_usart.o(i.boot_usart_read) refers to boot_usart.o(.bss) for s_rxRing
|
||||
boot_usart.o(i.boot_usart_rx_head) refers to n32wb03x_dma.o(i.DMA_GetCurrDataCounter) for DMA_GetCurrDataCounter
|
||||
boot_usart.o(i.boot_usart_write) refers to n32wb03x_usart.o(i.USART_SendData) for USART_SendData
|
||||
boot_usart.o(i.boot_usart_write) refers to n32wb03x_usart.o(i.USART_GetFlagStatus) for USART_GetFlagStatus
|
||||
boot_cli.o(i.CmdDevInfo) refers to boot_crc32.o(i.caiic_crc32) for caiic_crc32
|
||||
boot_cli.o(i.CmdDevInfo) refers to boot_cli.o(i.cli_printf) for cli_printf
|
||||
boot_cli.o(i.CmdDevInfo) refers to boot_cli.o(i.cli_write) for cli_write
|
||||
boot_cli.o(i.CmdDevInfo) refers to boot_usart.o(i.boot_millis) for boot_millis
|
||||
boot_cli.o(i.CmdDevInfo) refers to uidiv.o(.text) for __aeabi_uidivmod
|
||||
boot_cli.o(i.CmdHelp) refers to strcmp.o(.text) for strcmp
|
||||
boot_cli.o(i.CmdHelp) refers to boot_cli.o(i.cli_printf) for cli_printf
|
||||
boot_cli.o(i.CmdHelp) refers to boot_cli.o(i.cli_write) for cli_write
|
||||
boot_cli.o(i.CmdHelp) refers to boot_cli.o(.constdata) for s_cmds
|
||||
boot_cli.o(i.CmdOta) refers to boot_cli.o(i.cli_write) for cli_write
|
||||
boot_cli.o(i.CmdOta) refers to boot_cli.o(.conststring) for .conststring
|
||||
boot_cli.o(i.CmdOta) refers to boot_cli.o(.data) for s_otaMode
|
||||
boot_cli.o(i.CmdReset) refers to boot_cli.o(i.cli_write) for cli_write
|
||||
boot_cli.o(i.CmdReset) refers to boot_usart.o(i.boot_delay_ms) for boot_delay_ms
|
||||
boot_cli.o(i.CmdUartInfo) refers to boot_cli.o(i.cli_write) for cli_write
|
||||
boot_cli.o(i.CmdVersion) refers to boot_cli.o(i.cli_printf) for cli_printf
|
||||
boot_cli.o(i.CmdVersion) refers to system_n32wb03x.o(.data) for SystemCoreClock
|
||||
boot_cli.o(i.boot_cli_run) refers to boot_cli.o(i.cli_write) for cli_write
|
||||
boot_cli.o(i.boot_cli_run) refers to app_ota.o(i.app_ota_reset_poll) for app_ota_reset_poll
|
||||
boot_cli.o(i.boot_cli_run) refers to boot_usart.o(i.boot_millis) for boot_millis
|
||||
boot_cli.o(i.boot_cli_run) refers to app_ota.o(i.app_ota_chan_idle) for app_ota_chan_idle
|
||||
boot_cli.o(i.boot_cli_run) refers to boot_usart.o(i.boot_usart_read) for boot_usart_read
|
||||
boot_cli.o(i.boot_cli_run) refers to app_ota.o(i.app_ota_chan_rx_uart) for app_ota_chan_rx_uart
|
||||
boot_cli.o(i.boot_cli_run) refers to boot_cli.o(i.cli_exec_line) for cli_exec_line
|
||||
boot_cli.o(i.boot_cli_run) refers to boot_usart.o(i.boot_usart_write) for boot_usart_write
|
||||
boot_cli.o(i.boot_cli_run) refers to boot_cli.o(.conststring) for .conststring
|
||||
boot_cli.o(i.boot_cli_run) refers to boot_cli.o(.data) for s_otaMode
|
||||
boot_cli.o(i.boot_cli_run) refers to boot_cli.o(.bss) for s_line
|
||||
boot_cli.o(i.cli_exec_line) refers to strcmp.o(.text) for strcmp
|
||||
boot_cli.o(i.cli_exec_line) refers to boot_cli.o(i.cli_printf) for cli_printf
|
||||
boot_cli.o(i.cli_exec_line) refers to boot_cli.o(.constdata) for s_cmds
|
||||
boot_cli.o(i.cli_printf) refers to boot_cli.o(i.str_pad) for str_pad
|
||||
boot_cli.o(i.cli_printf) refers to boot_cli.o(i.u32_to_str) for u32_to_str
|
||||
boot_cli.o(i.cli_printf) refers to boot_cli.o(i.cli_write) for cli_write
|
||||
boot_cli.o(i.cli_printf) refers to boot_cli.o(.bss) for s_txBuf
|
||||
boot_cli.o(i.cli_write) refers to strlen.o(.text) for strlen
|
||||
boot_cli.o(i.cli_write) refers to boot_usart.o(i.boot_usart_write) for boot_usart_write
|
||||
boot_cli.o(i.str_pad) refers to strlen.o(.text) for strlen
|
||||
boot_cli.o(i.u32_to_str) refers to uidiv.o(.text) for __aeabi_uidivmod
|
||||
boot_cli.o(.constdata) refers to boot_cli.o(.conststring) for .conststring
|
||||
boot_cli.o(.constdata) refers to boot_cli.o(i.CmdHelp) for CmdHelp
|
||||
boot_cli.o(.constdata) refers to boot_cli.o(i.CmdVersion) for CmdVersion
|
||||
boot_cli.o(.constdata) refers to boot_cli.o(i.CmdDevInfo) for CmdDevInfo
|
||||
boot_cli.o(.constdata) refers to app_bootset.o(i.AppBootset_CmdBsdump) for AppBootset_CmdBsdump
|
||||
boot_cli.o(.constdata) refers to app_bootset.o(i.AppBootset_CmdBsset) for AppBootset_CmdBsset
|
||||
boot_cli.o(.constdata) refers to app_bootset.o(i.AppBootset_CmdAppswitch) for AppBootset_CmdAppswitch
|
||||
boot_cli.o(.constdata) refers to boot_cli.o(i.CmdOta) for CmdOta
|
||||
boot_cli.o(.constdata) refers to boot_cli.o(i.CmdReset) for CmdReset
|
||||
boot_cli.o(.constdata) refers to boot_cli.o(i.CmdUartInfo) for CmdUartInfo
|
||||
app_ota.o(i.app_ota_abort) refers to app_ota.o(.data) for s_active
|
||||
app_ota.o(i.app_ota_chan_idle) refers to app_ota.o(.data) for s_chanState
|
||||
app_ota.o(i.app_ota_chan_rx) refers to app_ota.o(i.ota_crc16) for ota_crc16
|
||||
app_ota.o(i.app_ota_chan_rx) refers to app_ota.o(i.app_ota_handle_frame) for app_ota_handle_frame
|
||||
app_ota.o(i.app_ota_chan_rx) refers to app_ota.o(.data) for s_rsp_sink
|
||||
app_ota.o(i.app_ota_chan_rx) refers to app_ota.o(.bss) for s_chanBuf
|
||||
app_ota.o(i.app_ota_chan_rx_uart) refers to app_ota.o(i.app_ota_chan_rx) for app_ota_chan_rx
|
||||
app_ota.o(i.app_ota_chan_rx_uart) refers to app_ota.o(i.ota_uart_sink) for ota_uart_sink
|
||||
app_ota.o(i.app_ota_chan_rx_uart) refers to app_ota.o(.data) for s_uart_exit_req
|
||||
app_ota.o(i.app_ota_handle_frame) refers to app_ota.o(i.ota_on_begin) for ota_on_begin
|
||||
app_ota.o(i.app_ota_handle_frame) refers to app_ota.o(i.ota_on_data) for ota_on_data
|
||||
app_ota.o(i.app_ota_handle_frame) refers to app_ota.o(i.ota_on_end) for ota_on_end
|
||||
app_ota.o(i.app_ota_handle_frame) refers to app_ota.o(i.app_ota_abort) for app_ota_abort
|
||||
app_ota.o(i.app_ota_handle_frame) refers to app_ota.o(i.ota_respond) for ota_respond
|
||||
app_ota.o(i.app_ota_handle_frame) refers to app_ota.o(.data) for s_offset
|
||||
app_ota.o(i.app_ota_handle_frame) refers to app_ota.o(i.ota_uart_sink) for ota_uart_sink
|
||||
app_ota.o(i.app_ota_reset_poll) refers to boot_usart.o(i.boot_millis) for boot_millis
|
||||
app_ota.o(i.app_ota_reset_poll) refers to app_ota.o(.data) for s_reset_pending
|
||||
app_ota.o(i.ota_erase_up_to) refers to n32wb03x_qflash.o(i.Qflash_Erase_Sector) for Qflash_Erase_Sector
|
||||
app_ota.o(i.ota_erase_up_to) refers to app_ota.o(.data) for s_target_base
|
||||
app_ota.o(i.ota_on_begin) refers to app_ota.o(i.ota_respond) for ota_respond
|
||||
app_ota.o(i.ota_on_begin) refers to app_ota.o(i.ota_rd32) for ota_rd32
|
||||
app_ota.o(i.ota_on_begin) refers to boot_crc32.o(i.caiic_crc32) for caiic_crc32
|
||||
app_ota.o(i.ota_on_begin) refers to n32wb03x_qflash.o(i.Qflash_Init) for Qflash_Init
|
||||
app_ota.o(i.ota_on_begin) refers to app_ota.o(.data) for s_active
|
||||
app_ota.o(i.ota_on_begin) refers to app_ota.o(i.ota_uart_sink) for ota_uart_sink
|
||||
app_ota.o(i.ota_on_data) refers to app_ota.o(i.ota_respond) for ota_respond
|
||||
app_ota.o(i.ota_on_data) refers to app_ota.o(i.ota_rd32) for ota_rd32
|
||||
app_ota.o(i.ota_on_data) refers to app_ota.o(i.ota_erase_up_to) for ota_erase_up_to
|
||||
app_ota.o(i.ota_on_data) refers to app_ota.o(i.ota_program) for ota_program
|
||||
app_ota.o(i.ota_on_data) refers to memcpya.o(.text) for __aeabi_memcpy
|
||||
app_ota.o(i.ota_on_data) refers to app_ota.o(i.app_ota_abort) for app_ota_abort
|
||||
app_ota.o(i.ota_on_data) refers to app_ota.o(.data) for s_active
|
||||
app_ota.o(i.ota_on_end) refers to app_ota.o(i.ota_respond) for ota_respond
|
||||
app_ota.o(i.ota_on_end) refers to app_ota.o(i.ota_rd32) for ota_rd32
|
||||
app_ota.o(i.ota_on_end) refers to app_ota.o(i.ota_program) for ota_program
|
||||
app_ota.o(i.ota_on_end) refers to app_ota.o(i.app_ota_abort) for app_ota_abort
|
||||
app_ota.o(i.ota_on_end) refers to boot_crc32.o(i.caiic_crc32) for caiic_crc32
|
||||
app_ota.o(i.ota_on_end) refers to app_ota.o(i.ota_update_bootsetting) for ota_update_bootsetting
|
||||
app_ota.o(i.ota_on_end) refers to boot_usart.o(i.boot_millis) for boot_millis
|
||||
app_ota.o(i.ota_on_end) refers to app_ota.o(.data) for s_active
|
||||
app_ota.o(i.ota_program) refers to n32wb03x_qflash.o(i.Qflash_Write) for Qflash_Write
|
||||
app_ota.o(i.ota_program) refers to app_ota.o(.data) for s_target_base
|
||||
app_ota.o(i.ota_respond) refers to memcpya.o(.text) for __aeabi_memcpy
|
||||
app_ota.o(i.ota_respond) refers to app_ota.o(i.ota_crc16) for ota_crc16
|
||||
app_ota.o(i.ota_respond) refers to app_ota.o(.data) for s_rsp_sink
|
||||
app_ota.o(i.ota_uart_sink) refers to boot_usart.o(i.boot_usart_write) for boot_usart_write
|
||||
app_ota.o(i.ota_uart_sink) refers to app_ota.o(.data) for s_rsp_consumed
|
||||
app_ota.o(i.ota_update_bootsetting) refers to memcpya.o(.text) for __aeabi_memcpy4
|
||||
app_ota.o(i.ota_update_bootsetting) refers to boot_crc32.o(i.caiic_crc32) for caiic_crc32
|
||||
app_ota.o(i.ota_update_bootsetting) refers to memseta.o(.text) for __aeabi_memclr4
|
||||
app_ota.o(i.ota_update_bootsetting) refers to n32wb03x_qflash.o(i.Qflash_Erase_Sector) for Qflash_Erase_Sector
|
||||
app_ota.o(i.ota_update_bootsetting) refers to n32wb03x_qflash.o(i.Qflash_Write) for Qflash_Write
|
||||
app_ota.o(i.ota_update_bootsetting) refers to memcmp.o(.text) for memcmp
|
||||
app_ota.o(i.ota_update_bootsetting) refers to app_ota.o(.data) for s_target_base
|
||||
app_bootset.o(i.AppBootset_CmdAppswitch) refers to memcpya.o(.text) for __aeabi_memcpy4
|
||||
app_bootset.o(i.AppBootset_CmdAppswitch) refers to app_bootset.o(i.bootset_valid) for bootset_valid
|
||||
app_bootset.o(i.AppBootset_CmdAppswitch) refers to boot_cli.o(i.cli_write) for cli_write
|
||||
app_bootset.o(i.AppBootset_CmdAppswitch) refers to app_bootset.o(i.parse_u32) for parse_u32
|
||||
app_bootset.o(i.AppBootset_CmdAppswitch) refers to boot_cli.o(i.cli_printf) for cli_printf
|
||||
app_bootset.o(i.AppBootset_CmdAppswitch) refers to boot_crc32.o(i.caiic_crc32) for caiic_crc32
|
||||
app_bootset.o(i.AppBootset_CmdAppswitch) refers to app_bootset.o(i.bootset_commit) for bootset_commit
|
||||
app_bootset.o(i.AppBootset_CmdAppswitch) refers to boot_usart.o(i.boot_delay_ms) for boot_delay_ms
|
||||
app_bootset.o(i.AppBootset_CmdAppswitch) refers to app_bootset.o(.conststring) for .conststring
|
||||
app_bootset.o(i.AppBootset_CmdBsdump) refers to memcpya.o(.text) for __aeabi_memcpy4
|
||||
app_bootset.o(i.AppBootset_CmdBsdump) refers to app_bootset.o(i.bootset_print) for bootset_print
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to boot_cli.o(i.cli_write) for cli_write
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to app_bootset.o(i.parse_u32) for parse_u32
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to memcpya.o(.text) for __aeabi_memcpy4
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to app_bootset.o(i.bootset_valid) for bootset_valid
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to memseta.o(.text) for __aeabi_memclr4
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to strcmp.o(.text) for strcmp
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to boot_cli.o(i.cli_printf) for cli_printf
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to app_bootset.o(i.bootset_commit) for bootset_commit
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to app_bootset.o(i.bootset_print) for bootset_print
|
||||
app_bootset.o(i.AppBootset_CmdBsset) refers to app_bootset.o(.conststring) for .conststring
|
||||
app_bootset.o(i.bootset_commit) refers to app_bootset.o(i.bootset_ensure_qflash) for bootset_ensure_qflash
|
||||
app_bootset.o(i.bootset_commit) refers to app_bootset.o(i.bootset_crc) for bootset_crc
|
||||
app_bootset.o(i.bootset_commit) refers to n32wb03x_qflash.o(i.Qflash_Erase_Sector) for Qflash_Erase_Sector
|
||||
app_bootset.o(i.bootset_commit) refers to n32wb03x_qflash.o(i.Qflash_Write) for Qflash_Write
|
||||
app_bootset.o(i.bootset_commit) refers to memcmp.o(.text) for memcmp
|
||||
app_bootset.o(i.bootset_crc) refers to boot_crc32.o(i.caiic_crc32) for caiic_crc32
|
||||
app_bootset.o(i.bootset_ensure_qflash) refers to n32wb03x_qflash.o(i.Qflash_Init) for Qflash_Init
|
||||
app_bootset.o(i.bootset_ensure_qflash) refers to app_bootset.o(.data) for s_qflash_ready
|
||||
app_bootset.o(i.bootset_print) refers to app_bootset.o(i.bootset_valid) for bootset_valid
|
||||
app_bootset.o(i.bootset_print) refers to boot_cli.o(i.cli_printf) for cli_printf
|
||||
app_bootset.o(i.bootset_valid) refers to app_bootset.o(i.bootset_crc) for bootset_crc
|
||||
app_bootset.o(i.parse_u32) refers to strtoul.o(.text) for strtoul
|
||||
n32wb03x_rcc.o(i.RCC_GetClocksFreqValue) refers to n32wb03x_rcc.o(.constdata) for s_AhbPresTable
|
||||
n32wb03x_rcc.o(i.RCC_WaitHseStable) refers to n32wb03x_rcc.o(i.RCC_GetFlagStatus) for RCC_GetFlagStatus
|
||||
n32wb03x_rcc.o(i.RCC_WaitHsiStable) refers to n32wb03x_rcc.o(i.RCC_GetFlagStatus) for RCC_GetFlagStatus
|
||||
n32wb03x_gpio.o(i.GPIO_AFIOInitDefault) refers to n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphReset) for RCC_EnableAPB2PeriphReset
|
||||
n32wb03x_gpio.o(i.GPIO_ConfigEXTILine) refers to n32wb03x_gpio.o(i.__ARM_common_switch8) for __ARM_common_switch8
|
||||
n32wb03x_gpio.o(i.GPIO_DeInit) refers to n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphReset) for RCC_EnableAPB2PeriphReset
|
||||
n32wb03x_usart.o(i.USART_DeInit) refers to n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphReset) for RCC_EnableAPB2PeriphReset
|
||||
n32wb03x_usart.o(i.USART_DeInit) refers to n32wb03x_rcc.o(i.RCC_EnableAPB1PeriphReset) for RCC_EnableAPB1PeriphReset
|
||||
n32wb03x_usart.o(i.USART_Init) refers to n32wb03x_rcc.o(i.RCC_GetClocksFreqValue) for RCC_GetClocksFreqValue
|
||||
n32wb03x_usart.o(i.USART_Init) refers to uidiv.o(.text) for __aeabi_uidivmod
|
||||
n32wb03x_qflash.o(i.Qflash_Erase_Sector) refers to n32wb03x_qflash.o(i.__set_PRIMASK) for __set_PRIMASK
|
||||
n32wb03x_qflash.o(i.Qflash_Erase_Sector) refers to n32wb03x_qflash.o(.data) for CMD_FLASH_SE
|
||||
n32wb03x_qflash.o(i.Qflash_Init) refers to memcpya.o(.text) for __aeabi_memcpy
|
||||
n32wb03x_qflash.o(i.Qflash_Init) refers to n32wb03x_qflash.o(.bss) for ram_qflash_cmd
|
||||
n32wb03x_qflash.o(i.Qflash_Init) refers to n32wb03x_qflash.o(.data) for CMD_FLASH_SE
|
||||
n32wb03x_qflash.o(i.Qflash_Init) refers to n32wb03x_qflash.o(.constdata) for const_qflash_cmd
|
||||
n32wb03x_qflash.o(i.Qflash_Read) refers to n32wb03x_qflash.o(i.__set_PRIMASK) for __set_PRIMASK
|
||||
n32wb03x_qflash.o(i.Qflash_Read) refers to n32wb03x_qflash.o(.data) for CMD_FLASH_READ
|
||||
n32wb03x_qflash.o(i.Qflash_Write) refers to n32wb03x_qflash.o(i.__set_PRIMASK) for __set_PRIMASK
|
||||
n32wb03x_qflash.o(i.Qflash_Write) refers to n32wb03x_qflash.o(.data) for CMD_FLASH_WRITE
|
||||
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp
|
||||
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$0000000F) for __rt_final_exit
|
||||
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock
|
||||
@ -40,6 +226,9 @@ Section Cross References
|
||||
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init
|
||||
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload
|
||||
entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk
|
||||
strtoul.o(.text) refers to errno.o(i.__aeabi_errno_addr) for __aeabi_errno_addr
|
||||
strtoul.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
strtoul.o(.text) refers to _strtoul.o(.text) for _strtoul
|
||||
entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000
|
||||
entry2.o(.ARM.Collect$$$$00002712) refers to startup_n32wb03x.o(STACK) for __initial_sp
|
||||
entry2.o(__vectab_stack_and_reset_area) refers to startup_n32wb03x.o(STACK) for __initial_sp
|
||||
@ -47,6 +236,25 @@ Section Cross References
|
||||
entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload
|
||||
entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(i.main) for main
|
||||
entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(i.main) for main
|
||||
ctype_o.o(.text) refers to ctype_o.o(.constdata) for .constdata
|
||||
ctype_o.o(.constdata) refers to ctype_o.o(.constdata) for __ctype_table
|
||||
isalnum_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
isalpha_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
isblank_o.o(.text) refers to ctype_o.o(.constdata) for __ctype_table
|
||||
iscntrl_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
isdigit_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
isgraph_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
islower_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
isprint_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
ispunct_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
isspace_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
isupper_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
isxdigit_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table
|
||||
errno.o(i.__aeabi_errno_addr) refers to errno.o(.data) for .data
|
||||
errno.o(i.__read_errno) refers to errno.o(.data) for .data
|
||||
errno.o(i.__set_errno) refers to errno.o(.data) for .data
|
||||
_strtoul.o(.text) refers to _chval.o(.text) for _chval
|
||||
_strtoul.o(.text) refers to errno.o(i.__aeabi_errno_addr) for __aeabi_errno_addr
|
||||
init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload
|
||||
|
||||
|
||||
@ -60,10 +268,100 @@ Removing Unused input sections from the image.
|
||||
Removing system_n32wb03x.o(i.SystemGetUUID), (60 bytes).
|
||||
Removing system_n32wb03x.o(i.SystemTrimValueGet), (60 bytes).
|
||||
Removing system_n32wb03x.o(i.system_delay_n_10us), (16 bytes).
|
||||
Removing system_n32wb03x.o(.data), (4 bytes).
|
||||
Removing main.o(.emb_text), (8 bytes).
|
||||
Removing boot_usart.o(.emb_text), (8 bytes).
|
||||
Removing boot_cli.o(.emb_text), (8 bytes).
|
||||
Removing app_ota.o(.emb_text), (8 bytes).
|
||||
Removing app_ota.o(i.app_ota_current_bank_base), (8 bytes).
|
||||
Removing app_bootset.o(.emb_text), (8 bytes).
|
||||
Removing n32wb03x_rcc.o(.emb_text), (8 bytes).
|
||||
Removing n32wb03x_rcc.o(i.DBG_ConfigPeriph), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ClrFlag), (28 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ClrIntPendingBit), (16 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigAdcClk), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigHclk), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigHse), (48 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigHsi), (40 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigInt), (36 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigLSXSEL), (28 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigLpuartClk), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigLse), (60 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigMco), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigPclk1), (36 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigPclk2), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigSysclk), (28 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_ConfigTim1Clk), (28 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_DeInit), (92 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_EnableAHBPeriphReset), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_EnableAPB1PeriphClk), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_EnableAPB1PeriphReset), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphReset), (32 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_EnableHsi), (36 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_EnableLpuartClk), (40 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_EnableLsi), (36 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_EnableRTCReset), (40 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_EnableRtcClk), (40 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL), (40 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_GetFlagStatus), (64 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_GetIntStatus), (28 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_GetLpuartClkSrc), (20 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_GetRTCClkSrc), (16 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_GetSysclkSrc), (16 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_WaitHseStable), (60 bytes).
|
||||
Removing n32wb03x_rcc.o(i.RCC_WaitHsiStable), (60 bytes).
|
||||
Removing n32wb03x_gpio.o(.emb_text), (8 bytes).
|
||||
Removing n32wb03x_gpio.o(i.AFIO_ConfigSPINSSMode), (36 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_AFIOInitDefault), (20 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_ConfigEXTILine), (528 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_ConfigPinLock), (22 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_ConfigPinRemap), (100 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_DeInit), (68 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_DeInitPin), (126 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_ReadInputData), (8 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_ReadInputDataBit), (20 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_ReadOutputData), (8 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_ReadOutputDataBit), (20 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_ResetBits), (4 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_SetBits), (4 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_TogglePin), (8 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_Write), (4 bytes).
|
||||
Removing n32wb03x_gpio.o(i.GPIO_WriteBit), (12 bytes).
|
||||
Removing n32wb03x_usart.o(.emb_text), (8 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_ClockInit), (36 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_ClockStructInit), (12 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_ClrFlag), (22 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_ClrIntPendingBit), (32 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_ConfigInt), (84 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_ConfigIrDAMode), (20 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_ConfigLINBreakDetectLength), (20 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_ConfigWakeUpMode), (20 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_DeInit), (56 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_EnableHalfDuplex), (28 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_EnableIrDA), (28 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_EnableLIN), (32 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_EnableRcvWakeUp), (28 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_EnableSmartCard), (28 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_GetIntStatus), (92 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_ReceiveData), (10 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_SendBreak), (10 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_SetAddr), (20 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_SetGuardTime), (16 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_SetPrescaler), (18 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_SetSmartCardNACK), (28 bytes).
|
||||
Removing n32wb03x_usart.o(i.USART_StructInit), (24 bytes).
|
||||
Removing n32wb03x_dma.o(.emb_text), (8 bytes).
|
||||
Removing n32wb03x_dma.o(i.DMA_ClearFlag), (4 bytes).
|
||||
Removing n32wb03x_dma.o(i.DMA_ClrIntPendingBit), (4 bytes).
|
||||
Removing n32wb03x_dma.o(i.DMA_ConfigInt), (20 bytes).
|
||||
Removing n32wb03x_dma.o(i.DMA_GetFlagStatus), (26 bytes).
|
||||
Removing n32wb03x_dma.o(i.DMA_GetIntStatus), (26 bytes).
|
||||
Removing n32wb03x_dma.o(i.DMA_SetCurrDataCounter), (4 bytes).
|
||||
Removing n32wb03x_dma.o(i.DMA_StructInit), (26 bytes).
|
||||
Removing n32wb03x_qflash.o(.emb_text), (8 bytes).
|
||||
Removing n32wb03x_qflash.o(i.Qflash_Read), (68 bytes).
|
||||
Removing n32wb03x_gpio.o(i.__ARM_common_switch8), (28 bytes).
|
||||
|
||||
8 unused section(s) (total 736 bytes) removed from the image.
|
||||
98 unused section(s) (total 3926 bytes) removed from the image.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@ -73,28 +371,66 @@ Image Symbol Table
|
||||
|
||||
Symbol Name Value Ov Type Size Object(Section)
|
||||
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isspace_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isgraph_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ctype_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isalnum_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isalpha_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isblank_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 iscntrl_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isdigit_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isupper_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 islower_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isprint_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ispunct_o.o ABSOLUTE
|
||||
../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isxdigit_o.o ABSOLUTE
|
||||
../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
|
||||
../clib/microlib/errno.c 0x00000000 Number 0 errno.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
|
||||
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
|
||||
../clib/microlib/string/memcmp.c 0x00000000 Number 0 memcmp.o ABSOLUTE
|
||||
../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE
|
||||
../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE
|
||||
../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE
|
||||
../clib/microlib/string/strcmp.c 0x00000000 Number 0 strcmp.o ABSOLUTE
|
||||
../clib/microlib/string/strlen.c 0x00000000 Number 0 strlen.o ABSOLUTE
|
||||
../clib/scanf.c 0x00000000 Number 0 _strtoul.o ABSOLUTE
|
||||
../clib/scanf.c 0x00000000 Number 0 _chval.o ABSOLUTE
|
||||
../clib/scanf.c 0x00000000 Number 0 strtoul.o ABSOLUTE
|
||||
..\..\mcm-ddc-ble\src\app_bootset.c 0x00000000 Number 0 app_bootset.o ABSOLUTE
|
||||
..\..\mcm-ddc-ble\src\app_ota.c 0x00000000 Number 0 app_ota.o ABSOLUTE
|
||||
..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\startup\startup_n32wb03x.s 0x00000000 Number 0 startup_n32wb03x.o ABSOLUTE
|
||||
..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\system_n32wb03x.c 0x00000000 Number 0 system_n32wb03x.o ABSOLUTE
|
||||
..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_dma.c 0x00000000 Number 0 n32wb03x_dma.o ABSOLUTE
|
||||
..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_gpio.c 0x00000000 Number 0 n32wb03x_gpio.o ABSOLUTE
|
||||
..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_qflash.c 0x00000000 Number 0 n32wb03x_qflash.o ABSOLUTE
|
||||
..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_rcc.c 0x00000000 Number 0 n32wb03x_rcc.o ABSOLUTE
|
||||
..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_usart.c 0x00000000 Number 0 n32wb03x_usart.o ABSOLUTE
|
||||
..\\..\\mcm-ddc-ble\\src\\app_bootset.c 0x00000000 Number 0 app_bootset.o ABSOLUTE
|
||||
..\\..\\mcm-ddc-ble\\src\\app_ota.c 0x00000000 Number 0 app_ota.o ABSOLUTE
|
||||
..\\..\\nations-tec\\N32WB03x_SDK_V2.0.0\\firmware\\CMSIS\\device\\system_n32wb03x.c 0x00000000 Number 0 system_n32wb03x.o ABSOLUTE
|
||||
..\\..\\nations-tec\\N32WB03x_SDK_V2.0.0\\firmware\\n32wb03x_std_periph_driver\\src\\n32wb03x_dma.c 0x00000000 Number 0 n32wb03x_dma.o ABSOLUTE
|
||||
..\\..\\nations-tec\\N32WB03x_SDK_V2.0.0\\firmware\\n32wb03x_std_periph_driver\\src\\n32wb03x_gpio.c 0x00000000 Number 0 n32wb03x_gpio.o ABSOLUTE
|
||||
..\\..\\nations-tec\\N32WB03x_SDK_V2.0.0\\firmware\\n32wb03x_std_periph_driver\\src\\n32wb03x_qflash.c 0x00000000 Number 0 n32wb03x_qflash.o ABSOLUTE
|
||||
..\\..\\nations-tec\\N32WB03x_SDK_V2.0.0\\firmware\\n32wb03x_std_periph_driver\\src\\n32wb03x_rcc.c 0x00000000 Number 0 n32wb03x_rcc.o ABSOLUTE
|
||||
..\\..\\nations-tec\\N32WB03x_SDK_V2.0.0\\firmware\\n32wb03x_std_periph_driver\\src\\n32wb03x_usart.c 0x00000000 Number 0 n32wb03x_usart.o ABSOLUTE
|
||||
..\\src\\boot_cli.c 0x00000000 Number 0 boot_cli.o ABSOLUTE
|
||||
..\\src\\boot_usart.c 0x00000000 Number 0 boot_usart.o ABSOLUTE
|
||||
..\\src\\main.c 0x00000000 Number 0 main.o ABSOLUTE
|
||||
..\src\boot_cli.c 0x00000000 Number 0 boot_cli.o ABSOLUTE
|
||||
..\src\boot_crc32.c 0x00000000 Number 0 boot_crc32.o ABSOLUTE
|
||||
..\src\boot_usart.c 0x00000000 Number 0 boot_usart.o ABSOLUTE
|
||||
..\src\main.c 0x00000000 Number 0 main.o ABSOLUTE
|
||||
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
|
||||
handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE
|
||||
@ -115,26 +451,180 @@ Image Symbol Table
|
||||
.text 0x01000100 Section 0 uidiv.o(.text)
|
||||
.text 0x0100012c Section 0 memcpya.o(.text)
|
||||
.text 0x01000150 Section 0 memseta.o(.text)
|
||||
.text 0x01000174 Section 36 init.o(.text)
|
||||
i.OTPTrim_Read 0x01000198 Section 0 system_n32wb03x.o(i.OTPTrim_Read)
|
||||
i.RCC_HsiCalib 0x01000264 Section 0 system_n32wb03x.o(i.RCC_HsiCalib)
|
||||
RCC_HsiCalib 0x01000265 Thumb Code 296 system_n32wb03x.o(i.RCC_HsiCalib)
|
||||
i.SystemInit 0x01000394 Section 0 system_n32wb03x.o(i.SystemInit)
|
||||
i.SystemTrimValueRead 0x010004b0 Section 0 system_n32wb03x.o(i.SystemTrimValueRead)
|
||||
i.__scatterload_copy 0x010004c4 Section 14 handlers.o(i.__scatterload_copy)
|
||||
i.__scatterload_null 0x010004d2 Section 2 handlers.o(i.__scatterload_null)
|
||||
i.__scatterload_zeroinit 0x010004d4 Section 14 handlers.o(i.__scatterload_zeroinit)
|
||||
i.__set_PRIMASK 0x010004e2 Section 0 system_n32wb03x.o(i.__set_PRIMASK)
|
||||
__set_PRIMASK 0x010004e3 Thumb Code 6 system_n32wb03x.o(i.__set_PRIMASK)
|
||||
i.caiic_crc32 0x010004e8 Section 0 boot_crc32.o(i.caiic_crc32)
|
||||
i.jump_to_app 0x0100052c Section 0 main.o(i.jump_to_app)
|
||||
jump_to_app 0x0100052d Thumb Code 30 main.o(i.jump_to_app)
|
||||
i.main 0x01000550 Section 0 main.o(i.main)
|
||||
i.read_flash_ID 0x010005a4 Section 0 system_n32wb03x.o(i.read_flash_ID)
|
||||
read_flash_ID 0x010005a5 Thumb Code 62 system_n32wb03x.o(i.read_flash_ID)
|
||||
.constdata 0x010005e8 Section 472 system_n32wb03x.o(.constdata)
|
||||
.bss 0x20004000 Section 52 system_n32wb03x.o(.bss)
|
||||
STACK 0x20004038 Section 2048 startup_n32wb03x.o(STACK)
|
||||
.text 0x01000174 Section 0 strlen.o(.text)
|
||||
.text 0x01000182 Section 0 strcmp.o(.text)
|
||||
.text 0x0100019e Section 0 memcmp.o(.text)
|
||||
.text 0x010001b8 Section 0 strtoul.o(.text)
|
||||
.text 0x01000230 Section 0 ctype_o.o(.text)
|
||||
.text 0x01000238 Section 0 _strtoul.o(.text)
|
||||
.text 0x010002e0 Section 36 init.o(.text)
|
||||
.text 0x01000304 Section 0 _chval.o(.text)
|
||||
i.AppBootset_CmdAppswitch 0x01000324 Section 0 app_bootset.o(i.AppBootset_CmdAppswitch)
|
||||
i.AppBootset_CmdBsdump 0x010005fc Section 0 app_bootset.o(i.AppBootset_CmdBsdump)
|
||||
i.AppBootset_CmdBsset 0x0100061c Section 0 app_bootset.o(i.AppBootset_CmdBsset)
|
||||
i.CmdDevInfo 0x01000914 Section 0 boot_cli.o(i.CmdDevInfo)
|
||||
CmdDevInfo 0x01000915 Thumb Code 90 boot_cli.o(i.CmdDevInfo)
|
||||
i.CmdHelp 0x010009f4 Section 0 boot_cli.o(i.CmdHelp)
|
||||
CmdHelp 0x010009f5 Thumb Code 114 boot_cli.o(i.CmdHelp)
|
||||
i.CmdOta 0x01000aa8 Section 0 boot_cli.o(i.CmdOta)
|
||||
CmdOta 0x01000aa9 Thumb Code 20 boot_cli.o(i.CmdOta)
|
||||
i.CmdReset 0x01000ac4 Section 0 boot_cli.o(i.CmdReset)
|
||||
CmdReset 0x01000ac5 Thumb Code 34 boot_cli.o(i.CmdReset)
|
||||
i.CmdUartInfo 0x01000b00 Section 0 boot_cli.o(i.CmdUartInfo)
|
||||
CmdUartInfo 0x01000b01 Thumb Code 26 boot_cli.o(i.CmdUartInfo)
|
||||
i.CmdVersion 0x01000bb0 Section 0 boot_cli.o(i.CmdVersion)
|
||||
CmdVersion 0x01000bb1 Thumb Code 26 boot_cli.o(i.CmdVersion)
|
||||
i.DMA_DeInit 0x01000c24 Section 0 n32wb03x_dma.o(i.DMA_DeInit)
|
||||
i.DMA_EnableChannel 0x01000cc4 Section 0 n32wb03x_dma.o(i.DMA_EnableChannel)
|
||||
i.DMA_GetCurrDataCounter 0x01000ce0 Section 0 n32wb03x_dma.o(i.DMA_GetCurrDataCounter)
|
||||
i.DMA_Init 0x01000ce8 Section 0 n32wb03x_dma.o(i.DMA_Init)
|
||||
i.DMA_RequestRemap 0x01000d28 Section 0 n32wb03x_dma.o(i.DMA_RequestRemap)
|
||||
i.GPIO_InitPeripheral 0x01000d38 Section 0 n32wb03x_gpio.o(i.GPIO_InitPeripheral)
|
||||
i.GPIO_InitStruct 0x01000e40 Section 0 n32wb03x_gpio.o(i.GPIO_InitStruct)
|
||||
i.OTPTrim_Read 0x01000e5c Section 0 system_n32wb03x.o(i.OTPTrim_Read)
|
||||
i.Qflash_Erase_Sector 0x01000f28 Section 0 n32wb03x_qflash.o(i.Qflash_Erase_Sector)
|
||||
i.Qflash_Init 0x01000f64 Section 0 n32wb03x_qflash.o(i.Qflash_Init)
|
||||
i.Qflash_Write 0x01000f9c Section 0 n32wb03x_qflash.o(i.Qflash_Write)
|
||||
i.RCC_EnableAHBPeriphClk 0x01000fe0 Section 0 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk)
|
||||
i.RCC_EnableAPB2PeriphClk 0x01001000 Section 0 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk)
|
||||
i.RCC_GetClocksFreqValue 0x01001020 Section 0 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue)
|
||||
i.RCC_HsiCalib 0x010010c4 Section 0 system_n32wb03x.o(i.RCC_HsiCalib)
|
||||
RCC_HsiCalib 0x010010c5 Thumb Code 296 system_n32wb03x.o(i.RCC_HsiCalib)
|
||||
i.SystemInit 0x010011f4 Section 0 system_n32wb03x.o(i.SystemInit)
|
||||
i.SystemTrimValueRead 0x01001310 Section 0 system_n32wb03x.o(i.SystemTrimValueRead)
|
||||
i.USART_Enable 0x01001324 Section 0 n32wb03x_usart.o(i.USART_Enable)
|
||||
i.USART_EnableDMA 0x01001344 Section 0 n32wb03x_usart.o(i.USART_EnableDMA)
|
||||
i.USART_GetFlagStatus 0x01001358 Section 0 n32wb03x_usart.o(i.USART_GetFlagStatus)
|
||||
i.USART_Init 0x01001378 Section 0 n32wb03x_usart.o(i.USART_Init)
|
||||
i.USART_SendData 0x0100142c Section 0 n32wb03x_usart.o(i.USART_SendData)
|
||||
i.__aeabi_errno_addr 0x01001434 Section 0 errno.o(i.__aeabi_errno_addr)
|
||||
i.__scatterload_copy 0x0100143c Section 14 handlers.o(i.__scatterload_copy)
|
||||
i.__scatterload_null 0x0100144a Section 2 handlers.o(i.__scatterload_null)
|
||||
i.__scatterload_zeroinit 0x0100144c Section 14 handlers.o(i.__scatterload_zeroinit)
|
||||
i.__set_PRIMASK 0x0100145a Section 0 system_n32wb03x.o(i.__set_PRIMASK)
|
||||
__set_PRIMASK 0x0100145b Thumb Code 6 system_n32wb03x.o(i.__set_PRIMASK)
|
||||
i.__set_PRIMASK 0x01001460 Section 0 n32wb03x_qflash.o(i.__set_PRIMASK)
|
||||
__set_PRIMASK 0x01001461 Thumb Code 6 n32wb03x_qflash.o(i.__set_PRIMASK)
|
||||
i.app_ota_abort 0x01001468 Section 0 app_ota.o(i.app_ota_abort)
|
||||
i.app_ota_chan_idle 0x010014a4 Section 0 app_ota.o(i.app_ota_chan_idle)
|
||||
i.app_ota_chan_rx 0x010014b8 Section 0 app_ota.o(i.app_ota_chan_rx)
|
||||
i.app_ota_chan_rx_uart 0x010015f8 Section 0 app_ota.o(i.app_ota_chan_rx_uart)
|
||||
i.app_ota_handle_frame 0x0100161c Section 0 app_ota.o(i.app_ota_handle_frame)
|
||||
i.app_ota_reset_poll 0x01001698 Section 0 app_ota.o(i.app_ota_reset_poll)
|
||||
i.boot_cli_run 0x010016f4 Section 0 boot_cli.o(i.boot_cli_run)
|
||||
i.boot_delay_ms 0x0100183c Section 0 boot_usart.o(i.boot_delay_ms)
|
||||
i.boot_millis 0x01001854 Section 0 boot_usart.o(i.boot_millis)
|
||||
i.boot_usart_init 0x0100187c Section 0 boot_usart.o(i.boot_usart_init)
|
||||
i.boot_usart_read 0x0100198c Section 0 boot_usart.o(i.boot_usart_read)
|
||||
i.boot_usart_rx_head 0x010019cc Section 0 boot_usart.o(i.boot_usart_rx_head)
|
||||
boot_usart_rx_head 0x010019cd Thumb Code 18 boot_usart.o(i.boot_usart_rx_head)
|
||||
i.boot_usart_write 0x010019e4 Section 0 boot_usart.o(i.boot_usart_write)
|
||||
i.bootset_commit 0x01001a14 Section 0 app_bootset.o(i.bootset_commit)
|
||||
bootset_commit 0x01001a15 Thumb Code 74 app_bootset.o(i.bootset_commit)
|
||||
i.bootset_crc 0x01001a68 Section 0 app_bootset.o(i.bootset_crc)
|
||||
bootset_crc 0x01001a69 Thumb Code 14 app_bootset.o(i.bootset_crc)
|
||||
i.bootset_ensure_qflash 0x01001a78 Section 0 app_bootset.o(i.bootset_ensure_qflash)
|
||||
bootset_ensure_qflash 0x01001a79 Thumb Code 22 app_bootset.o(i.bootset_ensure_qflash)
|
||||
i.bootset_print 0x01001a94 Section 0 app_bootset.o(i.bootset_print)
|
||||
bootset_print 0x01001a95 Thumb Code 98 app_bootset.o(i.bootset_print)
|
||||
i.bootset_valid 0x01001c00 Section 0 app_bootset.o(i.bootset_valid)
|
||||
bootset_valid 0x01001c01 Thumb Code 32 app_bootset.o(i.bootset_valid)
|
||||
i.caiic_crc32 0x01001c24 Section 0 boot_crc32.o(i.caiic_crc32)
|
||||
i.cli_exec_line 0x01001c68 Section 0 boot_cli.o(i.cli_exec_line)
|
||||
cli_exec_line 0x01001c69 Thumb Code 162 boot_cli.o(i.cli_exec_line)
|
||||
i.cli_printf 0x01001d34 Section 0 boot_cli.o(i.cli_printf)
|
||||
i.cli_write 0x01001ed0 Section 0 boot_cli.o(i.cli_write)
|
||||
i.image_sane 0x01001ee8 Section 0 main.o(i.image_sane)
|
||||
image_sane 0x01001ee9 Thumb Code 44 main.o(i.image_sane)
|
||||
i.jump_to_app 0x01001f1c Section 0 main.o(i.jump_to_app)
|
||||
jump_to_app 0x01001f1d Thumb Code 30 main.o(i.jump_to_app)
|
||||
i.main 0x01001f40 Section 0 main.o(i.main)
|
||||
i.ota_crc16 0x010020c0 Section 0 app_ota.o(i.ota_crc16)
|
||||
ota_crc16 0x010020c1 Thumb Code 68 app_ota.o(i.ota_crc16)
|
||||
i.ota_erase_up_to 0x0100210c Section 0 app_ota.o(i.ota_erase_up_to)
|
||||
ota_erase_up_to 0x0100210d Thumb Code 54 app_ota.o(i.ota_erase_up_to)
|
||||
i.ota_on_begin 0x0100214c Section 0 app_ota.o(i.ota_on_begin)
|
||||
ota_on_begin 0x0100214d Thumb Code 294 app_ota.o(i.ota_on_begin)
|
||||
i.ota_on_data 0x010022bc Section 0 app_ota.o(i.ota_on_data)
|
||||
ota_on_data 0x010022bd Thumb Code 396 app_ota.o(i.ota_on_data)
|
||||
i.ota_on_end 0x01002464 Section 0 app_ota.o(i.ota_on_end)
|
||||
ota_on_end 0x01002465 Thumb Code 326 app_ota.o(i.ota_on_end)
|
||||
i.ota_program 0x010025d4 Section 0 app_ota.o(i.ota_program)
|
||||
ota_program 0x010025d5 Thumb Code 46 app_ota.o(i.ota_program)
|
||||
i.ota_rd32 0x0100260c Section 0 app_ota.o(i.ota_rd32)
|
||||
ota_rd32 0x0100260d Thumb Code 24 app_ota.o(i.ota_rd32)
|
||||
i.ota_respond 0x01002624 Section 0 app_ota.o(i.ota_respond)
|
||||
ota_respond 0x01002625 Thumb Code 118 app_ota.o(i.ota_respond)
|
||||
i.ota_uart_sink 0x010026a0 Section 0 app_ota.o(i.ota_uart_sink)
|
||||
ota_uart_sink 0x010026a1 Thumb Code 22 app_ota.o(i.ota_uart_sink)
|
||||
i.ota_update_bootsetting 0x010026bc Section 0 app_ota.o(i.ota_update_bootsetting)
|
||||
ota_update_bootsetting 0x010026bd Thumb Code 174 app_ota.o(i.ota_update_bootsetting)
|
||||
i.parse_u32 0x01002788 Section 0 app_bootset.o(i.parse_u32)
|
||||
parse_u32 0x01002789 Thumb Code 46 app_bootset.o(i.parse_u32)
|
||||
i.puts_boot 0x010027b6 Section 0 main.o(i.puts_boot)
|
||||
puts_boot 0x010027b7 Thumb Code 24 main.o(i.puts_boot)
|
||||
i.read_flash_ID 0x010027d0 Section 0 system_n32wb03x.o(i.read_flash_ID)
|
||||
read_flash_ID 0x010027d1 Thumb Code 62 system_n32wb03x.o(i.read_flash_ID)
|
||||
i.str_pad 0x01002814 Section 0 boot_cli.o(i.str_pad)
|
||||
str_pad 0x01002815 Thumb Code 78 boot_cli.o(i.str_pad)
|
||||
i.u32_to_str 0x01002862 Section 0 boot_cli.o(i.u32_to_str)
|
||||
u32_to_str 0x01002863 Thumb Code 108 boot_cli.o(i.u32_to_str)
|
||||
.constdata 0x010028ce Section 472 system_n32wb03x.o(.constdata)
|
||||
.constdata 0x01002aa8 Section 108 boot_cli.o(.constdata)
|
||||
s_cmds 0x01002aa8 Data 108 boot_cli.o(.constdata)
|
||||
.constdata 0x01002b14 Section 12 n32wb03x_rcc.o(.constdata)
|
||||
s_ApbPresTable 0x01002b14 Data 8 n32wb03x_rcc.o(.constdata)
|
||||
s_AhbPresTable 0x01002b1c Data 4 n32wb03x_rcc.o(.constdata)
|
||||
.constdata 0x01002b20 Section 804 n32wb03x_qflash.o(.constdata)
|
||||
.constdata 0x01002e44 Section 129 ctype_o.o(.constdata)
|
||||
.constdata 0x01002ec8 Section 4 ctype_o.o(.constdata)
|
||||
table 0x01002ec8 Data 4 ctype_o.o(.constdata)
|
||||
.conststring 0x01002ecc Section 666 boot_cli.o(.conststring)
|
||||
.conststring 0x01003168 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)
|
||||
s_millis 0x20004008 Data 4 boot_usart.o(.data)
|
||||
.data 0x2000400c Section 1 boot_cli.o(.data)
|
||||
s_otaMode 0x2000400c Data 1 boot_cli.o(.data)
|
||||
.data 0x20004010 Section 61 app_ota.o(.data)
|
||||
s_active 0x20004010 Data 1 app_ota.o(.data)
|
||||
s_target_base 0x20004014 Data 4 app_ota.o(.data)
|
||||
s_total_size 0x20004018 Data 4 app_ota.o(.data)
|
||||
s_image_crc32 0x2000401c Data 4 app_ota.o(.data)
|
||||
s_version 0x20004020 Data 4 app_ota.o(.data)
|
||||
s_offset 0x20004024 Data 4 app_ota.o(.data)
|
||||
s_prog 0x20004028 Data 4 app_ota.o(.data)
|
||||
s_erased 0x2000402c Data 4 app_ota.o(.data)
|
||||
s_word_buf 0x20004030 Data 4 app_ota.o(.data)
|
||||
s_word_fill 0x20004034 Data 4 app_ota.o(.data)
|
||||
s_qflash_ready 0x20004038 Data 1 app_ota.o(.data)
|
||||
s_rsp_consumed 0x20004039 Data 1 app_ota.o(.data)
|
||||
s_reset_pending 0x2000403a Data 1 app_ota.o(.data)
|
||||
s_reset_stamp 0x2000403c Data 4 app_ota.o(.data)
|
||||
s_rsp_sink 0x20004040 Data 4 app_ota.o(.data)
|
||||
s_stream 0x20004044 Data 1 app_ota.o(.data)
|
||||
s_bad_state_sent 0x20004045 Data 1 app_ota.o(.data)
|
||||
s_uart_exit_req 0x20004046 Data 1 app_ota.o(.data)
|
||||
s_chanHave 0x20004048 Data 2 app_ota.o(.data)
|
||||
s_chanNeed 0x2000404a Data 2 app_ota.o(.data)
|
||||
s_chanState 0x2000404c Data 1 app_ota.o(.data)
|
||||
.data 0x2000404d Section 1 app_bootset.o(.data)
|
||||
s_qflash_ready 0x2000404d Data 1 app_bootset.o(.data)
|
||||
.data 0x20004050 Section 12 n32wb03x_qflash.o(.data)
|
||||
.data 0x2000405c Section 4 errno.o(.data)
|
||||
_errno 0x2000405c Data 4 errno.o(.data)
|
||||
.bss 0x20004060 Section 52 system_n32wb03x.o(.bss)
|
||||
.bss 0x20004094 Section 3072 boot_usart.o(.bss)
|
||||
s_rxRing 0x20004094 Data 3072 boot_usart.o(.bss)
|
||||
.bss 0x20004c94 Section 176 boot_cli.o(.bss)
|
||||
s_txBuf 0x20004c94 Data 96 boot_cli.o(.bss)
|
||||
s_line 0x20004cf4 Data 80 boot_cli.o(.bss)
|
||||
.bss 0x20004d44 Section 487 app_ota.o(.bss)
|
||||
s_chanBuf 0x20004d44 Data 487 app_ota.o(.bss)
|
||||
.bss 0x20004f2c Section 808 n32wb03x_qflash.o(.bss)
|
||||
ram_qflash_cmd 0x20004f2c Data 808 n32wb03x_qflash.o(.bss)
|
||||
STACK 0x20005258 Section 2048 startup_n32wb03x.o(STACK)
|
||||
|
||||
Global Symbols
|
||||
|
||||
@ -148,6 +638,7 @@ Image Symbol Table
|
||||
_clock_init - Undefined Weak Reference
|
||||
_microlib_exit - Undefined Weak Reference
|
||||
__Vectors_Size 0x000000c0 Number 0 startup_n32wb03x.o ABSOLUTE
|
||||
Image$$ER_IROM1$$Base 0x01000000 Number 0 anon$$obj.o ABSOLUTE
|
||||
__Vectors 0x01000000 Data 4 startup_n32wb03x.o(RESET)
|
||||
__Vectors_End 0x010000c0 Data 0 startup_n32wb03x.o(RESET)
|
||||
__main 0x010000c1 Thumb Code 0 entry.o(.ARM.Collect$$$$00000000)
|
||||
@ -212,22 +703,72 @@ Image Symbol Table
|
||||
__aeabi_memclr4 0x0100015f Thumb Code 0 memseta.o(.text)
|
||||
__aeabi_memclr8 0x0100015f Thumb Code 0 memseta.o(.text)
|
||||
_memset$wrapper 0x01000163 Thumb Code 18 memseta.o(.text)
|
||||
__scatterload 0x01000175 Thumb Code 28 init.o(.text)
|
||||
__scatterload_rt2 0x01000175 Thumb Code 0 init.o(.text)
|
||||
OTPTrim_Read 0x01000199 Thumb Code 192 system_n32wb03x.o(i.OTPTrim_Read)
|
||||
SystemInit 0x01000395 Thumb Code 250 system_n32wb03x.o(i.SystemInit)
|
||||
SystemTrimValueRead 0x010004b1 Thumb Code 20 system_n32wb03x.o(i.SystemTrimValueRead)
|
||||
__scatterload_copy 0x010004c5 Thumb Code 14 handlers.o(i.__scatterload_copy)
|
||||
__scatterload_null 0x010004d3 Thumb Code 2 handlers.o(i.__scatterload_null)
|
||||
__scatterload_zeroinit 0x010004d5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
||||
caiic_crc32 0x010004e9 Thumb Code 62 boot_crc32.o(i.caiic_crc32)
|
||||
main 0x01000551 Thumb Code 72 main.o(i.main)
|
||||
TRIM_READ_CMD_CODE 0x010005e8 Data 320 system_n32wb03x.o(.constdata)
|
||||
CMD_RDID 0x01000728 Data 152 system_n32wb03x.o(.constdata)
|
||||
Region$$Table$$Base 0x010007c0 Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x010007d0 Number 0 anon$$obj.o(Region$$Table)
|
||||
trim_stored 0x20004000 Data 52 system_n32wb03x.o(.bss)
|
||||
__initial_sp 0x20004838 Data 0 startup_n32wb03x.o(STACK)
|
||||
strlen 0x01000175 Thumb Code 14 strlen.o(.text)
|
||||
strcmp 0x01000183 Thumb Code 28 strcmp.o(.text)
|
||||
memcmp 0x0100019f Thumb Code 26 memcmp.o(.text)
|
||||
strtoul 0x010001b9 Thumb Code 118 strtoul.o(.text)
|
||||
__rt_ctype_table 0x01000231 Thumb Code 4 ctype_o.o(.text)
|
||||
_strtoul 0x01000239 Thumb Code 166 _strtoul.o(.text)
|
||||
__scatterload 0x010002e1 Thumb Code 28 init.o(.text)
|
||||
__scatterload_rt2 0x010002e1 Thumb Code 0 init.o(.text)
|
||||
_chval 0x01000305 Thumb Code 30 _chval.o(.text)
|
||||
AppBootset_CmdAppswitch 0x01000325 Thumb Code 282 app_bootset.o(i.AppBootset_CmdAppswitch)
|
||||
AppBootset_CmdBsdump 0x010005fd Thumb Code 28 app_bootset.o(i.AppBootset_CmdBsdump)
|
||||
AppBootset_CmdBsset 0x0100061d Thumb Code 348 app_bootset.o(i.AppBootset_CmdBsset)
|
||||
DMA_DeInit 0x01000c25 Thumb Code 152 n32wb03x_dma.o(i.DMA_DeInit)
|
||||
DMA_EnableChannel 0x01000cc5 Thumb Code 24 n32wb03x_dma.o(i.DMA_EnableChannel)
|
||||
DMA_GetCurrDataCounter 0x01000ce1 Thumb Code 8 n32wb03x_dma.o(i.DMA_GetCurrDataCounter)
|
||||
DMA_Init 0x01000ce9 Thumb Code 58 n32wb03x_dma.o(i.DMA_Init)
|
||||
DMA_RequestRemap 0x01000d29 Thumb Code 16 n32wb03x_dma.o(i.DMA_RequestRemap)
|
||||
GPIO_InitPeripheral 0x01000d39 Thumb Code 262 n32wb03x_gpio.o(i.GPIO_InitPeripheral)
|
||||
GPIO_InitStruct 0x01000e41 Thumb Code 24 n32wb03x_gpio.o(i.GPIO_InitStruct)
|
||||
OTPTrim_Read 0x01000e5d Thumb Code 192 system_n32wb03x.o(i.OTPTrim_Read)
|
||||
Qflash_Erase_Sector 0x01000f29 Thumb Code 54 n32wb03x_qflash.o(i.Qflash_Erase_Sector)
|
||||
Qflash_Init 0x01000f65 Thumb Code 36 n32wb03x_qflash.o(i.Qflash_Init)
|
||||
Qflash_Write 0x01000f9d Thumb Code 62 n32wb03x_qflash.o(i.Qflash_Write)
|
||||
RCC_EnableAHBPeriphClk 0x01000fe1 Thumb Code 28 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk)
|
||||
RCC_EnableAPB2PeriphClk 0x01001001 Thumb Code 28 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk)
|
||||
RCC_GetClocksFreqValue 0x01001021 Thumb Code 140 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue)
|
||||
SystemInit 0x010011f5 Thumb Code 250 system_n32wb03x.o(i.SystemInit)
|
||||
SystemTrimValueRead 0x01001311 Thumb Code 20 system_n32wb03x.o(i.SystemTrimValueRead)
|
||||
USART_Enable 0x01001325 Thumb Code 26 n32wb03x_usart.o(i.USART_Enable)
|
||||
USART_EnableDMA 0x01001345 Thumb Code 20 n32wb03x_usart.o(i.USART_EnableDMA)
|
||||
USART_GetFlagStatus 0x01001359 Thumb Code 30 n32wb03x_usart.o(i.USART_GetFlagStatus)
|
||||
USART_Init 0x01001379 Thumb Code 162 n32wb03x_usart.o(i.USART_Init)
|
||||
USART_SendData 0x0100142d Thumb Code 8 n32wb03x_usart.o(i.USART_SendData)
|
||||
__aeabi_errno_addr 0x01001435 Thumb Code 4 errno.o(i.__aeabi_errno_addr)
|
||||
__rt_errno_addr 0x01001435 Thumb Code 0 errno.o(i.__aeabi_errno_addr)
|
||||
__scatterload_copy 0x0100143d Thumb Code 14 handlers.o(i.__scatterload_copy)
|
||||
__scatterload_null 0x0100144b Thumb Code 2 handlers.o(i.__scatterload_null)
|
||||
__scatterload_zeroinit 0x0100144d Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
|
||||
app_ota_abort 0x01001469 Thumb Code 32 app_ota.o(i.app_ota_abort)
|
||||
app_ota_chan_idle 0x010014a5 Thumb Code 12 app_ota.o(i.app_ota_chan_idle)
|
||||
app_ota_chan_rx 0x010014b9 Thumb Code 298 app_ota.o(i.app_ota_chan_rx)
|
||||
app_ota_chan_rx_uart 0x010015f9 Thumb Code 26 app_ota.o(i.app_ota_chan_rx_uart)
|
||||
app_ota_handle_frame 0x0100161d Thumb Code 106 app_ota.o(i.app_ota_handle_frame)
|
||||
app_ota_reset_poll 0x01001699 Thumb Code 70 app_ota.o(i.app_ota_reset_poll)
|
||||
boot_cli_run 0x010016f5 Thumb Code 220 boot_cli.o(i.boot_cli_run)
|
||||
boot_delay_ms 0x0100183d Thumb Code 24 boot_usart.o(i.boot_delay_ms)
|
||||
boot_millis 0x01001855 Thumb Code 30 boot_usart.o(i.boot_millis)
|
||||
boot_usart_init 0x0100187d Thumb Code 238 boot_usart.o(i.boot_usart_init)
|
||||
boot_usart_read 0x0100198d Thumb Code 54 boot_usart.o(i.boot_usart_read)
|
||||
boot_usart_write 0x010019e5 Thumb Code 42 boot_usart.o(i.boot_usart_write)
|
||||
caiic_crc32 0x01001c25 Thumb Code 62 boot_crc32.o(i.caiic_crc32)
|
||||
cli_printf 0x01001d35 Thumb Code 408 boot_cli.o(i.cli_printf)
|
||||
cli_write 0x01001ed1 Thumb Code 22 boot_cli.o(i.cli_write)
|
||||
main 0x01001f41 Thumb Code 190 main.o(i.main)
|
||||
TRIM_READ_CMD_CODE 0x010028ce Data 320 system_n32wb03x.o(.constdata)
|
||||
CMD_RDID 0x01002a0e Data 152 system_n32wb03x.o(.constdata)
|
||||
const_qflash_cmd 0x01002b20 Data 804 n32wb03x_qflash.o(.constdata)
|
||||
__ctype_table 0x01002e44 Data 129 ctype_o.o(.constdata)
|
||||
Region$$Table$$Base 0x010031fc Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x0100321c 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)
|
||||
CMD_FLASH_READ 0x20004058 Data 4 n32wb03x_qflash.o(.data)
|
||||
trim_stored 0x20004060 Data 52 system_n32wb03x.o(.bss)
|
||||
__initial_sp 0x20005a58 Data 0 startup_n32wb03x.o(STACK)
|
||||
|
||||
|
||||
|
||||
@ -237,52 +778,158 @@ Memory Map of the image
|
||||
|
||||
Image Entry point : 0x010000c1
|
||||
|
||||
Load Region LR_IROM1 (Base: 0x01000000, Size: 0x000007d0, Max: 0x00004000, ABSOLUTE)
|
||||
Load Region LR_IROM1 (Base: 0x01000000, Size: 0x0000327c, Max: 0x00004000, ABSOLUTE)
|
||||
|
||||
Execution Region ER_IROM1 (Exec base: 0x01000000, Load base: 0x01000000, Size: 0x000007d0, Max: 0x00004000, ABSOLUTE)
|
||||
Execution Region ER_IROM1 (Exec base: 0x01000000, Load base: 0x01000000, Size: 0x0000321c, Max: 0x00004000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x01000000 0x01000000 0x000000c0 Data RO 3 RESET startup_n32wb03x.o
|
||||
0x010000c0 0x010000c0 0x00000000 Code RO 222 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
|
||||
0x010000c0 0x010000c0 0x00000004 Code RO 233 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
|
||||
0x010000c4 0x010000c4 0x00000004 Code RO 236 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
|
||||
0x010000c8 0x010000c8 0x00000000 Code RO 238 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
|
||||
0x010000c8 0x010000c8 0x00000000 Code RO 240 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
|
||||
0x010000c8 0x010000c8 0x00000008 Code RO 241 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
|
||||
0x010000d0 0x010000d0 0x00000000 Code RO 243 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
|
||||
0x010000d0 0x010000d0 0x00000000 Code RO 245 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
|
||||
0x010000d0 0x010000d0 0x00000004 Code RO 234 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
|
||||
0x010000c0 0x010000c0 0x00000000 Code RO 1210 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
|
||||
0x010000c0 0x010000c0 0x00000004 Code RO 1229 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
|
||||
0x010000c4 0x010000c4 0x00000004 Code RO 1232 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
|
||||
0x010000c8 0x010000c8 0x00000000 Code RO 1234 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
|
||||
0x010000c8 0x010000c8 0x00000000 Code RO 1236 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
|
||||
0x010000c8 0x010000c8 0x00000008 Code RO 1237 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
|
||||
0x010000d0 0x010000d0 0x00000000 Code RO 1239 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
|
||||
0x010000d0 0x010000d0 0x00000000 Code RO 1241 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
|
||||
0x010000d0 0x010000d0 0x00000004 Code RO 1230 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
|
||||
0x010000d4 0x010000d4 0x0000000e Code RO 10 .emb_text system_n32wb03x.o
|
||||
0x010000e2 0x010000e2 0x00000002 PAD
|
||||
0x010000e4 0x010000e4 0x0000001c Code RO 4 .text startup_n32wb03x.o
|
||||
0x01000100 0x01000100 0x0000002c Code RO 225 .text mc_p.l(uidiv.o)
|
||||
0x0100012c 0x0100012c 0x00000024 Code RO 227 .text mc_p.l(memcpya.o)
|
||||
0x01000150 0x01000150 0x00000024 Code RO 229 .text mc_p.l(memseta.o)
|
||||
0x01000174 0x01000174 0x00000024 Code RO 247 .text mc_p.l(init.o)
|
||||
0x01000198 0x01000198 0x000000cc Code RO 11 i.OTPTrim_Read system_n32wb03x.o
|
||||
0x01000264 0x01000264 0x00000130 Code RO 12 i.RCC_HsiCalib system_n32wb03x.o
|
||||
0x01000394 0x01000394 0x0000011c Code RO 16 i.SystemInit system_n32wb03x.o
|
||||
0x010004b0 0x010004b0 0x00000014 Code RO 18 i.SystemTrimValueRead system_n32wb03x.o
|
||||
0x010004c4 0x010004c4 0x0000000e Code RO 251 i.__scatterload_copy mc_p.l(handlers.o)
|
||||
0x010004d2 0x010004d2 0x00000002 Code RO 252 i.__scatterload_null mc_p.l(handlers.o)
|
||||
0x010004d4 0x010004d4 0x0000000e Code RO 253 i.__scatterload_zeroinit mc_p.l(handlers.o)
|
||||
0x010004e2 0x010004e2 0x00000006 Code RO 19 i.__set_PRIMASK system_n32wb03x.o
|
||||
0x010004e8 0x010004e8 0x00000044 Code RO 210 i.caiic_crc32 boot_crc32.o
|
||||
0x0100052c 0x0100052c 0x00000024 Code RO 174 i.jump_to_app main.o
|
||||
0x01000550 0x01000550 0x00000054 Code RO 175 i.main main.o
|
||||
0x010005a4 0x010005a4 0x00000044 Code RO 20 i.read_flash_ID system_n32wb03x.o
|
||||
0x010005e8 0x010005e8 0x000001d8 Data RO 23 .constdata system_n32wb03x.o
|
||||
0x010007c0 0x010007c0 0x00000010 Data RO 249 Region$$Table anon$$obj.o
|
||||
0x01000100 0x01000100 0x0000002c Code RO 1213 .text mc_p.l(uidiv.o)
|
||||
0x0100012c 0x0100012c 0x00000024 Code RO 1215 .text mc_p.l(memcpya.o)
|
||||
0x01000150 0x01000150 0x00000024 Code RO 1217 .text mc_p.l(memseta.o)
|
||||
0x01000174 0x01000174 0x0000000e Code RO 1219 .text mc_p.l(strlen.o)
|
||||
0x01000182 0x01000182 0x0000001c Code RO 1221 .text mc_p.l(strcmp.o)
|
||||
0x0100019e 0x0100019e 0x0000001a Code RO 1223 .text mc_p.l(memcmp.o)
|
||||
0x010001b8 0x010001b8 0x00000076 Code RO 1227 .text mc_p.l(strtoul.o)
|
||||
0x0100022e 0x0100022e 0x00000002 PAD
|
||||
0x01000230 0x01000230 0x00000008 Code RO 1243 .text mc_p.l(ctype_o.o)
|
||||
0x01000238 0x01000238 0x000000a6 Code RO 1278 .text mc_p.l(_strtoul.o)
|
||||
0x010002de 0x010002de 0x00000002 PAD
|
||||
0x010002e0 0x010002e0 0x00000024 Code RO 1280 .text mc_p.l(init.o)
|
||||
0x01000304 0x01000304 0x0000001e Code RO 1282 .text mc_p.l(_chval.o)
|
||||
0x01000322 0x01000322 0x00000002 PAD
|
||||
0x01000324 0x01000324 0x000002d8 Code RO 495 i.AppBootset_CmdAppswitch app_bootset.o
|
||||
0x010005fc 0x010005fc 0x00000020 Code RO 496 i.AppBootset_CmdBsdump app_bootset.o
|
||||
0x0100061c 0x0100061c 0x000002f8 Code RO 497 i.AppBootset_CmdBsset app_bootset.o
|
||||
0x01000914 0x01000914 0x000000e0 Code RO 290 i.CmdDevInfo boot_cli.o
|
||||
0x010009f4 0x010009f4 0x000000b4 Code RO 291 i.CmdHelp boot_cli.o
|
||||
0x01000aa8 0x01000aa8 0x0000001c Code RO 292 i.CmdOta boot_cli.o
|
||||
0x01000ac4 0x01000ac4 0x0000003c Code RO 293 i.CmdReset boot_cli.o
|
||||
0x01000b00 0x01000b00 0x000000b0 Code RO 294 i.CmdUartInfo boot_cli.o
|
||||
0x01000bb0 0x01000bb0 0x00000074 Code RO 295 i.CmdVersion boot_cli.o
|
||||
0x01000c24 0x01000c24 0x000000a0 Code RO 1088 i.DMA_DeInit n32wb03x_dma.o
|
||||
0x01000cc4 0x01000cc4 0x0000001c Code RO 1089 i.DMA_EnableChannel n32wb03x_dma.o
|
||||
0x01000ce0 0x01000ce0 0x00000008 Code RO 1090 i.DMA_GetCurrDataCounter n32wb03x_dma.o
|
||||
0x01000ce8 0x01000ce8 0x00000040 Code RO 1093 i.DMA_Init n32wb03x_dma.o
|
||||
0x01000d28 0x01000d28 0x00000010 Code RO 1094 i.DMA_RequestRemap n32wb03x_dma.o
|
||||
0x01000d38 0x01000d38 0x00000106 Code RO 800 i.GPIO_InitPeripheral n32wb03x_gpio.o
|
||||
0x01000e3e 0x01000e3e 0x00000002 PAD
|
||||
0x01000e40 0x01000e40 0x0000001c Code RO 801 i.GPIO_InitStruct n32wb03x_gpio.o
|
||||
0x01000e5c 0x01000e5c 0x000000cc Code RO 11 i.OTPTrim_Read system_n32wb03x.o
|
||||
0x01000f28 0x01000f28 0x0000003c Code RO 1167 i.Qflash_Erase_Sector n32wb03x_qflash.o
|
||||
0x01000f64 0x01000f64 0x00000038 Code RO 1168 i.Qflash_Init n32wb03x_qflash.o
|
||||
0x01000f9c 0x01000f9c 0x00000044 Code RO 1170 i.Qflash_Write n32wb03x_qflash.o
|
||||
0x01000fe0 0x01000fe0 0x00000020 Code RO 576 i.RCC_EnableAHBPeriphClk n32wb03x_rcc.o
|
||||
0x01001000 0x01001000 0x00000020 Code RO 580 i.RCC_EnableAPB2PeriphClk n32wb03x_rcc.o
|
||||
0x01001020 0x01001020 0x000000a4 Code RO 588 i.RCC_GetClocksFreqValue n32wb03x_rcc.o
|
||||
0x010010c4 0x010010c4 0x00000130 Code RO 12 i.RCC_HsiCalib system_n32wb03x.o
|
||||
0x010011f4 0x010011f4 0x0000011c Code RO 16 i.SystemInit system_n32wb03x.o
|
||||
0x01001310 0x01001310 0x00000014 Code RO 18 i.SystemTrimValueRead system_n32wb03x.o
|
||||
0x01001324 0x01001324 0x00000020 Code RO 922 i.USART_Enable n32wb03x_usart.o
|
||||
0x01001344 0x01001344 0x00000014 Code RO 923 i.USART_EnableDMA n32wb03x_usart.o
|
||||
0x01001358 0x01001358 0x0000001e Code RO 929 i.USART_GetFlagStatus n32wb03x_usart.o
|
||||
0x01001376 0x01001376 0x00000002 PAD
|
||||
0x01001378 0x01001378 0x000000b4 Code RO 931 i.USART_Init n32wb03x_usart.o
|
||||
0x0100142c 0x0100142c 0x00000008 Code RO 934 i.USART_SendData n32wb03x_usart.o
|
||||
0x01001434 0x01001434 0x00000008 Code RO 1271 i.__aeabi_errno_addr mc_p.l(errno.o)
|
||||
0x0100143c 0x0100143c 0x0000000e Code RO 1286 i.__scatterload_copy mc_p.l(handlers.o)
|
||||
0x0100144a 0x0100144a 0x00000002 Code RO 1287 i.__scatterload_null mc_p.l(handlers.o)
|
||||
0x0100144c 0x0100144c 0x0000000e Code RO 1288 i.__scatterload_zeroinit mc_p.l(handlers.o)
|
||||
0x0100145a 0x0100145a 0x00000006 Code RO 19 i.__set_PRIMASK system_n32wb03x.o
|
||||
0x01001460 0x01001460 0x00000006 Code RO 1171 i.__set_PRIMASK n32wb03x_qflash.o
|
||||
0x01001466 0x01001466 0x00000002 PAD
|
||||
0x01001468 0x01001468 0x0000003c Code RO 386 i.app_ota_abort app_ota.o
|
||||
0x010014a4 0x010014a4 0x00000014 Code RO 387 i.app_ota_chan_idle app_ota.o
|
||||
0x010014b8 0x010014b8 0x00000140 Code RO 388 i.app_ota_chan_rx app_ota.o
|
||||
0x010015f8 0x010015f8 0x00000024 Code RO 389 i.app_ota_chan_rx_uart app_ota.o
|
||||
0x0100161c 0x0100161c 0x0000007c Code RO 391 i.app_ota_handle_frame app_ota.o
|
||||
0x01001698 0x01001698 0x0000005c Code RO 392 i.app_ota_reset_poll app_ota.o
|
||||
0x010016f4 0x010016f4 0x00000148 Code RO 296 i.boot_cli_run boot_cli.o
|
||||
0x0100183c 0x0100183c 0x00000018 Code RO 239 i.boot_delay_ms boot_usart.o
|
||||
0x01001854 0x01001854 0x00000028 Code RO 240 i.boot_millis boot_usart.o
|
||||
0x0100187c 0x0100187c 0x00000110 Code RO 241 i.boot_usart_init boot_usart.o
|
||||
0x0100198c 0x0100198c 0x00000040 Code RO 242 i.boot_usart_read boot_usart.o
|
||||
0x010019cc 0x010019cc 0x00000018 Code RO 243 i.boot_usart_rx_head boot_usart.o
|
||||
0x010019e4 0x010019e4 0x00000030 Code RO 244 i.boot_usart_write boot_usart.o
|
||||
0x01001a14 0x01001a14 0x00000054 Code RO 498 i.bootset_commit app_bootset.o
|
||||
0x01001a68 0x01001a68 0x0000000e Code RO 499 i.bootset_crc app_bootset.o
|
||||
0x01001a76 0x01001a76 0x00000002 PAD
|
||||
0x01001a78 0x01001a78 0x0000001c Code RO 500 i.bootset_ensure_qflash app_bootset.o
|
||||
0x01001a94 0x01001a94 0x0000016c Code RO 501 i.bootset_print app_bootset.o
|
||||
0x01001c00 0x01001c00 0x00000024 Code RO 502 i.bootset_valid app_bootset.o
|
||||
0x01001c24 0x01001c24 0x00000044 Code RO 226 i.caiic_crc32 boot_crc32.o
|
||||
0x01001c68 0x01001c68 0x000000cc Code RO 297 i.cli_exec_line boot_cli.o
|
||||
0x01001d34 0x01001d34 0x0000019c Code RO 298 i.cli_printf boot_cli.o
|
||||
0x01001ed0 0x01001ed0 0x00000016 Code RO 299 i.cli_write boot_cli.o
|
||||
0x01001ee6 0x01001ee6 0x00000002 PAD
|
||||
0x01001ee8 0x01001ee8 0x00000034 Code RO 174 i.image_sane main.o
|
||||
0x01001f1c 0x01001f1c 0x00000024 Code RO 175 i.jump_to_app main.o
|
||||
0x01001f40 0x01001f40 0x00000180 Code RO 176 i.main main.o
|
||||
0x010020c0 0x010020c0 0x0000004c Code RO 393 i.ota_crc16 app_ota.o
|
||||
0x0100210c 0x0100210c 0x00000040 Code RO 394 i.ota_erase_up_to app_ota.o
|
||||
0x0100214c 0x0100214c 0x00000170 Code RO 395 i.ota_on_begin app_ota.o
|
||||
0x010022bc 0x010022bc 0x000001a8 Code RO 396 i.ota_on_data app_ota.o
|
||||
0x01002464 0x01002464 0x00000170 Code RO 397 i.ota_on_end app_ota.o
|
||||
0x010025d4 0x010025d4 0x00000038 Code RO 398 i.ota_program app_ota.o
|
||||
0x0100260c 0x0100260c 0x00000018 Code RO 399 i.ota_rd32 app_ota.o
|
||||
0x01002624 0x01002624 0x0000007c Code RO 400 i.ota_respond app_ota.o
|
||||
0x010026a0 0x010026a0 0x0000001c Code RO 401 i.ota_uart_sink app_ota.o
|
||||
0x010026bc 0x010026bc 0x000000cc Code RO 402 i.ota_update_bootsetting app_ota.o
|
||||
0x01002788 0x01002788 0x0000002e Code RO 503 i.parse_u32 app_bootset.o
|
||||
0x010027b6 0x010027b6 0x00000018 Code RO 177 i.puts_boot main.o
|
||||
0x010027ce 0x010027ce 0x00000002 PAD
|
||||
0x010027d0 0x010027d0 0x00000044 Code RO 20 i.read_flash_ID system_n32wb03x.o
|
||||
0x01002814 0x01002814 0x0000004e Code RO 300 i.str_pad boot_cli.o
|
||||
0x01002862 0x01002862 0x0000006c Code RO 301 i.u32_to_str boot_cli.o
|
||||
0x010028ce 0x010028ce 0x000001d8 Data RO 23 .constdata system_n32wb03x.o
|
||||
0x01002aa6 0x01002aa6 0x00000002 PAD
|
||||
0x01002aa8 0x01002aa8 0x0000006c Data RO 303 .constdata boot_cli.o
|
||||
0x01002b14 0x01002b14 0x0000000c Data RO 596 .constdata n32wb03x_rcc.o
|
||||
0x01002b20 0x01002b20 0x00000324 Data RO 1173 .constdata n32wb03x_qflash.o
|
||||
0x01002e44 0x01002e44 0x00000081 Data RO 1244 .constdata mc_p.l(ctype_o.o)
|
||||
0x01002ec5 0x01002ec5 0x00000003 PAD
|
||||
0x01002ec8 0x01002ec8 0x00000004 Data RO 1245 .constdata mc_p.l(ctype_o.o)
|
||||
0x01002ecc 0x01002ecc 0x0000029a Data RO 304 .conststring boot_cli.o
|
||||
0x01003166 0x01003166 0x00000002 PAD
|
||||
0x01003168 0x01003168 0x00000091 Data RO 504 .conststring app_bootset.o
|
||||
0x010031f9 0x010031f9 0x00000003 PAD
|
||||
0x010031fc 0x010031fc 0x00000020 Data RO 1284 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20004000, Load base: 0x010007d0, Size: 0x00000838, Max: 0x0000c000, ABSOLUTE)
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20004000, Load base: 0x0100321c, Size: 0x00001a58, Max: 0x0000c000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x20004000 - 0x00000034 Zero RW 22 .bss system_n32wb03x.o
|
||||
0x20004034 0x010007d0 0x00000004 PAD
|
||||
0x20004038 - 0x00000800 Zero RW 1 STACK startup_n32wb03x.o
|
||||
0x20004000 0x0100321c 0x00000004 Data RW 24 .data system_n32wb03x.o
|
||||
0x20004004 0x01003220 0x00000008 Data RW 246 .data boot_usart.o
|
||||
0x2000400c 0x01003228 0x00000001 Data RW 305 .data boot_cli.o
|
||||
0x2000400d 0x01003229 0x00000003 PAD
|
||||
0x20004010 0x0100322c 0x0000003d Data RW 404 .data app_ota.o
|
||||
0x2000404d 0x01003269 0x00000001 Data RW 505 .data app_bootset.o
|
||||
0x2000404e 0x0100326a 0x00000002 PAD
|
||||
0x20004050 0x0100326c 0x0000000c Data RW 1174 .data n32wb03x_qflash.o
|
||||
0x2000405c 0x01003278 0x00000004 Data RW 1274 .data mc_p.l(errno.o)
|
||||
0x20004060 - 0x00000034 Zero RW 22 .bss system_n32wb03x.o
|
||||
0x20004094 - 0x00000c00 Zero RW 245 .bss boot_usart.o
|
||||
0x20004c94 - 0x000000b0 Zero RW 302 .bss boot_cli.o
|
||||
0x20004d44 - 0x000001e7 Zero RW 403 .bss app_ota.o
|
||||
0x20004f2b 0x0100327c 0x00000001 PAD
|
||||
0x20004f2c - 0x00000328 Zero RW 1172 .bss n32wb03x_qflash.o
|
||||
0x20005254 0x0100327c 0x00000004 PAD
|
||||
0x20005258 - 0x00000800 Zero RW 1 STACK startup_n32wb03x.o
|
||||
|
||||
|
||||
==============================================================================
|
||||
@ -292,20 +939,32 @@ Image component sizes
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
|
||||
|
||||
2092 1148 145 1 0 6739 app_bootset.o
|
||||
2388 322 0 61 487 12597 app_ota.o
|
||||
1936 628 774 1 176 15380 boot_cli.o
|
||||
68 6 0 0 0 874 boot_crc32.o
|
||||
120 18 0 0 0 3627 main.o
|
||||
472 66 0 8 3072 4161 boot_usart.o
|
||||
496 208 0 0 0 5011 main.o
|
||||
276 18 0 0 0 4372 n32wb03x_dma.o
|
||||
290 4 0 0 0 2252 n32wb03x_gpio.o
|
||||
190 32 804 12 808 4258 n32wb03x_qflash.o
|
||||
228 32 12 0 0 2848 n32wb03x_rcc.o
|
||||
270 24 0 0 0 5093 n32wb03x_usart.o
|
||||
28 8 192 0 2048 744 startup_n32wb03x.o
|
||||
900 60 472 0 52 95112 system_n32wb03x.o
|
||||
900 60 472 4 52 124580 system_n32wb03x.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
1118 92 680 0 2104 100357 Object Totals
|
||||
0 0 16 0 0 0 (incl. Generated)
|
||||
2 0 0 0 4 0 (incl. Padding)
|
||||
9648 2556 2438 92 6648 188909 Object Totals
|
||||
0 0 32 0 0 0 (incl. Generated)
|
||||
14 0 7 5 5 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
|
||||
|
||||
30 0 0 0 0 60 _chval.o
|
||||
166 0 0 0 0 84 _strtoul.o
|
||||
8 4 133 0 0 60 ctype_o.o
|
||||
0 0 0 0 0 0 entry.o
|
||||
0 0 0 0 0 0 entry10a.o
|
||||
0 0 0 0 0 0 entry11a.o
|
||||
@ -314,24 +973,29 @@ Image component sizes
|
||||
0 0 0 0 0 0 entry7b.o
|
||||
0 0 0 0 0 0 entry8b.o
|
||||
8 4 0 0 0 0 entry9a.o
|
||||
8 4 0 4 0 60 errno.o
|
||||
30 0 0 0 0 0 handlers.o
|
||||
36 8 0 0 0 68 init.o
|
||||
26 0 0 0 0 72 memcmp.o
|
||||
36 0 0 0 0 60 memcpya.o
|
||||
36 0 0 0 0 100 memseta.o
|
||||
28 0 0 0 0 68 strcmp.o
|
||||
14 0 0 0 0 60 strlen.o
|
||||
118 0 0 0 0 84 strtoul.o
|
||||
44 0 0 0 0 72 uidiv.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
202 16 0 0 0 300 Library Totals
|
||||
0 0 0 0 0 0 (incl. Padding)
|
||||
606 24 136 4 0 848 Library Totals
|
||||
6 0 3 0 0 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
|
||||
|
||||
202 16 0 0 0 300 mc_p.l
|
||||
600 24 133 4 0 848 mc_p.l
|
||||
|
||||
----------------------------------------------------------------------
|
||||
202 16 0 0 0 300 Library Totals
|
||||
606 24 136 4 0 848 Library Totals
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -340,15 +1004,15 @@ Image component sizes
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||
|
||||
1320 108 680 0 2104 100317 Grand Totals
|
||||
1320 108 680 0 2104 100317 ELF Image Totals
|
||||
1320 108 680 0 0 0 ROM Totals
|
||||
10254 2580 2574 96 6648 186425 Grand Totals
|
||||
10254 2580 2574 96 6648 186425 ELF Image Totals
|
||||
10254 2580 2574 96 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
Total RO Size (Code + RO Data) 2000 ( 1.95kB)
|
||||
Total RW Size (RW Data + ZI Data) 2104 ( 2.05kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 2000 ( 1.95kB)
|
||||
Total RO Size (Code + RO Data) 12828 ( 12.53kB)
|
||||
Total RW Size (RW Data + ZI Data) 6744 ( 6.59kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 12924 ( 12.62kB)
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
||||
Binary file not shown.
@ -3,9 +3,18 @@ Rebuild target 'caiic_boot'
|
||||
assembling startup_n32wb03x.s...
|
||||
compiling boot_crc32.c...
|
||||
compiling main.c...
|
||||
compiling boot_usart.c...
|
||||
compiling system_n32wb03x.c...
|
||||
compiling app_bootset.c...
|
||||
compiling n32wb03x_gpio.c...
|
||||
compiling n32wb03x_usart.c...
|
||||
compiling n32wb03x_rcc.c...
|
||||
compiling boot_cli.c...
|
||||
compiling n32wb03x_dma.c...
|
||||
compiling app_ota.c...
|
||||
compiling n32wb03x_qflash.c...
|
||||
linking...
|
||||
Program Size: Code=1320 RO-data=680 RW-data=0 ZI-data=2104
|
||||
Program Size: Code=10254 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).
|
||||
|
||||
@ -337,9 +337,9 @@
|
||||
<v6Rtti>0</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define>N32WB03X, USE_STDPERIPH_DRIVER</Define>
|
||||
<Define>N32WB03X, USE_STDPERIPH_DRIVER, BOOT_FIRMWARE</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>..\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc</IncludePath>
|
||||
<IncludePath>..\src;..\..\mcm-ddc-ble\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc</IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
@ -413,6 +413,61 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\src\boot_crc32.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_usart.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\src\boot_usart.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_cli.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\src\boot_cli.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>SHARED_APP</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>app_ota.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\mcm-ddc-ble\src\app_ota.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>app_bootset.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\mcm-ddc-ble\src\app_bootset.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>STD_PERIPH</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>n32wb03x_rcc.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_rcc.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>n32wb03x_gpio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_gpio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>n32wb03x_usart.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_usart.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>n32wb03x_dma.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_dma.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>n32wb03x_qflash.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\src\n32wb03x_qflash.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
</Groups>
|
||||
|
||||
436
Boot/src/boot_cli.c
Normal file
436
Boot/src/boot_cli.c
Normal file
@ -0,0 +1,436 @@
|
||||
/**
|
||||
* @file boot_cli.c
|
||||
* @brief Bootloader download-mode CLI: bare-metal polled line editor +
|
||||
* command table, and the UART OTA binary frame mode.
|
||||
*
|
||||
* Wire-compatible with the application's UART CLI so that
|
||||
* tools/ble_ota_update.py works unchanged against the bootloader:
|
||||
* - prompt "caiic->" (the script's PROMPT marker)
|
||||
* - "devinfo" prints "cur bank: APP<n>" (the boot's OTA target is the
|
||||
* OTHER bank, exactly like the app's "write the inactive bank" rule)
|
||||
* - "ota" prints the "[ota] binary mode ON" go-ahead marker, then the
|
||||
* stream carries 0xCA OTA frames (engine: shared app_ota.c)
|
||||
*
|
||||
* No libc printf: cli_printf() below is a minimal formatter (%% %c %s %d
|
||||
* %u %x %X, width, '-'/'0' pads, 'l' ignored - all integers are 32-bit).
|
||||
*/
|
||||
#include "cli_core.h" /* bootloader shim (Boot/src) */
|
||||
#include "boot_usart.h"
|
||||
#include "boot_version.h"
|
||||
#include "app_bootset.h"
|
||||
#include "app_ota.h"
|
||||
#include "dfu_layout.h"
|
||||
#include "boot_crc32.h"
|
||||
#include "n32wb03x.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <stddef.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#define CLI_TX_BUF_SIZE 96
|
||||
#define CLI_LINE_SIZE 80
|
||||
#define CLI_MAX_ARGS 8
|
||||
#define OTA_IDLE_EXIT_MS 3000u /* binary mode fallback exit */
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* Output (cli_core.h shim implementation) */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
void cli_write(const char* str)
|
||||
{
|
||||
boot_usart_write((const uint8_t*)str, (uint16_t)strlen(str));
|
||||
}
|
||||
|
||||
/** Format v into out (NUL-terminated), least-significant first reversed. */
|
||||
static void u32_to_str(uint32_t v, char* out, uint8_t base, int neg)
|
||||
{
|
||||
char tmp[11]; /* 10 digits + sign */
|
||||
uint8_t n = 0;
|
||||
|
||||
do
|
||||
{
|
||||
uint32_t d = v % base;
|
||||
tmp[n++] = (char)((d < 10u) ? ('0' + d) : ('A' + d - 10u));
|
||||
v /= base;
|
||||
} while (v != 0u);
|
||||
if (neg)
|
||||
{
|
||||
tmp[n++] = '-';
|
||||
}
|
||||
while (n != 0u)
|
||||
{
|
||||
*out++ = tmp[--n];
|
||||
}
|
||||
*out = '\0';
|
||||
}
|
||||
|
||||
static char* str_pad(char* out, const char* s, int width, uint8_t left, char pad)
|
||||
{
|
||||
int len = (int)strlen(s);
|
||||
|
||||
if (!left)
|
||||
{
|
||||
while (width-- > len)
|
||||
{
|
||||
*out++ = pad;
|
||||
}
|
||||
}
|
||||
while (*s != '\0')
|
||||
{
|
||||
*out++ = *s++;
|
||||
}
|
||||
while (width-- > len)
|
||||
{
|
||||
*out++ = ' ';
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
void cli_printf(const char* fmt, ...)
|
||||
{
|
||||
static char s_txBuf[CLI_TX_BUF_SIZE];
|
||||
char* out = s_txBuf;
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
while (*fmt != '\0' && out < s_txBuf + CLI_TX_BUF_SIZE - 12)
|
||||
{
|
||||
char c = *fmt++;
|
||||
|
||||
if (c != '%')
|
||||
{
|
||||
*out++ = c;
|
||||
continue;
|
||||
}
|
||||
{
|
||||
uint8_t left = 0;
|
||||
char pad = ' ';
|
||||
int width = 0;
|
||||
char num[12];
|
||||
char spec;
|
||||
|
||||
if (*fmt == '-')
|
||||
{
|
||||
left = 1;
|
||||
fmt++;
|
||||
}
|
||||
if (*fmt == '0')
|
||||
{
|
||||
pad = '0';
|
||||
fmt++;
|
||||
}
|
||||
while (*fmt >= '0' && *fmt <= '9')
|
||||
{
|
||||
width = width * 10 + (*fmt++ - '0');
|
||||
}
|
||||
if (*fmt == 'l')
|
||||
{
|
||||
fmt++; /* 32-bit already: %lu == %u here */
|
||||
}
|
||||
spec = *fmt;
|
||||
if (spec != '\0')
|
||||
{
|
||||
fmt++;
|
||||
}
|
||||
switch (spec)
|
||||
{
|
||||
case 's':
|
||||
out = str_pad(out, va_arg(args, const char*), width, left, ' ');
|
||||
break;
|
||||
case 'c':
|
||||
*out++ = (char)va_arg(args, int);
|
||||
break;
|
||||
case 'd':
|
||||
{
|
||||
long v = va_arg(args, long);
|
||||
u32_to_str((uint32_t)((v < 0) ? -v : v), num, 10, v < 0);
|
||||
out = str_pad(out, num, width, left, pad);
|
||||
break;
|
||||
}
|
||||
case 'u':
|
||||
u32_to_str(va_arg(args, unsigned long), num, 10, 0);
|
||||
out = str_pad(out, num, width, left, pad);
|
||||
break;
|
||||
case 'x':
|
||||
case 'X':
|
||||
u32_to_str(va_arg(args, unsigned long), num, 16, 0);
|
||||
out = str_pad(out, num, width, left, pad);
|
||||
break;
|
||||
case '%':
|
||||
*out++ = '%';
|
||||
break;
|
||||
default:
|
||||
*out++ = '%';
|
||||
if (spec != '\0')
|
||||
{
|
||||
*out++ = spec;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
va_end(args);
|
||||
*out = '\0';
|
||||
cli_write(s_txBuf);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* Commands */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
typedef void (*CliCmdHandler_t)(int argc, char* argv[]);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const char* name;
|
||||
const char* help;
|
||||
CliCmdHandler_t handler;
|
||||
} CliCmd_t;
|
||||
|
||||
static uint8_t s_otaMode; /* 1 = OTA binary frame mode */
|
||||
|
||||
static void CmdHelp(int argc, char* argv[]);
|
||||
|
||||
static void CmdVersion(int argc, char* argv[])
|
||||
{
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
cli_printf("bootloader version: %s (download mode)\r\n", BOOT_FW_VERSION);
|
||||
cli_printf("SystemCoreClock = %lu Hz\r\n", (unsigned long)SystemCoreClock);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief "devinfo": report the bank the NEXT OTA would replace, using the
|
||||
* same "cur bank: APP<n>" line the application prints - the PC
|
||||
* updater picks the payload for the other bank, which is exactly
|
||||
* the boot's OTA target rule (inactive bank; APP1 when the
|
||||
* bootsetting record is invalid).
|
||||
*/
|
||||
static void CmdDevInfo(int argc, char* argv[])
|
||||
{
|
||||
const caiic_bootsetting_t* bs = (const caiic_bootsetting_t*)CAIIC_BOOTSETTING_ADDR;
|
||||
uint32_t active;
|
||||
uint8_t bs_ok;
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
||||
bs_ok = (bs->magic == CAIIC_BOOT_MAGIC &&
|
||||
bs->crc32 == caiic_crc32((const uint8_t*)bs,
|
||||
(uint32_t)offsetof(caiic_bootsetting_t, crc32))) ? 1 : 0;
|
||||
active = bs->active_bank;
|
||||
|
||||
cli_printf("bootloader: %s, download mode\r\n", BOOT_FW_VERSION);
|
||||
if (!bs_ok)
|
||||
{
|
||||
cli_write("bootsetting: INVALID - OTA targets APP1\r\n");
|
||||
active = CAIIC_ACTIVE_BANK2; /* report the bank NOT targeted */
|
||||
}
|
||||
cli_printf("cur bank: APP%lu\r\n", (unsigned long)active);
|
||||
cli_printf("uptime: %lu s\r\n", (unsigned long)(boot_millis() / 1000u));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief "ota": enter the OTA binary frame mode (0xCA frames on the raw
|
||||
* stream, framed RSP on TX). The marker line is the host's go-ahead.
|
||||
* Exits: OTA_ABORT frame, 3 s idle, or reset after OTA_END.
|
||||
*/
|
||||
static void CmdOta(int argc, char* argv[])
|
||||
{
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
||||
cli_write("[ota] binary mode ON - send 0xCA OTA frames now\r\n"
|
||||
"(ble_protocol.md section 6.6; OTA_ABORT or 3s idle exits)\r\n");
|
||||
s_otaMode = 1;
|
||||
}
|
||||
|
||||
static void CmdReset(int argc, char* argv[])
|
||||
{
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
||||
cli_write("resetting...\r\n");
|
||||
boot_delay_ms(200u);
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
|
||||
static void CmdUartInfo(int argc, char* argv[])
|
||||
{
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
||||
cli_write("usart1: TX=PB6 RX=PB7 (AF4)\r\n");
|
||||
cli_write("baud: 460800, 8 data bits, no parity, 1 stop bit\r\n");
|
||||
cli_write("flow control: none; tx: polled; rx: DMA ring (3KB, polled)\r\n");
|
||||
}
|
||||
|
||||
static const CliCmd_t s_cmds[] = {
|
||||
{"help", "help [cmd]: list commands / show one command's help", CmdHelp},
|
||||
{"version", "show bootloader version", CmdVersion},
|
||||
{"devinfo", "show boot info + cur bank (OTA writes the OTHER bank)", CmdDevInfo},
|
||||
{"bsdump", "bsdump: show bootsetting record + crc check", AppBootset_CmdBsdump},
|
||||
{"bsset", "bsset <field> <val>: write bootsetting field (careful!)", AppBootset_CmdBsset},
|
||||
{"appsw", "appsw [1|2]: switch boot bank (crc verified) + reboot", AppBootset_CmdAppswitch},
|
||||
{"ota", "ota: UART enters OTA binary frame mode (see help ota)", CmdOta},
|
||||
{"reset", "reset: system reset (reboot)", CmdReset},
|
||||
{"uartinfo", "uartinfo: show USART1 pins/baud/format", CmdUartInfo},
|
||||
};
|
||||
|
||||
#define CLI_CMD_COUNT (sizeof(s_cmds) / sizeof(s_cmds[0]))
|
||||
|
||||
static void CmdHelp(int argc, char* argv[])
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
if (argc >= 2)
|
||||
{
|
||||
for (i = 0; i < CLI_CMD_COUNT; i++)
|
||||
{
|
||||
if (strcmp(argv[1], s_cmds[i].name) == 0)
|
||||
{
|
||||
cli_printf(" %-8s %s\r\n", s_cmds[i].name, s_cmds[i].help);
|
||||
return;
|
||||
}
|
||||
}
|
||||
cli_printf("unknown command: %s (try 'help')\r\n", argv[1]);
|
||||
return;
|
||||
}
|
||||
|
||||
cli_write("commands:\r\n");
|
||||
for (i = 0; i < CLI_CMD_COUNT; i++)
|
||||
{
|
||||
cli_printf(" %-8s %s\r\n", s_cmds[i].name, s_cmds[i].help);
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* Line parsing / dispatch */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
static int cli_exec_line(char* line)
|
||||
{
|
||||
char* argv[CLI_MAX_ARGS];
|
||||
int argc = 0;
|
||||
char* p = line;
|
||||
uint32_t i;
|
||||
|
||||
while (*p != '\0' && argc < CLI_MAX_ARGS)
|
||||
{
|
||||
while (*p == ' ' || *p == '\t')
|
||||
{
|
||||
p++;
|
||||
}
|
||||
if (*p == '\0')
|
||||
{
|
||||
break;
|
||||
}
|
||||
argv[argc++] = p;
|
||||
while (*p != '\0' && *p != ' ' && *p != '\t')
|
||||
{
|
||||
p++;
|
||||
}
|
||||
if (*p != '\0')
|
||||
{
|
||||
*p++ = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
if (argc == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < CLI_CMD_COUNT; i++)
|
||||
{
|
||||
if (strcmp(argv[0], s_cmds[i].name) == 0)
|
||||
{
|
||||
s_cmds[i].handler(argc, argv);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
cli_printf("unknown command: %s (try 'help')\r\n", argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* Download-mode superloop */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
#define BOOT_CLI_PROMPT "caiic->" /* wire-compatible with the app CLI */
|
||||
|
||||
/**
|
||||
* @brief Download-mode main loop. Never returns (leaves via reset only).
|
||||
*/
|
||||
void boot_cli_run(void)
|
||||
{
|
||||
static char s_line[CLI_LINE_SIZE];
|
||||
uint8_t len = 0;
|
||||
uint32_t otaLastRx = 0;
|
||||
|
||||
cli_write("\r\nCLI ready (bootloader download mode). Type 'help' for commands.\r\n"
|
||||
BOOT_CLI_PROMPT);
|
||||
|
||||
for (;;)
|
||||
{
|
||||
uint8_t ch;
|
||||
|
||||
/* deferred post-OTA_END reset (waits until the RSP drained) */
|
||||
app_ota_reset_poll();
|
||||
|
||||
/* OTA binary-mode fallback exit after 3 s of silence */
|
||||
if (s_otaMode && (boot_millis() - otaLastRx) > OTA_IDLE_EXIT_MS)
|
||||
{
|
||||
s_otaMode = 0;
|
||||
app_ota_chan_idle();
|
||||
cli_write("\r\n[ota] binary mode OFF (idle)\r\n" BOOT_CLI_PROMPT);
|
||||
len = 0;
|
||||
}
|
||||
|
||||
if (boot_usart_read(&ch) == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (s_otaMode)
|
||||
{
|
||||
otaLastRx = boot_millis();
|
||||
if (app_ota_chan_rx_uart(ch) != 0)
|
||||
{
|
||||
s_otaMode = 0;
|
||||
cli_write("\r\n[ota] binary mode OFF (abort)\r\n" BOOT_CLI_PROMPT);
|
||||
len = 0;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (ch)
|
||||
{
|
||||
case '\r':
|
||||
case '\n':
|
||||
cli_write("\r\n");
|
||||
s_line[len] = '\0';
|
||||
(void)cli_exec_line(s_line);
|
||||
len = 0;
|
||||
cli_write(BOOT_CLI_PROMPT);
|
||||
break;
|
||||
|
||||
case '\b':
|
||||
case 0x7F:
|
||||
if (len != 0u)
|
||||
{
|
||||
len--;
|
||||
cli_write("\b \b");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
if (ch >= 0x20u && len < CLI_LINE_SIZE - 1u)
|
||||
{
|
||||
s_line[len++] = (char)ch;
|
||||
boot_usart_write(&ch, 1); /* echo */
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
152
Boot/src/boot_usart.c
Normal file
152
Boot/src/boot_usart.c
Normal file
@ -0,0 +1,152 @@
|
||||
/**
|
||||
* @file boot_usart.c
|
||||
* @brief Bootloader USART1 (bare metal): polling TX, RX DMA circular ring
|
||||
* (polled, no interrupts) and a SysTick-polled millisecond time base.
|
||||
*
|
||||
* The RX DMA ring matters during OTA: Qflash erase/write disables interrupts
|
||||
* for tens of ms per sector; at 460800 Bd that is ~2KB of inbound bytes the
|
||||
* DMA keeps sampling while the CPU sits in the flash algorithm.
|
||||
*/
|
||||
#include "boot_usart.h"
|
||||
#include "n32wb03x.h"
|
||||
|
||||
#define BOOT_USARTx USART1
|
||||
#define BOOT_USART_CLK RCC_APB2_PERIPH_USART1
|
||||
#define BOOT_USART_GPIO GPIOB
|
||||
#define BOOT_USART_GPIO_CLK RCC_APB2_PERIPH_GPIOB
|
||||
#define BOOT_USART_TX_PIN GPIO_PIN_6
|
||||
#define BOOT_USART_RX_PIN GPIO_PIN_7
|
||||
#define BOOT_USART_TX_GPIO_AF GPIO_AF4_USART1
|
||||
#define BOOT_USART_RX_GPIO_AF GPIO_AF4_USART1
|
||||
#define BOOT_USART_BAUDRATE 460800u
|
||||
|
||||
/* RX DMA channel: circular into the ring (remap required on this chip) */
|
||||
#define BOOT_USART_RX_DMA_CH DMA_CH2
|
||||
#define BOOT_USART_RX_DMA_REMAP DMA_REMAP_USART1_RX
|
||||
#define BOOT_USART_DAT_ADDR (USART1_BASE + 0x04)
|
||||
|
||||
#define RX_RING_SIZE 3072u /* ~69ms @460800, covers flash erase */
|
||||
|
||||
static uint8_t s_rxRing[RX_RING_SIZE];
|
||||
static volatile uint16_t s_rxTail; /* software drain position */
|
||||
|
||||
/* SysTick-polled millisecond base (no interrupt: the superloop polls
|
||||
* boot_millis() far more often than 1ms, COUNTFLAG latches each wrap) */
|
||||
static volatile uint32_t s_millis;
|
||||
|
||||
uint32_t boot_millis(void)
|
||||
{
|
||||
if ((SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk) != 0u)
|
||||
{
|
||||
/* reading CTRL clears COUNTFLAG; a slow poll (flash erase) can
|
||||
* undercount - acceptable for the timeouts this drives */
|
||||
s_millis++;
|
||||
}
|
||||
return s_millis;
|
||||
}
|
||||
|
||||
void boot_delay_ms(uint32_t ms)
|
||||
{
|
||||
uint32_t start = boot_millis();
|
||||
|
||||
while ((boot_millis() - start) < ms)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief DMA ring head (hardware write position).
|
||||
*/
|
||||
static uint16_t boot_usart_rx_head(void)
|
||||
{
|
||||
return (uint16_t)(RX_RING_SIZE - DMA_GetCurrDataCounter(BOOT_USART_RX_DMA_CH));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Initialize USART1 (460800 8N1) on PB6(TX)/PB7(RX), the RX DMA
|
||||
* circular ring and the SysTick millisecond base.
|
||||
*/
|
||||
void boot_usart_init(void)
|
||||
{
|
||||
GPIO_InitType GPIO_InitStructure;
|
||||
USART_InitType USART_InitStructure;
|
||||
DMA_InitType DMA_InitStructure;
|
||||
|
||||
RCC_EnableAPB2PeriphClk(BOOT_USART_GPIO_CLK, ENABLE);
|
||||
RCC_EnableAPB2PeriphClk(BOOT_USART_CLK, ENABLE);
|
||||
|
||||
GPIO_InitStruct(&GPIO_InitStructure);
|
||||
GPIO_InitStructure.Pin = BOOT_USART_TX_PIN;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStructure.GPIO_Alternate = BOOT_USART_TX_GPIO_AF;
|
||||
GPIO_InitPeripheral(BOOT_USART_GPIO, &GPIO_InitStructure);
|
||||
|
||||
GPIO_InitStructure.Pin = BOOT_USART_RX_PIN;
|
||||
GPIO_InitStructure.GPIO_Alternate = BOOT_USART_RX_GPIO_AF;
|
||||
GPIO_InitPeripheral(BOOT_USART_GPIO, &GPIO_InitStructure);
|
||||
|
||||
USART_InitStructure.BaudRate = BOOT_USART_BAUDRATE;
|
||||
USART_InitStructure.WordLength = USART_WL_8B;
|
||||
USART_InitStructure.StopBits = USART_STPB_1;
|
||||
USART_InitStructure.Parity = USART_PE_NO;
|
||||
USART_InitStructure.HardwareFlowControl = USART_HFCTRL_NONE;
|
||||
USART_InitStructure.Mode = USART_MODE_RX | USART_MODE_TX;
|
||||
USART_Init(BOOT_USARTx, &USART_InitStructure);
|
||||
|
||||
/* RX: DMA circular ring, drained by polling (no IDLE interrupt here) */
|
||||
RCC_EnableAHBPeriphClk(RCC_AHB_PERIPH_DMA, ENABLE);
|
||||
DMA_EnableChannel(BOOT_USART_RX_DMA_CH, DISABLE);
|
||||
DMA_DeInit(BOOT_USART_RX_DMA_CH);
|
||||
DMA_RequestRemap(BOOT_USART_RX_DMA_REMAP, DMA, BOOT_USART_RX_DMA_CH, ENABLE);
|
||||
|
||||
DMA_InitStructure.PeriphAddr = BOOT_USART_DAT_ADDR;
|
||||
DMA_InitStructure.MemAddr = (uint32_t)s_rxRing;
|
||||
DMA_InitStructure.Direction = DMA_DIR_PERIPH_SRC;
|
||||
DMA_InitStructure.BufSize = RX_RING_SIZE;
|
||||
DMA_InitStructure.PeriphInc = DMA_PERIPH_INC_DISABLE;
|
||||
DMA_InitStructure.DMA_MemoryInc = DMA_MEM_INC_ENABLE;
|
||||
DMA_InitStructure.PeriphDataSize = DMA_PERIPH_DATA_SIZE_BYTE;
|
||||
DMA_InitStructure.MemDataSize = DMA_MemoryDataSize_Byte;
|
||||
DMA_InitStructure.CircularMode = DMA_MODE_CIRCULAR;
|
||||
DMA_InitStructure.Priority = DMA_PRIORITY_HIGH;
|
||||
DMA_InitStructure.Mem2Mem = DMA_M2M_DISABLE;
|
||||
DMA_Init(BOOT_USART_RX_DMA_CH, &DMA_InitStructure);
|
||||
|
||||
s_rxTail = 0;
|
||||
DMA_EnableChannel(BOOT_USART_RX_DMA_CH, ENABLE);
|
||||
USART_EnableDMA(BOOT_USARTx, USART_DMAREQ_RX, ENABLE);
|
||||
|
||||
USART_Enable(BOOT_USARTx, ENABLE);
|
||||
|
||||
/* 1ms tick: 64MHz / 1000; polled via COUNTFLAG, no interrupt */
|
||||
SysTick->LOAD = 64000u - 1u;
|
||||
SysTick->VAL = 0u;
|
||||
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk;
|
||||
s_millis = 0;
|
||||
}
|
||||
|
||||
void boot_usart_write(const uint8_t* data, uint16_t len)
|
||||
{
|
||||
uint16_t i;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
USART_SendData(BOOT_USARTx, data[i]);
|
||||
while (USART_GetFlagStatus(BOOT_USARTx, USART_FLAG_TXDE) == RESET)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int boot_usart_read(uint8_t* ch)
|
||||
{
|
||||
uint16_t head = boot_usart_rx_head();
|
||||
|
||||
if (s_rxTail == head)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
*ch = s_rxRing[s_rxTail];
|
||||
s_rxTail = (uint16_t)((s_rxTail + 1u) % RX_RING_SIZE);
|
||||
return 1;
|
||||
}
|
||||
38
Boot/src/boot_usart.h
Normal file
38
Boot/src/boot_usart.h
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @file boot_usart.h
|
||||
* @brief Bootloader USART1 support (bare metal, no RTOS, no interrupts):
|
||||
* polling TX, RX via DMA circular ring polled through the DMA write
|
||||
* pointer (bytes keep landing while Qflash erases with interrupts
|
||||
* disabled), plus a SysTick-polled millisecond time base.
|
||||
* TX=PB6, RX=PB7, 460800 8N1 (same as the application CLI).
|
||||
*/
|
||||
#ifndef __BOOT_USART_H__
|
||||
#define __BOOT_USART_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/** USART1 + RX DMA ring + SysTick 1ms time base. */
|
||||
void boot_usart_init(void);
|
||||
|
||||
/** Blocking polled TX of a buffer. */
|
||||
void boot_usart_write(const uint8_t* data, uint16_t len);
|
||||
|
||||
/** Non-blocking RX: fetch one byte from the DMA ring. @return 1 on success. */
|
||||
int boot_usart_read(uint8_t* ch);
|
||||
|
||||
/** Milliseconds since boot_usart_init() (SysTick COUNTFLAG polled; call
|
||||
* often - the superloop and the download-mode window both poll it). */
|
||||
uint32_t boot_millis(void);
|
||||
|
||||
/** Busy-wait delay in ms (uses boot_millis()). */
|
||||
void boot_delay_ms(uint32_t ms);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __BOOT_USART_H__ */
|
||||
11
Boot/src/boot_version.h
Normal file
11
Boot/src/boot_version.h
Normal file
@ -0,0 +1,11 @@
|
||||
/**
|
||||
* @file boot_version.h
|
||||
* @brief Bootloader version (independent from the application version in
|
||||
* mcm-ddc-ble/inc/app_version.h; bump when the boot code changes).
|
||||
*/
|
||||
#ifndef __BOOT_VERSION_H__
|
||||
#define __BOOT_VERSION_H__
|
||||
|
||||
#define BOOT_FW_VERSION "V1.01.00"
|
||||
|
||||
#endif /* __BOOT_VERSION_H__ */
|
||||
24
Boot/src/cli_core.h
Normal file
24
Boot/src/cli_core.h
Normal file
@ -0,0 +1,24 @@
|
||||
/**
|
||||
* @file cli_core.h
|
||||
* @brief Bootloader-side shim of the application's CLI output interface
|
||||
* (mcm-ddc-ble/inc/cli_core.h). Only the output helpers exist here;
|
||||
* the download-mode line editor and command table live in
|
||||
* boot_cli.c. Lets shared modules (app_bootset.c, app_ota.c) compile
|
||||
* unchanged in the BOOT_FIRMWARE build.
|
||||
*/
|
||||
#ifndef __CLI_CORE_H__
|
||||
#define __CLI_CORE_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Output helpers: straight out on USART1 (polling TX, boot_usart.c) */
|
||||
void cli_write(const char* str);
|
||||
void cli_printf(const char* fmt, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __CLI_CORE_H__ */
|
||||
@ -1,21 +1,40 @@
|
||||
/**
|
||||
* @file main.c
|
||||
* @brief CAIIC minimal bootloader: reads the jump address from the
|
||||
* @brief CAIIC bootloader: normally reads the jump address from the
|
||||
* bootsetting record, remaps vectors and jumps to the application.
|
||||
* With this release it also brings up USART1 and offers a
|
||||
* DOWNLOAD MODE (UART CLI + OTA frame upgrade, see boot_cli.c) for
|
||||
* production download and bricked-device recovery.
|
||||
*
|
||||
* No interrupts, no peripherals: flash is read through the memory map only.
|
||||
* Download mode entry:
|
||||
* 1. press Enter within the 2 s window printed in the boot banner, or
|
||||
* 2. automatic when there is no jumpable image: the bootsetting record
|
||||
* is invalid AND the APP1 vector table fails sanity (SP outside the
|
||||
* usable SRAM window / reset PC outside APP1) - the recovery path.
|
||||
*
|
||||
* Policy: the application image CRC is verified during the OTA process
|
||||
* (app_ota.c) BEFORE bootsetting is switched - boot itself never validates
|
||||
* image contents, it only trusts the bootsetting sector integrity
|
||||
* (app_ota.c) BEFORE bootsetting is switched - the normal boot path never
|
||||
* validates image contents, it only trusts the bootsetting sector integrity
|
||||
* (magic + own CRC32) and jumps straight to the recorded start_address.
|
||||
* A blank/invalid record or an out-of-range address falls back to APP1.
|
||||
* A blank/invalid record falls back to APP1.
|
||||
*/
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include "n32wb03x.h"
|
||||
|
||||
#include "dfu_layout.h"
|
||||
#include "boot_crc32.h"
|
||||
#include "boot_usart.h"
|
||||
#include "boot_version.h"
|
||||
|
||||
/* Download-mode entry window after the banner (ms) */
|
||||
#define BOOT_DL_WINDOW_MS 2000u
|
||||
|
||||
/* Usable SRAM on this silicon: 0x20004000..0x2000BFFF (dev log §47) */
|
||||
#define SRAM_SP_MIN 0x20004001u
|
||||
#define SRAM_SP_MAX 0x2000C000u
|
||||
|
||||
extern void boot_cli_run(void); /* boot_cli.c - never returns */
|
||||
|
||||
/**
|
||||
* @brief Remap the vector table to the app and jump to it. Never returns.
|
||||
@ -42,6 +61,27 @@ static void jump_to_app(uint32_t base)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Vector-table sanity: word0 = initial SP inside the usable SRAM
|
||||
* window, word1 = reset PC inside [base, base + bank size).
|
||||
*/
|
||||
static int image_sane(uint32_t base)
|
||||
{
|
||||
uint32_t sp = *(volatile uint32_t*)base;
|
||||
uint32_t pc = *(volatile uint32_t*)(base + 4);
|
||||
|
||||
return (sp >= SRAM_SP_MIN && sp <= SRAM_SP_MAX &&
|
||||
pc >= base + 8u && pc < base + CAIIC_APP_BANK_SIZE) ? 1 : 0;
|
||||
}
|
||||
|
||||
static void puts_boot(const char* s)
|
||||
{
|
||||
while (*s != '\0')
|
||||
{
|
||||
boot_usart_write((const uint8_t*)s++, 1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Main program.
|
||||
*/
|
||||
@ -49,6 +89,9 @@ int main(void)
|
||||
{
|
||||
const caiic_bootsetting_t* bs = (const caiic_bootsetting_t*)CAIIC_BOOTSETTING_ADDR;
|
||||
uint32_t target = CAIIC_APP1_BASE; /* default when bootsetting invalid */
|
||||
uint8_t bs_ok = 0;
|
||||
uint32_t window_start;
|
||||
uint8_t enter_dl = 0;
|
||||
|
||||
/* The jump address comes from the bootsetting record. Only the record's
|
||||
* own integrity is checked (magic + its own CRC32); the app image itself
|
||||
@ -59,13 +102,43 @@ int main(void)
|
||||
{
|
||||
const caiic_bank_t* bank = (bs->active_bank == CAIIC_ACTIVE_BANK2) ? &bs->bank2
|
||||
: &bs->bank1;
|
||||
bs_ok = 1;
|
||||
if (bank->start_address >= CAIIC_APP1_BASE &&
|
||||
bank->start_address < CAIIC_IMAGE_UPDATE_BASE + CAIIC_IMAGE_UPDATE_SIZE)
|
||||
bank->start_address < CAIIC_APP2_BASE + CAIIC_APP_BANK_SIZE)
|
||||
{
|
||||
target = bank->start_address;
|
||||
}
|
||||
}
|
||||
|
||||
boot_usart_init();
|
||||
puts_boot("\r\n[boot] CAIIC-BOOT " BOOT_FW_VERSION
|
||||
" - Enter within 2s: download mode\r\n");
|
||||
|
||||
/* Entry 1: Enter key inside the window */
|
||||
window_start = boot_millis();
|
||||
while ((boot_millis() - window_start) < BOOT_DL_WINDOW_MS)
|
||||
{
|
||||
uint8_t ch;
|
||||
if (boot_usart_read(&ch) != 0 && (ch == '\r' || ch == '\n'))
|
||||
{
|
||||
enter_dl = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Entry 2 (recovery): no jumpable image at all */
|
||||
if (!enter_dl && !bs_ok && !image_sane(CAIIC_APP1_BASE))
|
||||
{
|
||||
enter_dl = 1;
|
||||
puts_boot("[boot] no valid app image, forced download mode\r\n");
|
||||
}
|
||||
|
||||
if (enter_dl)
|
||||
{
|
||||
puts_boot("[boot] DOWNLOAD MODE (ota/cli over UART, 'help' for commands)\r\n");
|
||||
boot_cli_run(); /* never returns */
|
||||
}
|
||||
|
||||
jump_to_app(target);
|
||||
|
||||
for (;;)
|
||||
|
||||
42
Boot/src/ota_wire.h
Normal file
42
Boot/src/ota_wire.h
Normal file
@ -0,0 +1,42 @@
|
||||
/**
|
||||
* @file ota_wire.h
|
||||
* @brief 0xCA frame protocol wire constants, shared by the application
|
||||
* (mcm-ddc-ble, see app_ble_proto.h) and the bootloader download
|
||||
* mode (Boot/). Single source of truth: values are protocol-fixed
|
||||
* by docs/ble_protocol.md - never change a value, only add new ones.
|
||||
*/
|
||||
#ifndef __OTA_WIRE_H__
|
||||
#define __OTA_WIRE_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Frame types */
|
||||
#define BLE_FRAME_SOF 0xCA /* frame start byte */
|
||||
#define BLE_FRAME_HDR_LEN 5u /* SOF+TYPE+SEQ+LEN(2) */
|
||||
#define BLE_FRAME_CLI_REQ 0x01 /* phone -> device: one command line */
|
||||
#define BLE_FRAME_CLI_RSP 0x02 /* device -> phone: response text chunk */
|
||||
#define BLE_FRAME_CLI_RSP_END 0x03 /* device -> phone: {status u8} */
|
||||
#define BLE_FRAME_OTA_BEGIN 0x10 /* phone -> device: {size, crc32, version} */
|
||||
#define BLE_FRAME_OTA_DATA 0x11 /* phone -> device: {offset, data...} */
|
||||
#define BLE_FRAME_OTA_END 0x12 /* phone -> device: {crc32} */
|
||||
#define BLE_FRAME_OTA_ABORT 0x13 /* phone -> device: abort session (no payload) */
|
||||
#define BLE_FRAME_OTA_RSP 0x1F /* device -> phone: {cmd, status, offset} */
|
||||
#define BLE_FRAME_INFO_QUERY 0x20 /* phone -> device: {item_id}*n (empty/0xFF = all) */
|
||||
#define BLE_FRAME_INFO_RSP 0x21 /* device -> phone: TLV {id, len, value}*n */
|
||||
|
||||
/* OTA_RSP / generic status codes */
|
||||
#define BLE_OTA_ST_OK 0
|
||||
#define BLE_OTA_ST_BAD_FRAME 1
|
||||
#define BLE_OTA_ST_BAD_STATE 2 /* bad state / bad offset sequence */
|
||||
#define BLE_OTA_ST_SIZE_TOO_BIG 3
|
||||
#define BLE_OTA_ST_CRC_FAIL 4
|
||||
#define BLE_OTA_ST_FLASH_FAIL 5
|
||||
#define BLE_OTA_ST_BANK_MISMATCH 6 /* image linked for the wrong bank */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __OTA_WIRE_H__ */
|
||||
@ -217,6 +217,44 @@ version, flags u32}`,`flags` bit0 = STREAM。仅 UART 通道生效(BLE 通
|
||||
主机参考实现:`tools\ble_ota_update.py` 的 `ota_session_uart_stream()`
|
||||
(`--uart` 默认流式,`--lockstep` 回旧模式)。
|
||||
|
||||
## 6.8 Bootloader download 模式(Boot V1.01.00 起,搭配 APP ≥ V1.00.28)
|
||||
|
||||
Boot 不再只是跳转器:复位后初始化 USART1(460800 8N1,与 APP 一致),
|
||||
打印 boot banner 并给 **2s 窗口**;窗口内收到回车即进入 **download 模式**。
|
||||
此外当 bootsetting 无效 **且** APP1 向量表 sanity 检查(SP 在可用 SRAM
|
||||
窗口内、复位 PC 落在 APP1 bank 内)不过时**自动进入**(救砖路径)。
|
||||
|
||||
download 模式为裸机 superloop(无 RTOS/BLE),提供 CLI 子集:
|
||||
|
||||
| 命令 | 说明 |
|
||||
|---|---|
|
||||
| `help` / `version` / `uartinfo` | 与 APP 同义(version 报 boot 自身版本) |
|
||||
| `devinfo` | 打印 `cur bank: APP<n>`:n = bootsetting 的 active bank(记录无效时报告 APP2,表示 OTA 将写 APP1) |
|
||||
| `bsdump` / `bsset` / `appsw` | 与 APP 完全相同(复用 app_bootset.c) |
|
||||
| `ota` | 进入 0xCA 二进制帧模式,语义与 APP 完全一致:先打印 `[ota] binary mode ON` 标记行;OTA_ABORT 立即退出 / 3s 空闲退出 / OTA_END 成功且应答送达后复位 |
|
||||
| `reset` | 复位 |
|
||||
|
||||
**与 APP 侧的唯一语义差异**——目标 bank 选择:Boot 自身不运行在任一
|
||||
bank,OTA 目标 = bootsetting 的**非活动区**(OTA_END 后翻转 active 指向
|
||||
新区);bootsetting 无效时目标 = APP1。`devinfo` 按同一规则报告
|
||||
"cur bank",因此 **`tools\ble_ota_update.py --uart` 对 Boot 零改动可用**:
|
||||
脚本读到的 cur bank 的"另一侧"恰是 boot 的写入目标。
|
||||
|
||||
实现要点(对后续维护者):
|
||||
|
||||
- OTA 引擎直接编译共享 `mcm-ddc-ble/src/app_ota.c`(`BOOT_FIRMWARE` 宏隔离
|
||||
FreeRTOS/BLE 依赖,tick 用 SysTick 轮询 millis,UART sink 用阻塞轮询 TX);
|
||||
帧常量单一来源为 `Boot/src/ota_wire.h`(APP 的 `app_ble_proto.h` 包含它);
|
||||
- RX 为 DMA 环形缓冲(3KB,裸机轮询 DMA 写指针,无中断),保证扇区擦除
|
||||
关中断窗口内不丢字节(§6.7 的同一前提);流式模式在 Boot 同样生效;
|
||||
- Boot 尺寸预算 16KB:当前 ~12.9KB;`merge_image.py` 对 boot bin 超 16KB
|
||||
硬卡(出包失败);
|
||||
- Boot 不启用看门狗(避免 APP 启动早期被 Boot 遗留的 IWDG 误杀,APP 的
|
||||
IWDG 由 §50 自管);download 模式为有人值守场景,卡死靠断电重启。
|
||||
|
||||
注意:**Boot 不能被 OTA 更新**(OTA 只写 APP bank);升级 Boot 只能 SWD
|
||||
烧整片包。已出厂设备的旧 Boot(无 download 模式)不受影响,照常跳转。
|
||||
|
||||
## 6.5 维护命令:bootsetting 与 APP_DATA 参数区(V1.00.09 起,结构化访问;V1.00.10 起参数命令为 appget/appset;V1.00.11 起新增 reset/factory/uartrst/uartinfo)
|
||||
|
||||
bootsetting 与 APP_DATA 保留区(0x01006000/8KB)的读写以 CLI 命令形式提供,
|
||||
|
||||
46
docs/开发日志.md
46
docs/开发日志.md
@ -1326,3 +1326,49 @@ APP2 链接的镜像发向 APP1 区。设备端 END 校验(向量表 Reset PC
|
||||
(APP 自理,§50)。
|
||||
- 风险提示:Boot 16KB 尺寸预算紧张(printf + USART/DMA/GPIO/RCC 驱动 +
|
||||
qflash + OTA 引擎 + CLI),构建后核对 map 是否越界,越界则裁剪命令。
|
||||
|
||||
## 52. Boot download 模式:实现与实测(2026-09-05,Boot V1.01.00 / APP V1.00.28)
|
||||
|
||||
- 实现(设计见 §51,一处变更:Boot 内**不启用 IWDG**——download 模式遗留的
|
||||
IWDG 会在 APP 启动早期(app_wdt_init 之前)误杀,APP 看门狗由 §50 自管;
|
||||
download 为有人值守场景,卡死靠断电):
|
||||
- `Boot/src/boot_usart.c/h`:USART1 460800 8N1 裸机驱动——TX 轮询、RX
|
||||
**DMA CH2 环形 3KB**(裸机轮询 DMA 写指针,无中断;扇区擦除关中断窗口
|
||||
不丢字节,流式 OTA 的前提)、SysTick 轮询 millis(COUNTFLAG,无中断);
|
||||
- `Boot/src/ota_wire.h`:0xCA 帧类型/OTA 状态码的**单一来源**共享头,
|
||||
APP 的 `app_ble_proto.h` 改为包含它(协议常量不再两处定义);
|
||||
- `mcm-ddc-ble/src/app_ota.c`、`app_bootset.c`:**不复制副本**,加
|
||||
`BOOT_FIRMWARE` 宏双构建——隔离 FreeRTOS tick(boot 用 millis)/
|
||||
BLE legacy 应答路径/BLE 通道函数/bsp_usart(boot 用阻塞轮询 TX);
|
||||
Boot 下 OTA 目标 bank = bootsetting 非活动区(记录无效时 APP1);
|
||||
- `Boot/src/cli_core.h`(shim,仅 cli_write/cli_printf)+ `boot_cli.c`:
|
||||
轮询行编辑器(回显/退格)+ 迷你 printf(无 libc printf 依赖,支持
|
||||
%s/%-8s/%08lX 等)+ 命令子集(help/version/devinfo/bsdump/bsset/appsw/
|
||||
ota/reset/uartinfo,后三个复用 app_bootset.c);
|
||||
- `Boot/src/main.c`:banner(`[boot] CAIIC-BOOT V1.01.00 - Enter within
|
||||
2s: download mode`)→ 2s 回车窗口;bootsetting 无效**且** APP1 向量表
|
||||
sanity(SP∈0x20004001~0x2000C000、复位 PC∈APP1 bank)不过 → 自动进入
|
||||
download 模式;否则按原逻辑跳转;
|
||||
- uvprojx:加 boot_usart/boot_cli + 共享 app_ota/app_bootset + 5 个 SDK
|
||||
驱动(rcc/gpio/usart/dma/qflash),宏 `BOOT_FIRMWARE`,include 路径
|
||||
`..\src` 先于 `..\..\mcm-ddc-ble\inc`(shim 生效);
|
||||
- `merge_image.py`:boot bin 超 16KB 硬卡 + boot 栈顶悬崖校验。
|
||||
- **PC 脚本零改动兼容**的关键:boot CLI 提示符同为 `caiic->`、`devinfo`
|
||||
按"OTA 目标的对侧"打印 `cur bank: APP<n>`、`ota` 打印同一
|
||||
`[ota] binary mode ON` 标记行——`ble_ota_update.py --uart` 的探活/选包/
|
||||
握手流程原样命中。
|
||||
- 尺寸:Boot `Code=10254 RO-data=2574 RW-data=96 ZI-data=6648`,bin 12924B
|
||||
(16KB 区余 3.4KB);`__initial_sp=0x20005A58`,远离 0x2000C000 悬崖。
|
||||
APP 行为不变(V1.00.28,基线与 V1.00.27 相同)。
|
||||
- 实测(COM4 460800 + SWD)全部 PASS:
|
||||
1. 正常启动:窗口超时自动跳 APP(SWD 读 xTickCount 持续增长);
|
||||
2. 窗口内回车 → download 模式,help/version/devinfo/bsdump 全部正常;
|
||||
3. download 模式下 `ble_ota_update.py --uart` 流式写 **APP2**:
|
||||
27.3 kB/s、2.3s、0 回退,复位后运行 APP2(PASS);
|
||||
4. 再次 download 模式写 **APP1**(往返):同样 PASS,板子回到 APP1;
|
||||
5. **救砖路径**:SWD 擦除 bootsetting + APP1 首扇区模拟变砖 → 复位后
|
||||
自动进 download 模式(devinfo 报 "bootsetting: INVALID - OTA targets
|
||||
APP1")→ 脚本写入 APP1 并重建 bootsetting → 复位进 APP1(PASS)。
|
||||
- 协议文档:`docs/ble_protocol.md` §6.8。注意 **Boot 本身不能被 OTA 更新**
|
||||
(OTA 只写 APP bank),升级 Boot 只能 SWD 整片包;已出厂设备的旧 Boot
|
||||
无 download 模式,功能不受影响。
|
||||
|
||||
@ -4879,122 +4879,122 @@ Memory Map of the image
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x01024000 0x01024000 0x000000c0 Data RO 3 RESET startup_n32wb03x.o
|
||||
0x010240c0 0x010240c0 0x00000000 Code RO 6355 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
|
||||
0x010240c0 0x010240c0 0x00000004 Code RO 6724 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
|
||||
0x010240c4 0x010240c4 0x00000004 Code RO 6727 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
|
||||
0x010240c8 0x010240c8 0x00000000 Code RO 6729 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
|
||||
0x010240c8 0x010240c8 0x00000000 Code RO 6731 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
|
||||
0x010240c8 0x010240c8 0x00000008 Code RO 6732 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
|
||||
0x010240d0 0x010240d0 0x00000000 Code RO 6734 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
|
||||
0x010240d0 0x010240d0 0x00000000 Code RO 6736 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
|
||||
0x010240d0 0x010240d0 0x00000004 Code RO 6725 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
|
||||
0x010240c0 0x010240c0 0x00000000 Code RO 6358 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
|
||||
0x010240c0 0x010240c0 0x00000004 Code RO 6727 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
|
||||
0x010240c4 0x010240c4 0x00000004 Code RO 6730 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
|
||||
0x010240c8 0x010240c8 0x00000000 Code RO 6732 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
|
||||
0x010240c8 0x010240c8 0x00000000 Code RO 6734 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
|
||||
0x010240c8 0x010240c8 0x00000008 Code RO 6735 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
|
||||
0x010240d0 0x010240d0 0x00000000 Code RO 6737 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
|
||||
0x010240d0 0x010240d0 0x00000000 Code RO 6739 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
|
||||
0x010240d0 0x010240d0 0x00000004 Code RO 6728 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
|
||||
0x010240d4 0x010240d4 0x0000000e Code RO 10 .emb_text system_n32wb03x.o
|
||||
0x010240e2 0x010240e2 0x00000002 PAD
|
||||
0x010240e4 0x010240e4 0x0000000c Code RO 4672 .emb_text n32wb03x_it.o
|
||||
0x010240f0 0x010240f0 0x00000078 Code RO 6286 .emb_text port.o
|
||||
0x010240e4 0x010240e4 0x0000000c Code RO 4675 .emb_text n32wb03x_it.o
|
||||
0x010240f0 0x010240f0 0x00000078 Code RO 6289 .emb_text port.o
|
||||
0x01024168 0x01024168 0x0000001c Code RO 4 .text startup_n32wb03x.o
|
||||
0x01024184 0x01024184 0x0000002c Code RO 6358 .text mc_p.l(uidiv.o)
|
||||
0x010241b0 0x010241b0 0x00000028 Code RO 6360 .text mc_p.l(idiv.o)
|
||||
0x010241d8 0x010241d8 0x00000060 Code RO 6362 .text mc_p.l(uldiv.o)
|
||||
0x01024238 0x01024238 0x0000000c Code RO 6364 .text mc_p.l(tolower.o)
|
||||
0x01024244 0x01024244 0x00000024 Code RO 6366 .text mc_p.l(rand.o)
|
||||
0x01024268 0x01024268 0x00000024 Code RO 6369 .text mc_p.l(memcpya.o)
|
||||
0x0102428c 0x0102428c 0x00000024 Code RO 6371 .text mc_p.l(memseta.o)
|
||||
0x010242b0 0x010242b0 0x0000000e Code RO 6373 .text mc_p.l(strlen.o)
|
||||
0x010242be 0x010242be 0x0000001c Code RO 6375 .text mc_p.l(strcmp.o)
|
||||
0x010242da 0x010242da 0x00000014 Code RO 6377 .text mc_p.l(memchr.o)
|
||||
0x010242ee 0x010242ee 0x0000001a Code RO 6379 .text mc_p.l(memcmp.o)
|
||||
0x01024308 0x01024308 0x00000012 Code RO 6381 .text mc_p.l(strcpy.o)
|
||||
0x0102431a 0x0102431a 0x0000001e Code RO 6383 .text mc_p.l(strncmp.o)
|
||||
0x01024338 0x01024338 0x0000003c Code RO 6676 .text mc_p.l(__0sscanf.o)
|
||||
0x01024374 0x01024374 0x00000374 Code RO 6678 .text mc_p.l(scanf_fp.o)
|
||||
0x010246e8 0x010246e8 0x00000076 Code RO 6682 .text mc_p.l(strtoul.o)
|
||||
0x0102475e 0x0102475e 0x000000b2 Code RO 6684 .text mf_p.l(fadd.o)
|
||||
0x01024810 0x01024810 0x0000007a Code RO 6686 .text mf_p.l(fmul.o)
|
||||
0x01024184 0x01024184 0x0000002c Code RO 6361 .text mc_p.l(uidiv.o)
|
||||
0x010241b0 0x010241b0 0x00000028 Code RO 6363 .text mc_p.l(idiv.o)
|
||||
0x010241d8 0x010241d8 0x00000060 Code RO 6365 .text mc_p.l(uldiv.o)
|
||||
0x01024238 0x01024238 0x0000000c Code RO 6367 .text mc_p.l(tolower.o)
|
||||
0x01024244 0x01024244 0x00000024 Code RO 6369 .text mc_p.l(rand.o)
|
||||
0x01024268 0x01024268 0x00000024 Code RO 6372 .text mc_p.l(memcpya.o)
|
||||
0x0102428c 0x0102428c 0x00000024 Code RO 6374 .text mc_p.l(memseta.o)
|
||||
0x010242b0 0x010242b0 0x0000000e Code RO 6376 .text mc_p.l(strlen.o)
|
||||
0x010242be 0x010242be 0x0000001c Code RO 6378 .text mc_p.l(strcmp.o)
|
||||
0x010242da 0x010242da 0x00000014 Code RO 6380 .text mc_p.l(memchr.o)
|
||||
0x010242ee 0x010242ee 0x0000001a Code RO 6382 .text mc_p.l(memcmp.o)
|
||||
0x01024308 0x01024308 0x00000012 Code RO 6384 .text mc_p.l(strcpy.o)
|
||||
0x0102431a 0x0102431a 0x0000001e Code RO 6386 .text mc_p.l(strncmp.o)
|
||||
0x01024338 0x01024338 0x0000003c Code RO 6679 .text mc_p.l(__0sscanf.o)
|
||||
0x01024374 0x01024374 0x00000374 Code RO 6681 .text mc_p.l(scanf_fp.o)
|
||||
0x010246e8 0x010246e8 0x00000076 Code RO 6685 .text mc_p.l(strtoul.o)
|
||||
0x0102475e 0x0102475e 0x000000b2 Code RO 6687 .text mf_p.l(fadd.o)
|
||||
0x01024810 0x01024810 0x0000007a Code RO 6689 .text mf_p.l(fmul.o)
|
||||
0x0102488a 0x0102488a 0x00000002 PAD
|
||||
0x0102488c 0x0102488c 0x00000164 Code RO 6690 .text mf_p.l(dadd.o)
|
||||
0x010249f0 0x010249f0 0x000000d0 Code RO 6692 .text mf_p.l(dmul.o)
|
||||
0x01024ac0 0x01024ac0 0x000000f0 Code RO 6694 .text mf_p.l(ddiv.o)
|
||||
0x01024bb0 0x01024bb0 0x0000002c Code RO 6696 .text mf_p.l(dscalb.o)
|
||||
0x01024bdc 0x01024bdc 0x0000000e Code RO 6700 .text mf_p.l(ffltui.o)
|
||||
0x0102488c 0x0102488c 0x00000164 Code RO 6693 .text mf_p.l(dadd.o)
|
||||
0x010249f0 0x010249f0 0x000000d0 Code RO 6695 .text mf_p.l(dmul.o)
|
||||
0x01024ac0 0x01024ac0 0x000000f0 Code RO 6697 .text mf_p.l(ddiv.o)
|
||||
0x01024bb0 0x01024bb0 0x0000002c Code RO 6699 .text mf_p.l(dscalb.o)
|
||||
0x01024bdc 0x01024bdc 0x0000000e Code RO 6703 .text mf_p.l(ffltui.o)
|
||||
0x01024bea 0x01024bea 0x00000002 PAD
|
||||
0x01024bec 0x01024bec 0x00000028 Code RO 6702 .text mf_p.l(dflti.o)
|
||||
0x01024c14 0x01024c14 0x0000001c Code RO 6704 .text mf_p.l(dfltui.o)
|
||||
0x01024c30 0x01024c30 0x0000001c Code RO 6706 .text mf_p.l(dfltul.o)
|
||||
0x01024c4c 0x01024c4c 0x00000032 Code RO 6708 .text mf_p.l(ffixi.o)
|
||||
0x01024bec 0x01024bec 0x00000028 Code RO 6705 .text mf_p.l(dflti.o)
|
||||
0x01024c14 0x01024c14 0x0000001c Code RO 6707 .text mf_p.l(dfltui.o)
|
||||
0x01024c30 0x01024c30 0x0000001c Code RO 6709 .text mf_p.l(dfltul.o)
|
||||
0x01024c4c 0x01024c4c 0x00000032 Code RO 6711 .text mf_p.l(ffixi.o)
|
||||
0x01024c7e 0x01024c7e 0x00000002 PAD
|
||||
0x01024c80 0x01024c80 0x00000048 Code RO 6712 .text mf_p.l(dfixi.o)
|
||||
0x01024cc8 0x01024cc8 0x00000040 Code RO 6714 .text mf_p.l(dfixul.o)
|
||||
0x01024d08 0x01024d08 0x00000028 Code RO 6716 .text mf_p.l(f2d.o)
|
||||
0x01024d30 0x01024d30 0x00000028 Code RO 6718 .text mf_p.l(cdcmple.o)
|
||||
0x01024d58 0x01024d58 0x00000028 Code RO 6720 .text mf_p.l(cdrcmple.o)
|
||||
0x01024d80 0x01024d80 0x00000038 Code RO 6722 .text mf_p.l(d2f.o)
|
||||
0x01024db8 0x01024db8 0x0000007a Code RO 6738 .text mc_p.l(llmul.o)
|
||||
0x01024e32 0x01024e32 0x00000020 Code RO 6740 .text mc_p.l(llshl.o)
|
||||
0x01024e52 0x01024e52 0x00000022 Code RO 6742 .text mc_p.l(llushr.o)
|
||||
0x01024e74 0x01024e74 0x00000026 Code RO 6744 .text mc_p.l(llsshr.o)
|
||||
0x01024c80 0x01024c80 0x00000048 Code RO 6715 .text mf_p.l(dfixi.o)
|
||||
0x01024cc8 0x01024cc8 0x00000040 Code RO 6717 .text mf_p.l(dfixul.o)
|
||||
0x01024d08 0x01024d08 0x00000028 Code RO 6719 .text mf_p.l(f2d.o)
|
||||
0x01024d30 0x01024d30 0x00000028 Code RO 6721 .text mf_p.l(cdcmple.o)
|
||||
0x01024d58 0x01024d58 0x00000028 Code RO 6723 .text mf_p.l(cdrcmple.o)
|
||||
0x01024d80 0x01024d80 0x00000038 Code RO 6725 .text mf_p.l(d2f.o)
|
||||
0x01024db8 0x01024db8 0x0000007a Code RO 6741 .text mc_p.l(llmul.o)
|
||||
0x01024e32 0x01024e32 0x00000020 Code RO 6743 .text mc_p.l(llshl.o)
|
||||
0x01024e52 0x01024e52 0x00000022 Code RO 6745 .text mc_p.l(llushr.o)
|
||||
0x01024e74 0x01024e74 0x00000026 Code RO 6747 .text mc_p.l(llsshr.o)
|
||||
0x01024e9a 0x01024e9a 0x00000002 PAD
|
||||
0x01024e9c 0x01024e9c 0x00000008 Code RO 6746 .text mc_p.l(ctype_o.o)
|
||||
0x01024ea4 0x01024ea4 0x00000012 Code RO 6768 .text mc_p.l(isspace_o.o)
|
||||
0x01024e9c 0x01024e9c 0x00000008 Code RO 6749 .text mc_p.l(ctype_o.o)
|
||||
0x01024ea4 0x01024ea4 0x00000012 Code RO 6771 .text mc_p.l(isspace_o.o)
|
||||
0x01024eb6 0x01024eb6 0x00000002 PAD
|
||||
0x01024eb8 0x01024eb8 0x0000002c Code RO 6783 .text mc_p.l(scanf_char.o)
|
||||
0x01024ee4 0x01024ee4 0x00000044 Code RO 6785 .text mc_p.l(_sgetc.o)
|
||||
0x01024f28 0x01024f28 0x000000a6 Code RO 6787 .text mc_p.l(_strtoul.o)
|
||||
0x01024eb8 0x01024eb8 0x0000002c Code RO 6786 .text mc_p.l(scanf_char.o)
|
||||
0x01024ee4 0x01024ee4 0x00000044 Code RO 6788 .text mc_p.l(_sgetc.o)
|
||||
0x01024f28 0x01024f28 0x000000a6 Code RO 6790 .text mc_p.l(_strtoul.o)
|
||||
0x01024fce 0x01024fce 0x00000002 PAD
|
||||
0x01024fd0 0x01024fd0 0x000000a4 Code RO 6789 .text mc_p.l(strtod.o)
|
||||
0x01025074 0x01025074 0x00000000 Code RO 6791 .text mc_p.l(iusefp.o)
|
||||
0x01025074 0x01025074 0x00000082 Code RO 6792 .text mf_p.l(fepilogue.o)
|
||||
0x010250f6 0x010250f6 0x000000be Code RO 6794 .text mf_p.l(depilogue.o)
|
||||
0x010251b4 0x010251b4 0x00000024 Code RO 6798 .text mc_p.l(init.o)
|
||||
0x010251d8 0x010251d8 0x0000001e Code RO 6802 .text mc_p.l(_chval.o)
|
||||
0x01024fd0 0x01024fd0 0x000000a4 Code RO 6792 .text mc_p.l(strtod.o)
|
||||
0x01025074 0x01025074 0x00000000 Code RO 6794 .text mc_p.l(iusefp.o)
|
||||
0x01025074 0x01025074 0x00000082 Code RO 6795 .text mf_p.l(fepilogue.o)
|
||||
0x010250f6 0x010250f6 0x000000be Code RO 6797 .text mf_p.l(depilogue.o)
|
||||
0x010251b4 0x010251b4 0x00000024 Code RO 6801 .text mc_p.l(init.o)
|
||||
0x010251d8 0x010251d8 0x0000001e Code RO 6805 .text mc_p.l(_chval.o)
|
||||
0x010251f6 0x010251f6 0x00000002 PAD
|
||||
0x010251f8 0x010251f8 0x00000338 Code RO 6804 .text mc_p.l(_scanf.o)
|
||||
0x01025530 0x01025530 0x00000056 Code RO 6811 .text mc_p.l(__dczerorl2.o)
|
||||
0x010251f8 0x010251f8 0x00000338 Code RO 6807 .text mc_p.l(_scanf.o)
|
||||
0x01025530 0x01025530 0x00000056 Code RO 6814 .text mc_p.l(__dczerorl2.o)
|
||||
0x01025586 0x01025586 0x00000002 PAD
|
||||
0x01025588 0x01025588 0x0000000c Ven RO 6813 Veneer$$Code anon$$obj.o
|
||||
0x01025594 0x01025594 0x0000000c Ven RO 6814 Veneer$$Code anon$$obj.o
|
||||
0x010255a0 0x010255a0 0x0000000c Ven RO 6815 Veneer$$Code anon$$obj.o
|
||||
0x010255ac 0x010255ac 0x0000000c Ven RO 6816 Veneer$$Code anon$$obj.o
|
||||
0x010255b8 0x010255b8 0x0000000c Ven RO 6817 Veneer$$Code anon$$obj.o
|
||||
0x010255c4 0x010255c4 0x0000000c Ven RO 6818 Veneer$$Code anon$$obj.o
|
||||
0x010255d0 0x010255d0 0x0000000c Ven RO 6819 Veneer$$Code anon$$obj.o
|
||||
0x010255dc 0x010255dc 0x0000000c Ven RO 6820 Veneer$$Code anon$$obj.o
|
||||
0x010255e8 0x010255e8 0x0000000c Ven RO 6821 Veneer$$Code anon$$obj.o
|
||||
0x010255f4 0x010255f4 0x0000000c Ven RO 6822 Veneer$$Code anon$$obj.o
|
||||
0x01025600 0x01025600 0x0000000c Ven RO 6823 Veneer$$Code anon$$obj.o
|
||||
0x0102560c 0x0102560c 0x0000000c Ven RO 6824 Veneer$$Code anon$$obj.o
|
||||
0x01025618 0x01025618 0x0000000c Ven RO 6825 Veneer$$Code anon$$obj.o
|
||||
0x01025624 0x01025624 0x0000000c Ven RO 6826 Veneer$$Code anon$$obj.o
|
||||
0x01025630 0x01025630 0x0000000c Ven RO 6827 Veneer$$Code anon$$obj.o
|
||||
0x0102563c 0x0102563c 0x0000000c Ven RO 6828 Veneer$$Code anon$$obj.o
|
||||
0x01025648 0x01025648 0x0000000c Ven RO 6829 Veneer$$Code anon$$obj.o
|
||||
0x01025654 0x01025654 0x0000000c Ven RO 6830 Veneer$$Code anon$$obj.o
|
||||
0x01025660 0x01025660 0x0000000c Ven RO 6831 Veneer$$Code anon$$obj.o
|
||||
0x0102566c 0x0102566c 0x0000000c Ven RO 6832 Veneer$$Code anon$$obj.o
|
||||
0x01025678 0x01025678 0x0000000c Ven RO 6833 Veneer$$Code anon$$obj.o
|
||||
0x01025684 0x01025684 0x0000000c Ven RO 6834 Veneer$$Code anon$$obj.o
|
||||
0x01025690 0x01025690 0x0000000c Ven RO 6835 Veneer$$Code anon$$obj.o
|
||||
0x0102569c 0x0102569c 0x0000000c Ven RO 6836 Veneer$$Code anon$$obj.o
|
||||
0x010256a8 0x010256a8 0x0000000c Ven RO 6837 Veneer$$Code anon$$obj.o
|
||||
0x010256b4 0x010256b4 0x0000000c Ven RO 6838 Veneer$$Code anon$$obj.o
|
||||
0x010256c0 0x010256c0 0x0000000c Ven RO 6839 Veneer$$Code anon$$obj.o
|
||||
0x010256cc 0x010256cc 0x0000000c Ven RO 6840 Veneer$$Code anon$$obj.o
|
||||
0x010256d8 0x010256d8 0x0000000c Ven RO 6841 Veneer$$Code anon$$obj.o
|
||||
0x010256e4 0x010256e4 0x0000000c Ven RO 6842 Veneer$$Code anon$$obj.o
|
||||
0x010256f0 0x010256f0 0x0000000c Ven RO 6843 Veneer$$Code anon$$obj.o
|
||||
0x010256fc 0x010256fc 0x0000000c Ven RO 6844 Veneer$$Code anon$$obj.o
|
||||
0x01025708 0x01025708 0x0000000c Ven RO 6845 Veneer$$Code anon$$obj.o
|
||||
0x01025714 0x01025714 0x0000000c Ven RO 6846 Veneer$$Code anon$$obj.o
|
||||
0x01025720 0x01025720 0x0000000c Ven RO 6847 Veneer$$Code anon$$obj.o
|
||||
0x0102572c 0x0102572c 0x0000000c Ven RO 6848 Veneer$$Code anon$$obj.o
|
||||
0x01025738 0x01025738 0x0000000c Ven RO 6849 Veneer$$Code anon$$obj.o
|
||||
0x01025744 0x01025744 0x0000000c Ven RO 6850 Veneer$$Code anon$$obj.o
|
||||
0x01025750 0x01025750 0x0000000c Ven RO 6851 Veneer$$Code anon$$obj.o
|
||||
0x0102575c 0x0102575c 0x0000000c Ven RO 6852 Veneer$$Code anon$$obj.o
|
||||
0x01025768 0x01025768 0x0000000c Ven RO 6853 Veneer$$Code anon$$obj.o
|
||||
0x01025774 0x01025774 0x0000000c Ven RO 6854 Veneer$$Code anon$$obj.o
|
||||
0x01025780 0x01025780 0x0000000c Ven RO 6855 Veneer$$Code anon$$obj.o
|
||||
0x0102578c 0x0102578c 0x0000000c Ven RO 6856 Veneer$$Code anon$$obj.o
|
||||
0x01025588 0x01025588 0x0000000c Ven RO 6816 Veneer$$Code anon$$obj.o
|
||||
0x01025594 0x01025594 0x0000000c Ven RO 6817 Veneer$$Code anon$$obj.o
|
||||
0x010255a0 0x010255a0 0x0000000c Ven RO 6818 Veneer$$Code anon$$obj.o
|
||||
0x010255ac 0x010255ac 0x0000000c Ven RO 6819 Veneer$$Code anon$$obj.o
|
||||
0x010255b8 0x010255b8 0x0000000c Ven RO 6820 Veneer$$Code anon$$obj.o
|
||||
0x010255c4 0x010255c4 0x0000000c Ven RO 6821 Veneer$$Code anon$$obj.o
|
||||
0x010255d0 0x010255d0 0x0000000c Ven RO 6822 Veneer$$Code anon$$obj.o
|
||||
0x010255dc 0x010255dc 0x0000000c Ven RO 6823 Veneer$$Code anon$$obj.o
|
||||
0x010255e8 0x010255e8 0x0000000c Ven RO 6824 Veneer$$Code anon$$obj.o
|
||||
0x010255f4 0x010255f4 0x0000000c Ven RO 6825 Veneer$$Code anon$$obj.o
|
||||
0x01025600 0x01025600 0x0000000c Ven RO 6826 Veneer$$Code anon$$obj.o
|
||||
0x0102560c 0x0102560c 0x0000000c Ven RO 6827 Veneer$$Code anon$$obj.o
|
||||
0x01025618 0x01025618 0x0000000c Ven RO 6828 Veneer$$Code anon$$obj.o
|
||||
0x01025624 0x01025624 0x0000000c Ven RO 6829 Veneer$$Code anon$$obj.o
|
||||
0x01025630 0x01025630 0x0000000c Ven RO 6830 Veneer$$Code anon$$obj.o
|
||||
0x0102563c 0x0102563c 0x0000000c Ven RO 6831 Veneer$$Code anon$$obj.o
|
||||
0x01025648 0x01025648 0x0000000c Ven RO 6832 Veneer$$Code anon$$obj.o
|
||||
0x01025654 0x01025654 0x0000000c Ven RO 6833 Veneer$$Code anon$$obj.o
|
||||
0x01025660 0x01025660 0x0000000c Ven RO 6834 Veneer$$Code anon$$obj.o
|
||||
0x0102566c 0x0102566c 0x0000000c Ven RO 6835 Veneer$$Code anon$$obj.o
|
||||
0x01025678 0x01025678 0x0000000c Ven RO 6836 Veneer$$Code anon$$obj.o
|
||||
0x01025684 0x01025684 0x0000000c Ven RO 6837 Veneer$$Code anon$$obj.o
|
||||
0x01025690 0x01025690 0x0000000c Ven RO 6838 Veneer$$Code anon$$obj.o
|
||||
0x0102569c 0x0102569c 0x0000000c Ven RO 6839 Veneer$$Code anon$$obj.o
|
||||
0x010256a8 0x010256a8 0x0000000c Ven RO 6840 Veneer$$Code anon$$obj.o
|
||||
0x010256b4 0x010256b4 0x0000000c Ven RO 6841 Veneer$$Code anon$$obj.o
|
||||
0x010256c0 0x010256c0 0x0000000c Ven RO 6842 Veneer$$Code anon$$obj.o
|
||||
0x010256cc 0x010256cc 0x0000000c Ven RO 6843 Veneer$$Code anon$$obj.o
|
||||
0x010256d8 0x010256d8 0x0000000c Ven RO 6844 Veneer$$Code anon$$obj.o
|
||||
0x010256e4 0x010256e4 0x0000000c Ven RO 6845 Veneer$$Code anon$$obj.o
|
||||
0x010256f0 0x010256f0 0x0000000c Ven RO 6846 Veneer$$Code anon$$obj.o
|
||||
0x010256fc 0x010256fc 0x0000000c Ven RO 6847 Veneer$$Code anon$$obj.o
|
||||
0x01025708 0x01025708 0x0000000c Ven RO 6848 Veneer$$Code anon$$obj.o
|
||||
0x01025714 0x01025714 0x0000000c Ven RO 6849 Veneer$$Code anon$$obj.o
|
||||
0x01025720 0x01025720 0x0000000c Ven RO 6850 Veneer$$Code anon$$obj.o
|
||||
0x0102572c 0x0102572c 0x0000000c Ven RO 6851 Veneer$$Code anon$$obj.o
|
||||
0x01025738 0x01025738 0x0000000c Ven RO 6852 Veneer$$Code anon$$obj.o
|
||||
0x01025744 0x01025744 0x0000000c Ven RO 6853 Veneer$$Code anon$$obj.o
|
||||
0x01025750 0x01025750 0x0000000c Ven RO 6854 Veneer$$Code anon$$obj.o
|
||||
0x0102575c 0x0102575c 0x0000000c Ven RO 6855 Veneer$$Code anon$$obj.o
|
||||
0x01025768 0x01025768 0x0000000c Ven RO 6856 Veneer$$Code anon$$obj.o
|
||||
0x01025774 0x01025774 0x0000000c Ven RO 6857 Veneer$$Code anon$$obj.o
|
||||
0x01025780 0x01025780 0x0000000c Ven RO 6858 Veneer$$Code anon$$obj.o
|
||||
0x0102578c 0x0102578c 0x0000000c Ven RO 6859 Veneer$$Code anon$$obj.o
|
||||
0x01025798 0x01025798 0x00000006 Code RO 192 i.ADC_ClearFlag n32wb03x_adc.o
|
||||
0x0102579e 0x0102579e 0x0000000e Code RO 194 i.ADC_ConfigChannel n32wb03x_adc.o
|
||||
0x010257ac 0x010257ac 0x00000054 Code RO 199 i.ADC_ConverValueToTemperature n32wb03x_adc.o
|
||||
@ -5007,25 +5007,25 @@ Memory Map of the image
|
||||
0x01025958 0x01025958 0x0000000e Code RO 213 i.ADC_GetFlagStatus n32wb03x_adc.o
|
||||
0x01025966 0x01025966 0x00000002 PAD
|
||||
0x01025968 0x01025968 0x00000018 Code RO 218 i.ADC_SetOverSampleCounter n32wb03x_adc.o
|
||||
0x01025980 0x01025980 0x000002ec Code RO 5075 i.AppBootset_CmdAppswitch app_bootset.o
|
||||
0x01025c6c 0x01025c6c 0x00000034 Code RO 5076 i.AppBootset_CmdBsdump app_bootset.o
|
||||
0x01025ca0 0x01025ca0 0x000002fc Code RO 5077 i.AppBootset_CmdBsset app_bootset.o
|
||||
0x01025f9c 0x01025f9c 0x00000028 Code RO 4589 i.AppCli_Init app_cli.o
|
||||
0x01025fc4 0x01025fc4 0x000000c8 Code RO 5006 i.AppParams_CmdAppget app_params.o
|
||||
0x0102608c 0x0102608c 0x0000033c Code RO 5007 i.AppParams_CmdAppset app_params.o
|
||||
0x010263c8 0x010263c8 0x00000520 Code RO 4591 i.CliTask app_cli.o
|
||||
0x010268e8 0x010268e8 0x00000078 Code RO 4457 i.CmdBleLog cli_core.o
|
||||
0x01026960 0x01026960 0x00000198 Code RO 4458 i.CmdDevInfo cli_core.o
|
||||
0x01026af8 0x01026af8 0x00000090 Code RO 4459 i.CmdFactory cli_core.o
|
||||
0x01026b88 0x01026b88 0x00000044 Code RO 4460 i.CmdHang cli_core.o
|
||||
0x01026bcc 0x01026bcc 0x000000d4 Code RO 4461 i.CmdHelp cli_core.o
|
||||
0x01026ca0 0x01026ca0 0x000000d0 Code RO 4462 i.CmdLed cli_core.o
|
||||
0x01026d70 0x01026d70 0x00000014 Code RO 4463 i.CmdOta cli_core.o
|
||||
0x01026d84 0x01026d84 0x00000034 Code RO 4464 i.CmdReset cli_core.o
|
||||
0x01026db8 0x01026db8 0x000000e8 Code RO 4465 i.CmdSysInfo cli_core.o
|
||||
0x01026ea0 0x01026ea0 0x00000070 Code RO 4466 i.CmdUartInfo cli_core.o
|
||||
0x01026f10 0x01026f10 0x00000044 Code RO 4467 i.CmdUartRst cli_core.o
|
||||
0x01026f54 0x01026f54 0x00000098 Code RO 4468 i.CmdVersion cli_core.o
|
||||
0x01025980 0x01025980 0x000002ec Code RO 5078 i.AppBootset_CmdAppswitch app_bootset.o
|
||||
0x01025c6c 0x01025c6c 0x00000034 Code RO 5079 i.AppBootset_CmdBsdump app_bootset.o
|
||||
0x01025ca0 0x01025ca0 0x000002fc Code RO 5080 i.AppBootset_CmdBsset app_bootset.o
|
||||
0x01025f9c 0x01025f9c 0x00000028 Code RO 4592 i.AppCli_Init app_cli.o
|
||||
0x01025fc4 0x01025fc4 0x000000c8 Code RO 5009 i.AppParams_CmdAppget app_params.o
|
||||
0x0102608c 0x0102608c 0x0000033c Code RO 5010 i.AppParams_CmdAppset app_params.o
|
||||
0x010263c8 0x010263c8 0x00000520 Code RO 4594 i.CliTask app_cli.o
|
||||
0x010268e8 0x010268e8 0x00000078 Code RO 4460 i.CmdBleLog cli_core.o
|
||||
0x01026960 0x01026960 0x00000198 Code RO 4461 i.CmdDevInfo cli_core.o
|
||||
0x01026af8 0x01026af8 0x00000090 Code RO 4462 i.CmdFactory cli_core.o
|
||||
0x01026b88 0x01026b88 0x00000044 Code RO 4463 i.CmdHang cli_core.o
|
||||
0x01026bcc 0x01026bcc 0x000000d4 Code RO 4464 i.CmdHelp cli_core.o
|
||||
0x01026ca0 0x01026ca0 0x000000d0 Code RO 4465 i.CmdLed cli_core.o
|
||||
0x01026d70 0x01026d70 0x00000014 Code RO 4466 i.CmdOta cli_core.o
|
||||
0x01026d84 0x01026d84 0x00000034 Code RO 4467 i.CmdReset cli_core.o
|
||||
0x01026db8 0x01026db8 0x000000e8 Code RO 4468 i.CmdSysInfo cli_core.o
|
||||
0x01026ea0 0x01026ea0 0x00000070 Code RO 4469 i.CmdUartInfo cli_core.o
|
||||
0x01026f10 0x01026f10 0x00000044 Code RO 4470 i.CmdUartRst cli_core.o
|
||||
0x01026f54 0x01026f54 0x00000098 Code RO 4471 i.CmdVersion cli_core.o
|
||||
0x01026fec 0x01026fec 0x00000018 Code RO 745 i.DBG_ConfigPeriph n32wb03x_rcc.o
|
||||
0x01027004 0x01027004 0x00000004 Code RO 487 i.DMA_ClearFlag n32wb03x_dma.o
|
||||
0x01027008 0x01027008 0x00000088 Code RO 490 i.DMA_DeInit n32wb03x_dma.o
|
||||
@ -5043,16 +5043,16 @@ Memory Map of the image
|
||||
0x01027278 0x01027278 0x00000004 Code RO 640 i.GPIO_ResetBits n32wb03x_gpio.o
|
||||
0x0102727c 0x0102727c 0x00000004 Code RO 641 i.GPIO_SetBits n32wb03x_gpio.o
|
||||
0x01027280 0x01027280 0x00000008 Code RO 642 i.GPIO_TogglePin n32wb03x_gpio.o
|
||||
0x01027288 0x01027288 0x000000b0 Code RO 4673 i.HardFault_Handler n32wb03x_it.o
|
||||
0x01027288 0x01027288 0x000000b0 Code RO 4676 i.HardFault_Handler n32wb03x_it.o
|
||||
0x01027338 0x01027338 0x0000000c Code RO 1986 i.IWDG_CntReload n32wb03x_iwdg.o
|
||||
0x01027344 0x01027344 0x00000010 Code RO 1987 i.IWDG_Enable n32wb03x_iwdg.o
|
||||
0x01027354 0x01027354 0x00000010 Code RO 1989 i.IWDG_ReloadKey n32wb03x_iwdg.o
|
||||
0x01027364 0x01027364 0x0000000c Code RO 1990 i.IWDG_SetPrescalerDiv n32wb03x_iwdg.o
|
||||
0x01027370 0x01027370 0x0000000c Code RO 1991 i.IWDG_WriteConfig n32wb03x_iwdg.o
|
||||
0x0102737c 0x0102737c 0x00000008 Code RO 4972 i.LedBlink app_gpio.o
|
||||
0x01027384 0x01027384 0x0000004c Code RO 4973 i.LedInit app_gpio.o
|
||||
0x010273d0 0x010273d0 0x00000008 Code RO 4974 i.LedOff app_gpio.o
|
||||
0x010273d8 0x010273d8 0x00000008 Code RO 4975 i.LedOn app_gpio.o
|
||||
0x0102737c 0x0102737c 0x00000008 Code RO 4975 i.LedBlink app_gpio.o
|
||||
0x01027384 0x01027384 0x0000004c Code RO 4976 i.LedInit app_gpio.o
|
||||
0x010273d0 0x010273d0 0x00000008 Code RO 4977 i.LedOff app_gpio.o
|
||||
0x010273d8 0x010273d8 0x00000008 Code RO 4978 i.LedOn app_gpio.o
|
||||
0x010273e0 0x010273e0 0x00000078 Code RO 159 i.NVIC_Init misc.o
|
||||
0x01027458 0x01027458 0x000000cc Code RO 11 i.OTPTrim_Read system_n32wb03x.o
|
||||
0x01027524 0x01027524 0x00000024 Code RO 1947 i.Qflash_Erase_Sector n32wb03x_qflash.o
|
||||
@ -5067,13 +5067,13 @@ Memory Map of the image
|
||||
0x01027630 0x01027630 0x0000001c Code RO 773 i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL n32wb03x_rcc.o
|
||||
0x0102764c 0x0102764c 0x00000074 Code RO 774 i.RCC_GetClocksFreqValue n32wb03x_rcc.o
|
||||
0x010276c0 0x010276c0 0x00000030 Code RO 775 i.RCC_GetFlagStatus n32wb03x_rcc.o
|
||||
0x010276f0 0x010276f0 0x00000002 Code RO 6287 i.SVC_Handler port.o
|
||||
0x010276f0 0x010276f0 0x00000002 Code RO 6290 i.SVC_Handler port.o
|
||||
0x010276f2 0x010276f2 0x00000002 PAD
|
||||
0x010276f4 0x010276f4 0x00000024 Code RO 6288 i.SysTick_Handler port.o
|
||||
0x010276f4 0x010276f4 0x00000024 Code RO 6291 i.SysTick_Handler port.o
|
||||
0x01027718 0x01027718 0x00000034 Code RO 13 i.SystemGetMacAddr system_n32wb03x.o
|
||||
0x0102774c 0x0102774c 0x00000180 Code RO 15 i.SystemInit system_n32wb03x.o
|
||||
0x010278cc 0x010278cc 0x00000030 Code RO 16 i.SystemTrimValueGet system_n32wb03x.o
|
||||
0x010278fc 0x010278fc 0x00000008 Code RO 4674 i.USART1_IRQHandler n32wb03x_it.o
|
||||
0x010278fc 0x010278fc 0x00000008 Code RO 4677 i.USART1_IRQHandler n32wb03x_it.o
|
||||
0x01027904 0x01027904 0x00000032 Code RO 1520 i.USART_ConfigInt n32wb03x_usart.o
|
||||
0x01027936 0x01027936 0x00000002 PAD
|
||||
0x01027938 0x01027938 0x0000001c Code RO 1525 i.USART_Enable n32wb03x_usart.o
|
||||
@ -5084,122 +5084,122 @@ Memory Map of the image
|
||||
0x010279b4 0x010279b4 0x00000088 Code RO 1534 i.USART_Init n32wb03x_usart.o
|
||||
0x01027a3c 0x01027a3c 0x00000008 Code RO 1535 i.USART_ReceiveData n32wb03x_usart.o
|
||||
0x01027a44 0x01027a44 0x00000008 Code RO 1537 i.USART_SendData n32wb03x_usart.o
|
||||
0x01027a4c 0x01027a4c 0x00000020 Code RO 6620 i.__0printf mc_p.l(printfa.o)
|
||||
0x01027a6c 0x01027a6c 0x00000028 Code RO 6622 i.__0sprintf mc_p.l(printfa.o)
|
||||
0x01027a94 0x01027a94 0x0000002c Code RO 6625 i.__0vsnprintf mc_p.l(printfa.o)
|
||||
0x01027ac0 0x01027ac0 0x0000002e Code RO 6796 i.__ARM_clz mf_p.l(depilogue.o)
|
||||
0x01027a4c 0x01027a4c 0x00000020 Code RO 6623 i.__0printf mc_p.l(printfa.o)
|
||||
0x01027a6c 0x01027a6c 0x00000028 Code RO 6625 i.__0sprintf mc_p.l(printfa.o)
|
||||
0x01027a94 0x01027a94 0x0000002c Code RO 6628 i.__0vsnprintf mc_p.l(printfa.o)
|
||||
0x01027ac0 0x01027ac0 0x0000002e Code RO 6799 i.__ARM_clz mf_p.l(depilogue.o)
|
||||
0x01027aee 0x01027aee 0x00000002 PAD
|
||||
0x01027af0 0x01027af0 0x00000008 Code RO 6776 i.__aeabi_errno_addr mc_p.l(errno.o)
|
||||
0x01027af8 0x01027af8 0x00000064 Code RO 6652 i.__free$realloc mc_p.l(mallocr.o)
|
||||
0x01027b5c 0x01027b5c 0x00000048 Code RO 6653 i.__malloc$realloc mc_p.l(mallocr.o)
|
||||
0x01027ba4 0x01027ba4 0x00000174 Code RO 6627 i._fp_digits mc_p.l(printfa.o)
|
||||
0x01027d18 0x01027d18 0x0000000e Code RO 6680 i._is_digit mc_p.l(scanf_fp.o)
|
||||
0x01027af0 0x01027af0 0x00000008 Code RO 6779 i.__aeabi_errno_addr mc_p.l(errno.o)
|
||||
0x01027af8 0x01027af8 0x00000064 Code RO 6655 i.__free$realloc mc_p.l(mallocr.o)
|
||||
0x01027b5c 0x01027b5c 0x00000048 Code RO 6656 i.__malloc$realloc mc_p.l(mallocr.o)
|
||||
0x01027ba4 0x01027ba4 0x00000174 Code RO 6630 i._fp_digits mc_p.l(printfa.o)
|
||||
0x01027d18 0x01027d18 0x0000000e Code RO 6683 i._is_digit mc_p.l(scanf_fp.o)
|
||||
0x01027d26 0x01027d26 0x00000002 PAD
|
||||
0x01027d28 0x01027d28 0x000006ec Code RO 6628 i._printf_core mc_p.l(printfa.o)
|
||||
0x01028414 0x01028414 0x00000020 Code RO 6629 i._printf_post_padding mc_p.l(printfa.o)
|
||||
0x01028434 0x01028434 0x0000002c Code RO 6630 i._printf_pre_padding mc_p.l(printfa.o)
|
||||
0x01028460 0x01028460 0x00000016 Code RO 6631 i._snputc mc_p.l(printfa.o)
|
||||
0x01028476 0x01028476 0x0000000a Code RO 6632 i._sputc mc_p.l(printfa.o)
|
||||
0x01028480 0x01028480 0x00000032 Code RO 5115 i.add_item_to_array cjson.o
|
||||
0x010284b2 0x010284b2 0x00000062 Code RO 5116 i.add_item_to_object cjson.o
|
||||
0x01028514 0x01028514 0x00000074 Code RO 4169 i.app_ble_adv_init app_ble.o
|
||||
0x01028588 0x01028588 0x00000002 Code RO 4170 i.app_ble_adv_msg_handler app_ble.o
|
||||
0x01027d28 0x01027d28 0x000006ec Code RO 6631 i._printf_core mc_p.l(printfa.o)
|
||||
0x01028414 0x01028414 0x00000020 Code RO 6632 i._printf_post_padding mc_p.l(printfa.o)
|
||||
0x01028434 0x01028434 0x0000002c Code RO 6633 i._printf_pre_padding mc_p.l(printfa.o)
|
||||
0x01028460 0x01028460 0x00000016 Code RO 6634 i._snputc mc_p.l(printfa.o)
|
||||
0x01028476 0x01028476 0x0000000a Code RO 6635 i._sputc mc_p.l(printfa.o)
|
||||
0x01028480 0x01028480 0x00000032 Code RO 5118 i.add_item_to_array cjson.o
|
||||
0x010284b2 0x010284b2 0x00000062 Code RO 5119 i.add_item_to_object cjson.o
|
||||
0x01028514 0x01028514 0x00000074 Code RO 4172 i.app_ble_adv_init app_ble.o
|
||||
0x01028588 0x01028588 0x00000002 Code RO 4173 i.app_ble_adv_msg_handler app_ble.o
|
||||
0x0102858a 0x0102858a 0x00000002 PAD
|
||||
0x0102858c 0x0102858c 0x00000044 Code RO 4171 i.app_ble_connected app_ble.o
|
||||
0x010285d0 0x010285d0 0x0000005c Code RO 4172 i.app_ble_disconnected app_ble.o
|
||||
0x0102862c 0x0102862c 0x00000098 Code RO 4173 i.app_ble_gap_params_init app_ble.o
|
||||
0x010286c4 0x010286c4 0x0000004c Code RO 4174 i.app_ble_init app_ble.o
|
||||
0x01028710 0x01028710 0x0000006c Code RO 4175 i.app_ble_msg_handler app_ble.o
|
||||
0x0102877c 0x0102877c 0x000000ec Code RO 4698 i.app_ble_proto_cli_exec app_ble_proto.o
|
||||
0x01028868 0x01028868 0x00000040 Code RO 4699 i.app_ble_proto_cli_rsp app_ble_proto.o
|
||||
0x010288a8 0x010288a8 0x00000014 Code RO 4700 i.app_ble_proto_init app_ble_proto.o
|
||||
0x010288bc 0x010288bc 0x0000000c Code RO 4701 i.app_ble_proto_log_get app_ble_proto.o
|
||||
0x010288c8 0x010288c8 0x00000010 Code RO 4702 i.app_ble_proto_log_set app_ble_proto.o
|
||||
0x010288d8 0x010288d8 0x0000001c Code RO 4703 i.app_ble_proto_on_disconnect app_ble_proto.o
|
||||
0x010288f4 0x010288f4 0x000001a0 Code RO 4704 i.app_ble_proto_rx_bytes app_ble_proto.o
|
||||
0x01028a94 0x01028a94 0x000000b8 Code RO 4705 i.app_ble_proto_send_frame app_ble_proto.o
|
||||
0x01028b4c 0x01028b4c 0x00000050 Code RO 4177 i.app_ble_sec_init app_ble.o
|
||||
0x01028b9c 0x01028b9c 0x0000000c Code RO 4592 i.app_cli_ota_mode_enter app_cli.o
|
||||
0x0102858c 0x0102858c 0x00000044 Code RO 4174 i.app_ble_connected app_ble.o
|
||||
0x010285d0 0x010285d0 0x0000005c Code RO 4175 i.app_ble_disconnected app_ble.o
|
||||
0x0102862c 0x0102862c 0x00000098 Code RO 4176 i.app_ble_gap_params_init app_ble.o
|
||||
0x010286c4 0x010286c4 0x0000004c Code RO 4177 i.app_ble_init app_ble.o
|
||||
0x01028710 0x01028710 0x0000006c Code RO 4178 i.app_ble_msg_handler app_ble.o
|
||||
0x0102877c 0x0102877c 0x000000ec Code RO 4701 i.app_ble_proto_cli_exec app_ble_proto.o
|
||||
0x01028868 0x01028868 0x00000040 Code RO 4702 i.app_ble_proto_cli_rsp app_ble_proto.o
|
||||
0x010288a8 0x010288a8 0x00000014 Code RO 4703 i.app_ble_proto_init app_ble_proto.o
|
||||
0x010288bc 0x010288bc 0x0000000c Code RO 4704 i.app_ble_proto_log_get app_ble_proto.o
|
||||
0x010288c8 0x010288c8 0x00000010 Code RO 4705 i.app_ble_proto_log_set app_ble_proto.o
|
||||
0x010288d8 0x010288d8 0x0000001c Code RO 4706 i.app_ble_proto_on_disconnect app_ble_proto.o
|
||||
0x010288f4 0x010288f4 0x000001a0 Code RO 4707 i.app_ble_proto_rx_bytes app_ble_proto.o
|
||||
0x01028a94 0x01028a94 0x000000b8 Code RO 4708 i.app_ble_proto_send_frame app_ble_proto.o
|
||||
0x01028b4c 0x01028b4c 0x00000050 Code RO 4180 i.app_ble_sec_init app_ble.o
|
||||
0x01028b9c 0x01028b9c 0x0000000c Code RO 4595 i.app_cli_ota_mode_enter app_cli.o
|
||||
0x01028ba8 0x01028ba8 0x00000010 Code RO 3897 i.app_conn_params_update_evt_handler ns_ble_task.o
|
||||
0x01028bb8 0x01028bb8 0x000000cc Code RO 3498 i.app_create_advertising ns_ble.o
|
||||
0x01028c84 0x01028c84 0x0000005c Code RO 4051 i.app_dis_add_dis app_dis.o
|
||||
0x01028ce0 0x01028ce0 0x00000104 Code RO 3898 i.app_entry_point_handler ns_ble_task.o
|
||||
0x01028de4 0x01028de4 0x00000008 Code RO 4876 i.app_fan_get_rpm app_info.o
|
||||
0x01028dec 0x01028dec 0x0000005c Code RO 4877 i.app_info_chip_temp_c10 app_info.o
|
||||
0x01028e48 0x01028e48 0x00000018 Code RO 4878 i.app_info_cur_bank app_info.o
|
||||
0x01028e60 0x01028e60 0x0000004c Code RO 4879 i.app_info_handle_query app_info.o
|
||||
0x01028eac 0x01028eac 0x0000000c Code RO 4880 i.app_info_last_temp_raw app_info.o
|
||||
0x01028eb8 0x01028eb8 0x0000002c Code RO 4881 i.app_info_tlv_snapshot app_info.o
|
||||
0x01028ee4 0x01028ee4 0x00000020 Code RO 4882 i.app_info_vdd_mv app_info.o
|
||||
0x01028de4 0x01028de4 0x00000008 Code RO 4879 i.app_fan_get_rpm app_info.o
|
||||
0x01028dec 0x01028dec 0x0000005c Code RO 4880 i.app_info_chip_temp_c10 app_info.o
|
||||
0x01028e48 0x01028e48 0x00000018 Code RO 4881 i.app_info_cur_bank app_info.o
|
||||
0x01028e60 0x01028e60 0x0000004c Code RO 4882 i.app_info_handle_query app_info.o
|
||||
0x01028eac 0x01028eac 0x0000000c Code RO 4883 i.app_info_last_temp_raw app_info.o
|
||||
0x01028eb8 0x01028eb8 0x0000002c Code RO 4884 i.app_info_tlv_snapshot app_info.o
|
||||
0x01028ee4 0x01028ee4 0x00000020 Code RO 4885 i.app_info_vdd_mv app_info.o
|
||||
0x01028f04 0x01028f04 0x0000001c Code RO 3899 i.app_init_timeout_evt_handler ns_ble_task.o
|
||||
0x01028f20 0x01028f20 0x000000ac Code RO 3900 i.app_lsi_calib_evt_handler ns_ble_task.o
|
||||
0x01028fcc 0x01028fcc 0x00000018 Code RO 4774 i.app_ota_abort app_ota.o
|
||||
0x01028fe4 0x01028fe4 0x00000010 Code RO 4775 i.app_ota_chan_idle app_ota.o
|
||||
0x01028ff4 0x01028ff4 0x00000020 Code RO 4776 i.app_ota_chan_rsp_ble app_ota.o
|
||||
0x01029014 0x01029014 0x00000120 Code RO 4777 i.app_ota_chan_rx app_ota.o
|
||||
0x01029134 0x01029134 0x00000010 Code RO 4778 i.app_ota_chan_rx_ble app_ota.o
|
||||
0x01029144 0x01029144 0x00000020 Code RO 4779 i.app_ota_chan_rx_uart app_ota.o
|
||||
0x01029164 0x01029164 0x00000008 Code RO 4780 i.app_ota_current_bank_base app_ota.o
|
||||
0x0102916c 0x0102916c 0x00000158 Code RO 4781 i.app_ota_handle_frame app_ota.o
|
||||
0x010292c4 0x010292c4 0x00000048 Code RO 4782 i.app_ota_reset_poll app_ota.o
|
||||
0x0102930c 0x0102930c 0x00000008 Code RO 5008 i.app_params_get app_params.o
|
||||
0x01029314 0x01029314 0x0000005c Code RO 5009 i.app_params_init app_params.o
|
||||
0x01029370 0x01029370 0x0000002c Code RO 5011 i.app_params_restore_defaults app_params.o
|
||||
0x01028fcc 0x01028fcc 0x00000018 Code RO 4777 i.app_ota_abort app_ota.o
|
||||
0x01028fe4 0x01028fe4 0x00000010 Code RO 4778 i.app_ota_chan_idle app_ota.o
|
||||
0x01028ff4 0x01028ff4 0x00000020 Code RO 4779 i.app_ota_chan_rsp_ble app_ota.o
|
||||
0x01029014 0x01029014 0x00000120 Code RO 4780 i.app_ota_chan_rx app_ota.o
|
||||
0x01029134 0x01029134 0x00000010 Code RO 4781 i.app_ota_chan_rx_ble app_ota.o
|
||||
0x01029144 0x01029144 0x00000020 Code RO 4782 i.app_ota_chan_rx_uart app_ota.o
|
||||
0x01029164 0x01029164 0x00000008 Code RO 4783 i.app_ota_current_bank_base app_ota.o
|
||||
0x0102916c 0x0102916c 0x00000158 Code RO 4784 i.app_ota_handle_frame app_ota.o
|
||||
0x010292c4 0x010292c4 0x00000048 Code RO 4785 i.app_ota_reset_poll app_ota.o
|
||||
0x0102930c 0x0102930c 0x00000008 Code RO 5011 i.app_params_get app_params.o
|
||||
0x01029314 0x01029314 0x0000005c Code RO 5012 i.app_params_init app_params.o
|
||||
0x01029370 0x01029370 0x0000002c Code RO 5014 i.app_params_restore_defaults app_params.o
|
||||
0x0102939c 0x0102939c 0x00000068 Code RO 4106 i.app_rdtss_add_rdts app_rdtss.o
|
||||
0x01029404 0x01029404 0x00000004 Code RO 3257 i.app_sec_msg_dflt_handler ns_sec.o
|
||||
0x01029408 0x01029408 0x00000078 Code RO 3499 i.app_set_adv_data ns_ble.o
|
||||
0x01029480 0x01029480 0x000000c4 Code RO 3500 i.app_set_scan_rsp_data ns_ble.o
|
||||
0x01029544 0x01029544 0x00000070 Code RO 3501 i.app_start_advertising ns_ble.o
|
||||
0x010295b4 0x010295b4 0x00000002 Code RO 4178 i.app_user_msg_handler app_ble.o
|
||||
0x010295b4 0x010295b4 0x00000002 Code RO 4181 i.app_user_msg_handler app_ble.o
|
||||
0x010295b6 0x010295b6 0x00000002 PAD
|
||||
0x010295b8 0x010295b8 0x00000018 Code RO 4275 i.app_wdt_heartbeat main.o
|
||||
0x010295d0 0x010295d0 0x00000074 Code RO 4276 i.app_wdt_init main.o
|
||||
0x010295b8 0x010295b8 0x00000018 Code RO 4278 i.app_wdt_heartbeat main.o
|
||||
0x010295d0 0x010295d0 0x00000074 Code RO 4279 i.app_wdt_init main.o
|
||||
0x01029644 0x01029644 0x000000c0 Code RO 2033 i.attm_att_set_value lib_att.o
|
||||
0x01029704 0x01029704 0x00000028 Code RO 4277 i.ble_schedule_task main.o
|
||||
0x0102972c 0x0102972c 0x00000014 Code RO 4636 i.ble_up_on_cfm ble_up.o
|
||||
0x01029740 0x01029740 0x00000058 Code RO 4637 i.ble_up_poll ble_up.o
|
||||
0x01029798 0x01029798 0x00000010 Code RO 4638 i.ble_up_reset ble_up.o
|
||||
0x010297a8 0x010297a8 0x00000048 Code RO 4639 i.ble_up_write ble_up.o
|
||||
0x010297f0 0x010297f0 0x0000005c Code RO 5078 i.bootset_commit app_bootset.o
|
||||
0x0102984c 0x0102984c 0x00000178 Code RO 5079 i.bootset_print app_bootset.o
|
||||
0x010299c4 0x010299c4 0x000000ec Code RO 4379 i.bsp_usart_init bsp_usart.o
|
||||
0x01029ab0 0x01029ab0 0x000000ac Code RO 4380 i.bsp_usart_read_byte bsp_usart.o
|
||||
0x01029b5c 0x01029b5c 0x00000080 Code RO 4381 i.bsp_usart_rx_dma_start bsp_usart.o
|
||||
0x01029bdc 0x01029bdc 0x00000048 Code RO 4383 i.bsp_usart_rx_isr_handler bsp_usart.o
|
||||
0x01029c24 0x01029c24 0x00000074 Code RO 4384 i.bsp_usart_set_baud bsp_usart.o
|
||||
0x01029c98 0x01029c98 0x00000020 Code RO 4385 i.bsp_usart_tx_lock bsp_usart.o
|
||||
0x01029cb8 0x01029cb8 0x00000024 Code RO 4386 i.bsp_usart_tx_unlock bsp_usart.o
|
||||
0x01029cdc 0x01029cdc 0x00000098 Code RO 4387 i.bsp_usart_write_dma bsp_usart.o
|
||||
0x01029d74 0x01029d74 0x0000003a Code RO 5117 i.buffer_skip_whitespace cjson.o
|
||||
0x01029704 0x01029704 0x00000028 Code RO 4280 i.ble_schedule_task main.o
|
||||
0x0102972c 0x0102972c 0x00000014 Code RO 4639 i.ble_up_on_cfm ble_up.o
|
||||
0x01029740 0x01029740 0x00000058 Code RO 4640 i.ble_up_poll ble_up.o
|
||||
0x01029798 0x01029798 0x00000010 Code RO 4641 i.ble_up_reset ble_up.o
|
||||
0x010297a8 0x010297a8 0x00000048 Code RO 4642 i.ble_up_write ble_up.o
|
||||
0x010297f0 0x010297f0 0x0000005c Code RO 5081 i.bootset_commit app_bootset.o
|
||||
0x0102984c 0x0102984c 0x00000178 Code RO 5082 i.bootset_print app_bootset.o
|
||||
0x010299c4 0x010299c4 0x000000ec Code RO 4382 i.bsp_usart_init bsp_usart.o
|
||||
0x01029ab0 0x01029ab0 0x000000ac Code RO 4383 i.bsp_usart_read_byte bsp_usart.o
|
||||
0x01029b5c 0x01029b5c 0x00000080 Code RO 4384 i.bsp_usart_rx_dma_start bsp_usart.o
|
||||
0x01029bdc 0x01029bdc 0x00000048 Code RO 4386 i.bsp_usart_rx_isr_handler bsp_usart.o
|
||||
0x01029c24 0x01029c24 0x00000074 Code RO 4387 i.bsp_usart_set_baud bsp_usart.o
|
||||
0x01029c98 0x01029c98 0x00000020 Code RO 4388 i.bsp_usart_tx_lock bsp_usart.o
|
||||
0x01029cb8 0x01029cb8 0x00000024 Code RO 4389 i.bsp_usart_tx_unlock bsp_usart.o
|
||||
0x01029cdc 0x01029cdc 0x00000098 Code RO 4390 i.bsp_usart_write_dma bsp_usart.o
|
||||
0x01029d74 0x01029d74 0x0000003a Code RO 5120 i.buffer_skip_whitespace cjson.o
|
||||
0x01029dae 0x01029dae 0x00000002 PAD
|
||||
0x01029db0 0x01029db0 0x00000034 Code RO 5127 i.cJSON_AddNumberToObject cjson.o
|
||||
0x01029de4 0x01029de4 0x00000064 Code RO 5141 i.cJSON_CreateNumber cjson.o
|
||||
0x01029e48 0x01029e48 0x00000018 Code RO 5142 i.cJSON_CreateObject cjson.o
|
||||
0x01029e60 0x01029e60 0x00000054 Code RO 5149 i.cJSON_Delete cjson.o
|
||||
0x01029eb4 0x01029eb4 0x0000000a Code RO 5162 i.cJSON_GetObjectItem cjson.o
|
||||
0x01029db0 0x01029db0 0x00000034 Code RO 5130 i.cJSON_AddNumberToObject cjson.o
|
||||
0x01029de4 0x01029de4 0x00000064 Code RO 5144 i.cJSON_CreateNumber cjson.o
|
||||
0x01029e48 0x01029e48 0x00000018 Code RO 5145 i.cJSON_CreateObject cjson.o
|
||||
0x01029e60 0x01029e60 0x00000054 Code RO 5152 i.cJSON_Delete cjson.o
|
||||
0x01029eb4 0x01029eb4 0x0000000a Code RO 5165 i.cJSON_GetObjectItem cjson.o
|
||||
0x01029ebe 0x01029ebe 0x00000002 PAD
|
||||
0x01029ec0 0x01029ec0 0x00000050 Code RO 5166 i.cJSON_InitHooks cjson.o
|
||||
0x01029f10 0x01029f10 0x00000012 Code RO 5173 i.cJSON_IsNumber cjson.o
|
||||
0x01029f22 0x01029f22 0x00000012 Code RO 5174 i.cJSON_IsObject cjson.o
|
||||
0x01029f34 0x01029f34 0x00000024 Code RO 5179 i.cJSON_New_Item cjson.o
|
||||
0x01029f58 0x01029f58 0x00000022 Code RO 5180 i.cJSON_Parse cjson.o
|
||||
0x01029ec0 0x01029ec0 0x00000050 Code RO 5169 i.cJSON_InitHooks cjson.o
|
||||
0x01029f10 0x01029f10 0x00000012 Code RO 5176 i.cJSON_IsNumber cjson.o
|
||||
0x01029f22 0x01029f22 0x00000012 Code RO 5177 i.cJSON_IsObject cjson.o
|
||||
0x01029f34 0x01029f34 0x00000024 Code RO 5182 i.cJSON_New_Item cjson.o
|
||||
0x01029f58 0x01029f58 0x00000022 Code RO 5183 i.cJSON_Parse cjson.o
|
||||
0x01029f7a 0x01029f7a 0x00000002 PAD
|
||||
0x01029f7c 0x01029f7c 0x000000ec Code RO 5182 i.cJSON_ParseWithLengthOpts cjson.o
|
||||
0x0102a068 0x0102a068 0x00000010 Code RO 5187 i.cJSON_PrintUnformatted cjson.o
|
||||
0x0102a078 0x0102a078 0x0000000c Code RO 5195 i.cJSON_free cjson.o
|
||||
0x0102a084 0x0102a084 0x00000028 Code RO 5197 i.cJSON_strdup cjson.o
|
||||
0x0102a0ac 0x0102a0ac 0x00000034 Code RO 4959 i.caiic_crc32 boot_crc32.o
|
||||
0x01029f7c 0x01029f7c 0x000000ec Code RO 5185 i.cJSON_ParseWithLengthOpts cjson.o
|
||||
0x0102a068 0x0102a068 0x00000010 Code RO 5190 i.cJSON_PrintUnformatted cjson.o
|
||||
0x0102a078 0x0102a078 0x0000000c Code RO 5198 i.cJSON_free cjson.o
|
||||
0x0102a084 0x0102a084 0x00000028 Code RO 5200 i.cJSON_strdup cjson.o
|
||||
0x0102a0ac 0x0102a0ac 0x00000034 Code RO 4962 i.caiic_crc32 boot_crc32.o
|
||||
0x0102a0e0 0x0102a0e0 0x0000002a Code RO 3071 i.check_client_char_cfg rdts_common.o
|
||||
0x0102a10a 0x0102a10a 0x00000004 Code RO 4469 i.cli_cmd_count cli_core.o
|
||||
0x0102a10a 0x0102a10a 0x00000004 Code RO 4472 i.cli_cmd_count cli_core.o
|
||||
0x0102a10e 0x0102a10e 0x00000002 PAD
|
||||
0x0102a110 0x0102a110 0x00000018 Code RO 4470 i.cli_cmd_name cli_core.o
|
||||
0x0102a128 0x0102a128 0x000000b4 Code RO 4471 i.cli_exec_line cli_core.o
|
||||
0x0102a1dc 0x0102a1dc 0x0000002c Code RO 4472 i.cli_printf cli_core.o
|
||||
0x0102a208 0x0102a208 0x00000068 Code RO 4593 i.cli_redraw_line app_cli.o
|
||||
0x0102a270 0x0102a270 0x0000002c Code RO 4706 i.cli_rsp_out app_ble_proto.o
|
||||
0x0102a29c 0x0102a29c 0x0000000c Code RO 4473 i.cli_set_output cli_core.o
|
||||
0x0102a2a8 0x0102a2a8 0x00000024 Code RO 4474 i.cli_write cli_core.o
|
||||
0x0102a2cc 0x0102a2cc 0x0000005c Code RO 5198 i.compare_double cjson.o
|
||||
0x0102a110 0x0102a110 0x00000018 Code RO 4473 i.cli_cmd_name cli_core.o
|
||||
0x0102a128 0x0102a128 0x000000b4 Code RO 4474 i.cli_exec_line cli_core.o
|
||||
0x0102a1dc 0x0102a1dc 0x0000002c Code RO 4475 i.cli_printf cli_core.o
|
||||
0x0102a208 0x0102a208 0x00000068 Code RO 4596 i.cli_redraw_line app_cli.o
|
||||
0x0102a270 0x0102a270 0x0000002c Code RO 4709 i.cli_rsp_out app_ble_proto.o
|
||||
0x0102a29c 0x0102a29c 0x0000000c Code RO 4476 i.cli_set_output cli_core.o
|
||||
0x0102a2a8 0x0102a2a8 0x00000024 Code RO 4477 i.cli_write cli_core.o
|
||||
0x0102a2cc 0x0102a2cc 0x0000005c Code RO 5201 i.compare_double cjson.o
|
||||
0x0102a328 0x0102a328 0x0000002a Code RO 2709 i.diss_check_val_len diss.o
|
||||
0x0102a352 0x0102a352 0x00000002 Code RO 2710 i.diss_cleanup diss.o
|
||||
0x0102a354 0x0102a354 0x00000002 Code RO 2712 i.diss_create diss.o
|
||||
@ -5213,9 +5213,9 @@ Memory Map of the image
|
||||
0x0102a5a8 0x0102a5a8 0x000000c0 Code RO 4053 i.diss_value_req_ind_handler app_dis.o
|
||||
0x0102a668 0x0102a668 0x0000003a Code RO 2717 i.diss_value_to_handle diss.o
|
||||
0x0102a6a2 0x0102a6a2 0x00000002 PAD
|
||||
0x0102a6a4 0x0102a6a4 0x00000060 Code RO 5682 i.eTaskGetState tasks.o
|
||||
0x0102a704 0x0102a704 0x00000098 Code RO 5200 i.ensure cjson.o
|
||||
0x0102a79c 0x0102a79c 0x0000003c Code RO 4388 i.fputc bsp_usart.o
|
||||
0x0102a6a4 0x0102a6a4 0x00000060 Code RO 5685 i.eTaskGetState tasks.o
|
||||
0x0102a704 0x0102a704 0x00000098 Code RO 5203 i.ensure cjson.o
|
||||
0x0102a79c 0x0102a79c 0x0000003c Code RO 4391 i.fputc bsp_usart.o
|
||||
0x0102a7d8 0x0102a7d8 0x000000f0 Code RO 3258 i.gapc_bond_ind_handler ns_sec.o
|
||||
0x0102a8c8 0x0102a8c8 0x00000208 Code RO 3259 i.gapc_bond_req_ind_handler ns_sec.o
|
||||
0x0102aad0 0x0102aad0 0x00000028 Code RO 3901 i.gapc_cmp_evt_handler ns_ble_task.o
|
||||
@ -5247,19 +5247,19 @@ Memory Map of the image
|
||||
0x0102b770 0x0102b770 0x000000e0 Code RO 2951 i.gattc_read_req_ind_handler rdtss_task.o
|
||||
0x0102b850 0x0102b850 0x00000110 Code RO 2952 i.gattc_write_req_ind_handler rdtss_task.o
|
||||
0x0102b960 0x0102b960 0x0000006c Code RO 3072 i.get_cfg_handle rdts_common.o
|
||||
0x0102b9cc 0x0102b9cc 0x00000098 Code RO 5201 i.get_object_item cjson.o
|
||||
0x0102b9cc 0x0102b9cc 0x00000098 Code RO 5204 i.get_object_item cjson.o
|
||||
0x0102ba64 0x0102ba64 0x00000054 Code RO 3073 i.get_value_handle rdts_common.o
|
||||
0x0102bab8 0x0102bab8 0x00000064 Code RO 4883 i.info_adc_init app_info.o
|
||||
0x0102bb1c 0x0102bb1c 0x0000006c Code RO 4884 i.info_adc_read app_info.o
|
||||
0x0102bb88 0x0102bb88 0x00000148 Code RO 4885 i.info_fill_item app_info.o
|
||||
0x0102bcd0 0x0102bcd0 0x0000002c Code RO 4886 i.info_put_tlv app_info.o
|
||||
0x0102bcfc 0x0102bcfc 0x00000030 Code RO 5665 i.infra_cjson_init infra_cjson.o
|
||||
0x0102bd2c 0x0102bd2c 0x00000050 Code RO 6654 i.internal_alloc mc_p.l(mallocr.o)
|
||||
0x0102bd7c 0x0102bd7c 0x00000044 Code RO 4278 i.led_task main.o
|
||||
0x0102bab8 0x0102bab8 0x00000064 Code RO 4886 i.info_adc_init app_info.o
|
||||
0x0102bb1c 0x0102bb1c 0x0000006c Code RO 4887 i.info_adc_read app_info.o
|
||||
0x0102bb88 0x0102bb88 0x00000148 Code RO 4888 i.info_fill_item app_info.o
|
||||
0x0102bcd0 0x0102bcd0 0x0000002c Code RO 4889 i.info_put_tlv app_info.o
|
||||
0x0102bcfc 0x0102bcfc 0x00000030 Code RO 5668 i.infra_cjson_init infra_cjson.o
|
||||
0x0102bd2c 0x0102bd2c 0x00000050 Code RO 6657 i.internal_alloc mc_p.l(mallocr.o)
|
||||
0x0102bd7c 0x0102bd7c 0x00000044 Code RO 4281 i.led_task main.o
|
||||
0x0102bdc0 0x0102bdc0 0x00000030 Code RO 2402 i.llhwc_modem_setmode rwip_driver.o
|
||||
0x0102bdf0 0x0102bdf0 0x00000130 Code RO 2403 i.llhwc_phy_prerx_flash rwip_driver.o
|
||||
0x0102bf20 0x0102bf20 0x00000090 Code RO 2404 i.llhwc_setmode_reg_config rwip_driver.o
|
||||
0x0102bfb0 0x0102bfb0 0x000001a4 Code RO 4279 i.main main.o
|
||||
0x0102bfb0 0x0102bfb0 0x000001a4 Code RO 4282 i.main main.o
|
||||
0x0102c154 0x0102c154 0x0000005c Code RO 3502 i.ns_EXTI4_12_IRQHandler ns_ble.o
|
||||
0x0102c1b0 0x0102c1b0 0x00000028 Code RO 3503 i.ns_HardFault_Handler ns_ble.o
|
||||
0x0102c1d8 0x0102c1d8 0x00000020 Code RO 3505 i.ns_ble_add_prf_func_register ns_ble.o
|
||||
@ -5299,17 +5299,17 @@ Memory Map of the image
|
||||
0x0102d080 0x0102d080 0x00000018 Code RO 3119 i.ns_sleep_lock_acquire ns_sleep.o
|
||||
0x0102d098 0x0102d098 0x00000014 Code RO 3120 i.ns_sleep_lock_release ns_sleep.o
|
||||
0x0102d0ac 0x0102d0ac 0x000000c8 Code RO 3195 i.ns_timer_api_process_handler ns_timer.o
|
||||
0x0102d174 0x0102d174 0x00000024 Code RO 4783 i.ota_ble_sink app_ota.o
|
||||
0x0102d198 0x0102d198 0x0000017c Code RO 4784 i.ota_on_data app_ota.o
|
||||
0x0102d314 0x0102d314 0x000001b0 Code RO 4785 i.ota_on_end app_ota.o
|
||||
0x0102d4c4 0x0102d4c4 0x00000022 Code RO 4786 i.ota_rd32 app_ota.o
|
||||
0x0102d174 0x0102d174 0x00000024 Code RO 4786 i.ota_ble_sink app_ota.o
|
||||
0x0102d198 0x0102d198 0x0000017c Code RO 4787 i.ota_on_data app_ota.o
|
||||
0x0102d314 0x0102d314 0x000001b0 Code RO 4788 i.ota_on_end app_ota.o
|
||||
0x0102d4c4 0x0102d4c4 0x00000022 Code RO 4789 i.ota_rd32 app_ota.o
|
||||
0x0102d4e6 0x0102d4e6 0x00000002 PAD
|
||||
0x0102d4e8 0x0102d4e8 0x000000a0 Code RO 4787 i.ota_respond app_ota.o
|
||||
0x0102d588 0x0102d588 0x00000024 Code RO 4788 i.ota_uart_sink app_ota.o
|
||||
0x0102d5ac 0x0102d5ac 0x000000a8 Code RO 5012 i.params_print_json app_params.o
|
||||
0x0102d654 0x0102d654 0x0000005c Code RO 5013 i.params_save app_params.o
|
||||
0x0102d6b0 0x0102d6b0 0x00000270 Code RO 5202 i.parse_string cjson.o
|
||||
0x0102d920 0x0102d920 0x000003b4 Code RO 5203 i.parse_value cjson.o
|
||||
0x0102d4e8 0x0102d4e8 0x000000a0 Code RO 4790 i.ota_respond app_ota.o
|
||||
0x0102d588 0x0102d588 0x00000024 Code RO 4791 i.ota_uart_sink app_ota.o
|
||||
0x0102d5ac 0x0102d5ac 0x000000a8 Code RO 5015 i.params_print_json app_params.o
|
||||
0x0102d654 0x0102d654 0x0000005c Code RO 5016 i.params_save app_params.o
|
||||
0x0102d6b0 0x0102d6b0 0x00000270 Code RO 5205 i.parse_string cjson.o
|
||||
0x0102d920 0x0102d920 0x000003b4 Code RO 5206 i.parse_value cjson.o
|
||||
0x0102dcd4 0x0102dcd4 0x00000044 Code RO 3552 i.patchx_enable ns_ble.o
|
||||
0x0102dd18 0x0102dd18 0x00000088 Code RO 2583 i.prf_add_profile prf.o
|
||||
0x0102dda0 0x0102dda0 0x00000010 Code RO 2586 i.prf_dst_task_get prf.o
|
||||
@ -5319,21 +5319,21 @@ Memory Map of the image
|
||||
0x0102de40 0x0102de40 0x00000038 Code RO 2590 i.prf_get_task_from_id prf.o
|
||||
0x0102de78 0x0102de78 0x000000b4 Code RO 2591 i.prf_init prf.o
|
||||
0x0102df2c 0x0102df2c 0x00000030 Code RO 2592 i.prf_itf_get prf.o
|
||||
0x0102df5c 0x0102df5c 0x000000be Code RO 5204 i.print cjson.o
|
||||
0x0102df5c 0x0102df5c 0x000000be Code RO 5207 i.print cjson.o
|
||||
0x0102e01a 0x0102e01a 0x00000002 PAD
|
||||
0x0102e01c 0x0102e01c 0x00000120 Code RO 5205 i.print_string_ptr cjson.o
|
||||
0x0102e13c 0x0102e13c 0x000003f8 Code RO 5206 i.print_value cjson.o
|
||||
0x0102e534 0x0102e534 0x00000038 Code RO 4707 i.proto_cli_out app_ble_proto.o
|
||||
0x0102e56c 0x0102e56c 0x00000080 Code RO 4708 i.proto_dump app_ble_proto.o
|
||||
0x0102e5ec 0x0102e5ec 0x00000058 Code RO 5684 i.prvAddCurrentTaskToDelayedList tasks.o
|
||||
0x0102e644 0x0102e644 0x00000058 Code RO 5685 i.prvIdleTask tasks.o
|
||||
0x0102e69c 0x0102e69c 0x00000054 Code RO 6242 i.prvInsertBlockIntoFreeList heap_4.o
|
||||
0x0102e6f0 0x0102e6f0 0x000000cc Code RO 5686 i.prvListTasksWithinSingleList tasks.o
|
||||
0x0102e7bc 0x0102e7bc 0x00000014 Code RO 6289 i.prvTaskExitError port.o
|
||||
0x0102e7d0 0x0102e7d0 0x00000074 Code RO 6013 i.prvUnlockQueue queue.o
|
||||
0x0102e844 0x0102e844 0x000000f4 Code RO 6243 i.pvPortMalloc heap_4.o
|
||||
0x0102e938 0x0102e938 0x00000018 Code RO 5687 i.pvTaskIncrementMutexHeldCount tasks.o
|
||||
0x0102e950 0x0102e950 0x00000024 Code RO 6290 i.pxPortInitialiseStack port.o
|
||||
0x0102e01c 0x0102e01c 0x00000120 Code RO 5208 i.print_string_ptr cjson.o
|
||||
0x0102e13c 0x0102e13c 0x000003f8 Code RO 5209 i.print_value cjson.o
|
||||
0x0102e534 0x0102e534 0x00000038 Code RO 4710 i.proto_cli_out app_ble_proto.o
|
||||
0x0102e56c 0x0102e56c 0x00000080 Code RO 4711 i.proto_dump app_ble_proto.o
|
||||
0x0102e5ec 0x0102e5ec 0x00000058 Code RO 5687 i.prvAddCurrentTaskToDelayedList tasks.o
|
||||
0x0102e644 0x0102e644 0x00000058 Code RO 5688 i.prvIdleTask tasks.o
|
||||
0x0102e69c 0x0102e69c 0x00000054 Code RO 6245 i.prvInsertBlockIntoFreeList heap_4.o
|
||||
0x0102e6f0 0x0102e6f0 0x000000cc Code RO 5689 i.prvListTasksWithinSingleList tasks.o
|
||||
0x0102e7bc 0x0102e7bc 0x00000014 Code RO 6292 i.prvTaskExitError port.o
|
||||
0x0102e7d0 0x0102e7d0 0x00000074 Code RO 6016 i.prvUnlockQueue queue.o
|
||||
0x0102e844 0x0102e844 0x000000f4 Code RO 6246 i.pvPortMalloc heap_4.o
|
||||
0x0102e938 0x0102e938 0x00000018 Code RO 5690 i.pvTaskIncrementMutexHeldCount tasks.o
|
||||
0x0102e950 0x0102e950 0x00000024 Code RO 6293 i.pxPortInitialiseStack port.o
|
||||
0x0102e974 0x0102e974 0x0000003a Code RO 2953 i.rdtss_att_get_value rdtss_task.o
|
||||
0x0102e9ae 0x0102e9ae 0x00000002 PAD
|
||||
0x0102e9b0 0x0102e9b0 0x00000040 Code RO 2954 i.rdtss_att_info_rsp_handler rdtss_task.o
|
||||
@ -5357,54 +5357,54 @@ Memory Map of the image
|
||||
0x0102eee4 0x0102eee4 0x00000124 Code RO 4110 i.rdtss_val_write_ind_handler app_rdtss.o
|
||||
0x0102f008 0x0102f008 0x00000088 Code RO 4111 i.rdtss_value_req_ind_handler app_rdtss.o
|
||||
0x0102f090 0x0102f090 0x00000080 Code RO 2962 i.rdtss_value_req_rsp_handler rdtss_task.o
|
||||
0x0102f110 0x0102f110 0x00000074 Code RO 6655 i.realloc mc_p.l(mallocr.o)
|
||||
0x0102f110 0x0102f110 0x00000074 Code RO 6658 i.realloc mc_p.l(mallocr.o)
|
||||
0x0102f184 0x0102f184 0x00000118 Code RO 2151 i.rwip_init rwip.o
|
||||
0x0102f29c 0x0102f29c 0x000000f8 Code RO 2411 i.rwip_slp_isr rwip_driver.o
|
||||
0x0102f394 0x0102f394 0x0000001c Code RO 6352 i.strtod m_ps.l(strtod.o)
|
||||
0x0102f394 0x0102f394 0x0000001c Code RO 6355 i.strtod m_ps.l(strtod.o)
|
||||
0x0102f3b0 0x0102f3b0 0x00000002 Code RO 3200 i.timer_canceled_handler ns_timer.o
|
||||
0x0102f3b2 0x0102f3b2 0x00000002 Code RO 3201 i.timer_modified_handler ns_timer.o
|
||||
0x0102f3b4 0x0102f3b4 0x00000026 Code RO 6200 i.uxListRemove list.o
|
||||
0x0102f3b4 0x0102f3b4 0x00000026 Code RO 6203 i.uxListRemove list.o
|
||||
0x0102f3da 0x0102f3da 0x00000002 PAD
|
||||
0x0102f3dc 0x0102f3dc 0x0000000c Code RO 5689 i.uxTaskGetNumberOfTasks tasks.o
|
||||
0x0102f3e8 0x0102f3e8 0x00000098 Code RO 5690 i.uxTaskGetSystemState tasks.o
|
||||
0x0102f480 0x0102f480 0x00000020 Code RO 4280 i.vApplicationIdleHook main.o
|
||||
0x0102f4a0 0x0102f4a0 0x00000016 Code RO 6201 i.vListInitialise list.o
|
||||
0x0102f4b6 0x0102f4b6 0x00000006 Code RO 6202 i.vListInitialiseItem list.o
|
||||
0x0102f4bc 0x0102f4bc 0x00000032 Code RO 6203 i.vListInsert list.o
|
||||
0x0102f4ee 0x0102f4ee 0x00000018 Code RO 6204 i.vListInsertEnd list.o
|
||||
0x0102f3dc 0x0102f3dc 0x0000000c Code RO 5692 i.uxTaskGetNumberOfTasks tasks.o
|
||||
0x0102f3e8 0x0102f3e8 0x00000098 Code RO 5693 i.uxTaskGetSystemState tasks.o
|
||||
0x0102f480 0x0102f480 0x00000020 Code RO 4283 i.vApplicationIdleHook main.o
|
||||
0x0102f4a0 0x0102f4a0 0x00000016 Code RO 6204 i.vListInitialise list.o
|
||||
0x0102f4b6 0x0102f4b6 0x00000006 Code RO 6205 i.vListInitialiseItem list.o
|
||||
0x0102f4bc 0x0102f4bc 0x00000032 Code RO 6206 i.vListInsert list.o
|
||||
0x0102f4ee 0x0102f4ee 0x00000018 Code RO 6207 i.vListInsertEnd list.o
|
||||
0x0102f506 0x0102f506 0x00000002 PAD
|
||||
0x0102f508 0x0102f508 0x00000018 Code RO 6292 i.vPortEnterCritical port.o
|
||||
0x0102f520 0x0102f520 0x0000001c Code RO 6293 i.vPortExitCritical port.o
|
||||
0x0102f53c 0x0102f53c 0x00000044 Code RO 6244 i.vPortFree heap_4.o
|
||||
0x0102f580 0x0102f580 0x00000018 Code RO 6294 i.vPortYield port.o
|
||||
0x0102f598 0x0102f598 0x00000030 Code RO 5695 i.vTaskDelay tasks.o
|
||||
0x0102f5c8 0x0102f5c8 0x00000010 Code RO 5700 i.vTaskInternalSetTimeOutState tasks.o
|
||||
0x0102f5d8 0x0102f5d8 0x000000d0 Code RO 5701 i.vTaskList tasks.o
|
||||
0x0102f6a8 0x0102f6a8 0x0000000c Code RO 5702 i.vTaskMissedYield tasks.o
|
||||
0x0102f6b4 0x0102f6b4 0x00000024 Code RO 5704 i.vTaskPlaceOnEventList tasks.o
|
||||
0x0102f6d8 0x0102f6d8 0x00000074 Code RO 5706 i.vTaskPriorityDisinheritAfterTimeout tasks.o
|
||||
0x0102f74c 0x0102f74c 0x00000050 Code RO 5712 i.vTaskStartScheduler tasks.o
|
||||
0x0102f79c 0x0102f79c 0x00000010 Code RO 5714 i.vTaskSuspendAll tasks.o
|
||||
0x0102f7ac 0x0102f7ac 0x00000064 Code RO 5715 i.vTaskSwitchContext tasks.o
|
||||
0x0102f810 0x0102f810 0x0000000c Code RO 6246 i.xPortGetFreeHeapSize heap_4.o
|
||||
0x0102f81c 0x0102f81c 0x0000000c Code RO 6247 i.xPortGetMinimumEverFreeHeapSize heap_4.o
|
||||
0x0102f828 0x0102f828 0x00000050 Code RO 6295 i.xPortStartScheduler port.o
|
||||
0x0102f878 0x0102f878 0x00000024 Code RO 6024 i.xQueueCreateMutex queue.o
|
||||
0x0102f89c 0x0102f89c 0x00000044 Code RO 6025 i.xQueueGenericCreate queue.o
|
||||
0x0102f8e0 0x0102f8e0 0x0000006e Code RO 6026 i.xQueueGenericReset queue.o
|
||||
0x0102f94e 0x0102f94e 0x0000018e Code RO 6027 i.xQueueGenericSend queue.o
|
||||
0x0102fadc 0x0102fadc 0x00000074 Code RO 6031 i.xQueueGiveFromISR queue.o
|
||||
0x0102fb50 0x0102fb50 0x00000142 Code RO 6037 i.xQueueReceive queue.o
|
||||
0x0102fc92 0x0102fc92 0x00000172 Code RO 6039 i.xQueueSemaphoreTake queue.o
|
||||
0x0102fe04 0x0102fe04 0x00000064 Code RO 5716 i.xTaskCheckForTimeOut tasks.o
|
||||
0x0102fe68 0x0102fe68 0x00000178 Code RO 5717 i.xTaskCreate tasks.o
|
||||
0x0102ffe0 0x0102ffe0 0x00000020 Code RO 5721 i.xTaskGetSchedulerState tasks.o
|
||||
0x01030000 0x01030000 0x0000000c Code RO 5722 i.xTaskGetTickCount tasks.o
|
||||
0x0103000c 0x0103000c 0x000000d4 Code RO 5724 i.xTaskIncrementTick tasks.o
|
||||
0x010300e0 0x010300e0 0x00000068 Code RO 5727 i.xTaskPriorityDisinherit tasks.o
|
||||
0x01030148 0x01030148 0x00000078 Code RO 5728 i.xTaskPriorityInherit tasks.o
|
||||
0x010301c0 0x010301c0 0x00000064 Code RO 5729 i.xTaskRemoveFromEventList tasks.o
|
||||
0x01030224 0x01030224 0x000000c8 Code RO 5730 i.xTaskResumeAll tasks.o
|
||||
0x0102f508 0x0102f508 0x00000018 Code RO 6295 i.vPortEnterCritical port.o
|
||||
0x0102f520 0x0102f520 0x0000001c Code RO 6296 i.vPortExitCritical port.o
|
||||
0x0102f53c 0x0102f53c 0x00000044 Code RO 6247 i.vPortFree heap_4.o
|
||||
0x0102f580 0x0102f580 0x00000018 Code RO 6297 i.vPortYield port.o
|
||||
0x0102f598 0x0102f598 0x00000030 Code RO 5698 i.vTaskDelay tasks.o
|
||||
0x0102f5c8 0x0102f5c8 0x00000010 Code RO 5703 i.vTaskInternalSetTimeOutState tasks.o
|
||||
0x0102f5d8 0x0102f5d8 0x000000d0 Code RO 5704 i.vTaskList tasks.o
|
||||
0x0102f6a8 0x0102f6a8 0x0000000c Code RO 5705 i.vTaskMissedYield tasks.o
|
||||
0x0102f6b4 0x0102f6b4 0x00000024 Code RO 5707 i.vTaskPlaceOnEventList tasks.o
|
||||
0x0102f6d8 0x0102f6d8 0x00000074 Code RO 5709 i.vTaskPriorityDisinheritAfterTimeout tasks.o
|
||||
0x0102f74c 0x0102f74c 0x00000050 Code RO 5715 i.vTaskStartScheduler tasks.o
|
||||
0x0102f79c 0x0102f79c 0x00000010 Code RO 5717 i.vTaskSuspendAll tasks.o
|
||||
0x0102f7ac 0x0102f7ac 0x00000064 Code RO 5718 i.vTaskSwitchContext tasks.o
|
||||
0x0102f810 0x0102f810 0x0000000c Code RO 6249 i.xPortGetFreeHeapSize heap_4.o
|
||||
0x0102f81c 0x0102f81c 0x0000000c Code RO 6250 i.xPortGetMinimumEverFreeHeapSize heap_4.o
|
||||
0x0102f828 0x0102f828 0x00000050 Code RO 6298 i.xPortStartScheduler port.o
|
||||
0x0102f878 0x0102f878 0x00000024 Code RO 6027 i.xQueueCreateMutex queue.o
|
||||
0x0102f89c 0x0102f89c 0x00000044 Code RO 6028 i.xQueueGenericCreate queue.o
|
||||
0x0102f8e0 0x0102f8e0 0x0000006e Code RO 6029 i.xQueueGenericReset queue.o
|
||||
0x0102f94e 0x0102f94e 0x0000018e Code RO 6030 i.xQueueGenericSend queue.o
|
||||
0x0102fadc 0x0102fadc 0x00000074 Code RO 6034 i.xQueueGiveFromISR queue.o
|
||||
0x0102fb50 0x0102fb50 0x00000142 Code RO 6040 i.xQueueReceive queue.o
|
||||
0x0102fc92 0x0102fc92 0x00000172 Code RO 6042 i.xQueueSemaphoreTake queue.o
|
||||
0x0102fe04 0x0102fe04 0x00000064 Code RO 5719 i.xTaskCheckForTimeOut tasks.o
|
||||
0x0102fe68 0x0102fe68 0x00000178 Code RO 5720 i.xTaskCreate tasks.o
|
||||
0x0102ffe0 0x0102ffe0 0x00000020 Code RO 5724 i.xTaskGetSchedulerState tasks.o
|
||||
0x01030000 0x01030000 0x0000000c Code RO 5725 i.xTaskGetTickCount tasks.o
|
||||
0x0103000c 0x0103000c 0x000000d4 Code RO 5727 i.xTaskIncrementTick tasks.o
|
||||
0x010300e0 0x010300e0 0x00000068 Code RO 5730 i.xTaskPriorityDisinherit tasks.o
|
||||
0x01030148 0x01030148 0x00000078 Code RO 5731 i.xTaskPriorityInherit tasks.o
|
||||
0x010301c0 0x010301c0 0x00000064 Code RO 5732 i.xTaskRemoveFromEventList tasks.o
|
||||
0x01030224 0x01030224 0x000000c8 Code RO 5733 i.xTaskResumeAll tasks.o
|
||||
0x010302ec 0x010302ec 0x000001d8 Data RO 20 .constdata system_n32wb03x.o
|
||||
0x010304c4 0x010304c4 0x0000000c Data RO 782 .constdata n32wb03x_rcc.o
|
||||
0x010304d0 0x010304d0 0x00000324 Data RO 1952 .constdata n32wb03x_qflash.o
|
||||
@ -5425,17 +5425,17 @@ Memory Map of the image
|
||||
0x01030e0c 0x01030e0c 0x00000136 Data RO 4112 .constdata app_rdtss.o
|
||||
0x01030f42 0x01030f42 0x00000002 PAD
|
||||
0x01030f44 0x01030f44 0x00000018 Data RO 4113 .constdata app_rdtss.o
|
||||
0x01030f5c 0x01030f5c 0x000000cc Data RO 4476 .constdata cli_core.o
|
||||
0x01031028 0x01031028 0x00000007 Data RO 4888 .constdata app_info.o
|
||||
0x0103102f 0x0103102f 0x00000081 Data RO 6747 .constdata mc_p.l(ctype_o.o)
|
||||
0x010310b0 0x010310b0 0x00000004 Data RO 6748 .constdata mc_p.l(ctype_o.o)
|
||||
0x010310b4 0x010310b4 0x00000489 Data RO 4477 .conststring cli_core.o
|
||||
0x01030f5c 0x01030f5c 0x000000cc Data RO 4479 .constdata cli_core.o
|
||||
0x01031028 0x01031028 0x00000007 Data RO 4891 .constdata app_info.o
|
||||
0x0103102f 0x0103102f 0x00000081 Data RO 6750 .constdata mc_p.l(ctype_o.o)
|
||||
0x010310b0 0x010310b0 0x00000004 Data RO 6751 .constdata mc_p.l(ctype_o.o)
|
||||
0x010310b4 0x010310b4 0x00000489 Data RO 4480 .conststring cli_core.o
|
||||
0x0103153d 0x0103153d 0x00000003 PAD
|
||||
0x01031540 0x01031540 0x00000043 Data RO 5015 .conststring app_params.o
|
||||
0x01031540 0x01031540 0x00000043 Data RO 5018 .conststring app_params.o
|
||||
0x01031583 0x01031583 0x00000001 PAD
|
||||
0x01031584 0x01031584 0x00000091 Data RO 5080 .conststring app_bootset.o
|
||||
0x01031584 0x01031584 0x00000091 Data RO 5083 .conststring app_bootset.o
|
||||
0x01031615 0x01031615 0x00000003 PAD
|
||||
0x01031618 0x01031618 0x00000020 Data RO 6809 Region$$Table anon$$obj.o
|
||||
0x01031618 0x01031618 0x00000020 Data RO 6812 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20004000, Load base: 0x01031638, Size: 0x00007de8, Max: 0x0000c000, ABSOLUTE, COMPRESSED[0x00000618])
|
||||
@ -5451,46 +5451,46 @@ Memory Map of the image
|
||||
0x20004734 COMPRESSED 0x00000002 Data RW 3924 .data ns_ble_task.o
|
||||
0x20004736 COMPRESSED 0x00000001 Data RW 3925 .data ns_ble_task.o
|
||||
0x20004737 COMPRESSED 0x00000001 Data RW 4114 .data app_rdtss.o
|
||||
0x20004738 COMPRESSED 0x00000004 Data RW 4281 .data main.o
|
||||
0x2000473c COMPRESSED 0x00000010 Data RW 4390 .data bsp_usart.o
|
||||
0x2000474c COMPRESSED 0x00000004 Data RW 4478 .data cli_core.o
|
||||
0x20004750 COMPRESSED 0x00000003 Data RW 4595 .data app_cli.o
|
||||
0x20004738 COMPRESSED 0x00000004 Data RW 4284 .data main.o
|
||||
0x2000473c COMPRESSED 0x00000010 Data RW 4393 .data bsp_usart.o
|
||||
0x2000474c COMPRESSED 0x00000004 Data RW 4481 .data cli_core.o
|
||||
0x20004750 COMPRESSED 0x00000003 Data RW 4598 .data app_cli.o
|
||||
0x20004753 COMPRESSED 0x00000001 PAD
|
||||
0x20004754 COMPRESSED 0x00000006 Data RW 4641 .data ble_up.o
|
||||
0x2000475a COMPRESSED 0x0000000c Data RW 4710 .data app_ble_proto.o
|
||||
0x20004754 COMPRESSED 0x00000006 Data RW 4644 .data ble_up.o
|
||||
0x2000475a COMPRESSED 0x0000000c Data RW 4713 .data app_ble_proto.o
|
||||
0x20004766 COMPRESSED 0x00000002 PAD
|
||||
0x20004768 COMPRESSED 0x0000003c Data RW 4790 .data app_ota.o
|
||||
0x200047a4 COMPRESSED 0x00000004 Data RW 4889 .data app_info.o
|
||||
0x200047a8 COMPRESSED 0x00000002 Data RW 5016 .data app_params.o
|
||||
0x200047aa COMPRESSED 0x00000001 Data RW 5081 .data app_bootset.o
|
||||
0x20004768 COMPRESSED 0x0000003c Data RW 4793 .data app_ota.o
|
||||
0x200047a4 COMPRESSED 0x00000004 Data RW 4892 .data app_info.o
|
||||
0x200047a8 COMPRESSED 0x00000002 Data RW 5019 .data app_params.o
|
||||
0x200047aa COMPRESSED 0x00000001 Data RW 5084 .data app_bootset.o
|
||||
0x200047ab COMPRESSED 0x00000001 PAD
|
||||
0x200047ac COMPRESSED 0x00000014 Data RW 5209 .data cjson.o
|
||||
0x200047c0 COMPRESSED 0x00000001 Data RW 5666 .data infra_cjson.o
|
||||
0x200047ac COMPRESSED 0x00000014 Data RW 5212 .data cjson.o
|
||||
0x200047c0 COMPRESSED 0x00000001 Data RW 5669 .data infra_cjson.o
|
||||
0x200047c1 COMPRESSED 0x00000003 PAD
|
||||
0x200047c4 COMPRESSED 0x0000003c Data RW 5733 .data tasks.o
|
||||
0x20004800 COMPRESSED 0x00000018 Data RW 6249 .data heap_4.o
|
||||
0x20004818 COMPRESSED 0x00000004 Data RW 6296 .data port.o
|
||||
0x2000481c COMPRESSED 0x00000004 Data RW 6367 .data mc_p.l(rand.o)
|
||||
0x20004820 COMPRESSED 0x00000004 Data RW 6774 .data mc_p.l(mvars.o)
|
||||
0x20004824 COMPRESSED 0x00000004 Data RW 6775 .data mc_p.l(mvars.o)
|
||||
0x20004828 COMPRESSED 0x00000004 Data RW 6779 .data mc_p.l(errno.o)
|
||||
0x200047c4 COMPRESSED 0x0000003c Data RW 5736 .data tasks.o
|
||||
0x20004800 COMPRESSED 0x00000018 Data RW 6252 .data heap_4.o
|
||||
0x20004818 COMPRESSED 0x00000004 Data RW 6299 .data port.o
|
||||
0x2000481c COMPRESSED 0x00000004 Data RW 6370 .data mc_p.l(rand.o)
|
||||
0x20004820 COMPRESSED 0x00000004 Data RW 6777 .data mc_p.l(mvars.o)
|
||||
0x20004824 COMPRESSED 0x00000004 Data RW 6778 .data mc_p.l(mvars.o)
|
||||
0x20004828 COMPRESSED 0x00000004 Data RW 6782 .data mc_p.l(errno.o)
|
||||
0x2000482c - 0x00000034 Zero RW 19 .bss system_n32wb03x.o
|
||||
0x20004860 - 0x00000328 Zero RW 1951 .bss n32wb03x_qflash.o
|
||||
0x20004b88 - 0x0000011c Zero RW 2594 .bss prf.o
|
||||
0x20004ca4 - 0x00000050 Zero RW 3202 .bss ns_timer.o
|
||||
0x20004cf4 - 0x0000005c Zero RW 3278 .bss ns_sec.o
|
||||
0x20004d50 - 0x000001b0 Zero RW 3553 .bss ns_ble.o
|
||||
0x20004f00 - 0x00000c00 Zero RW 4389 .bss bsp_usart.o
|
||||
0x20005b00 - 0x000001e0 Zero RW 4475 .bss cli_core.o
|
||||
0x20005ce0 - 0x00000240 Zero RW 4594 .bss app_cli.o
|
||||
0x20005f20 - 0x00000200 Zero RW 4640 .bss ble_up.o
|
||||
0x20006120 - 0x0000077b Zero RW 4709 .bss app_ble_proto.o
|
||||
0x2000689b - 0x000001f7 Zero RW 4789 .bss app_ota.o
|
||||
0x20006a92 - 0x00000030 Zero RW 4887 .bss app_info.o
|
||||
0x20004f00 - 0x00000c00 Zero RW 4392 .bss bsp_usart.o
|
||||
0x20005b00 - 0x000001e0 Zero RW 4478 .bss cli_core.o
|
||||
0x20005ce0 - 0x00000240 Zero RW 4597 .bss app_cli.o
|
||||
0x20005f20 - 0x00000200 Zero RW 4643 .bss ble_up.o
|
||||
0x20006120 - 0x0000077b Zero RW 4712 .bss app_ble_proto.o
|
||||
0x2000689b - 0x000001f7 Zero RW 4792 .bss app_ota.o
|
||||
0x20006a92 - 0x00000030 Zero RW 4890 .bss app_info.o
|
||||
0x20006ac2 COMPRESSED 0x00000002 PAD
|
||||
0x20006ac4 - 0x00000034 Zero RW 5014 .bss app_params.o
|
||||
0x20006af8 - 0x000000f0 Zero RW 5732 .bss tasks.o
|
||||
0x20006be8 - 0x00004800 Zero RW 6248 .bss heap_4.o
|
||||
0x20006ac4 - 0x00000034 Zero RW 5017 .bss app_params.o
|
||||
0x20006af8 - 0x000000f0 Zero RW 5735 .bss tasks.o
|
||||
0x20006be8 - 0x00004800 Zero RW 6251 .bss heap_4.o
|
||||
0x2000b3e8 - 0x00000200 Zero RW 2 HEAP startup_n32wb03x.o
|
||||
0x2000b5e8 - 0x00000800 Zero RW 1 STACK startup_n32wb03x.o
|
||||
|
||||
@ -5504,12 +5504,12 @@ Image component sizes
|
||||
|
||||
696 188 0 0 0 12840 app_ble.o
|
||||
1204 254 0 12 1915 9528 app_ble_proto.o
|
||||
2032 1156 145 1 0 5563 app_bootset.o
|
||||
2032 1156 145 1 0 5615 app_bootset.o
|
||||
1468 216 0 3 576 6799 app_cli.o
|
||||
284 102 16 0 0 8644 app_dis.o
|
||||
100 12 0 0 0 2298 app_gpio.o
|
||||
868 110 7 4 48 8056 app_info.o
|
||||
1910 160 0 60 503 14978 app_ota.o
|
||||
1910 160 0 60 503 15102 app_ota.o
|
||||
1432 594 67 2 52 7737 app_params.o
|
||||
626 156 334 1 0 6074 app_rdtss.o
|
||||
196 36 0 6 512 2736 ble_up.o
|
||||
@ -5553,7 +5553,7 @@ Image component sizes
|
||||
2552 254 0 60 240 27732 tasks.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
41728 7612 4999 2076 30140 920311 Object Totals
|
||||
41728 7612 4999 2076 30140 920487 Object Totals
|
||||
528 176 32 0 0 0 (incl. Generated)
|
||||
40 0 11 27 2 0 (incl. Padding)
|
||||
|
||||
@ -5647,8 +5647,8 @@ Image component sizes
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||
|
||||
49708 7904 5132 2092 30140 906199 Grand Totals
|
||||
49708 7904 5132 1560 30140 906199 ELF Image Totals (compressed)
|
||||
49708 7904 5132 2092 30140 906375 Grand Totals
|
||||
49708 7904 5132 1560 30140 906375 ELF Image Totals (compressed)
|
||||
49708 7904 5132 1560 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
@ -4829,97 +4829,97 @@ Memory Map of the image
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x01008000 0x01008000 0x000000c0 Data RO 3 RESET startup_n32wb03x.o
|
||||
0x010080c0 0x010080c0 0x00000000 Code RO 6355 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
|
||||
0x010080c0 0x010080c0 0x00000004 Code RO 6724 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
|
||||
0x010080c4 0x010080c4 0x00000004 Code RO 6727 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
|
||||
0x010080c8 0x010080c8 0x00000000 Code RO 6729 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
|
||||
0x010080c8 0x010080c8 0x00000000 Code RO 6731 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
|
||||
0x010080c8 0x010080c8 0x00000008 Code RO 6732 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
|
||||
0x010080d0 0x010080d0 0x00000000 Code RO 6734 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
|
||||
0x010080d0 0x010080d0 0x00000000 Code RO 6736 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
|
||||
0x010080d0 0x010080d0 0x00000004 Code RO 6725 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
|
||||
0x010080c0 0x010080c0 0x00000000 Code RO 6358 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
|
||||
0x010080c0 0x010080c0 0x00000004 Code RO 6727 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
|
||||
0x010080c4 0x010080c4 0x00000004 Code RO 6730 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
|
||||
0x010080c8 0x010080c8 0x00000000 Code RO 6732 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
|
||||
0x010080c8 0x010080c8 0x00000000 Code RO 6734 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
|
||||
0x010080c8 0x010080c8 0x00000008 Code RO 6735 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
|
||||
0x010080d0 0x010080d0 0x00000000 Code RO 6737 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
|
||||
0x010080d0 0x010080d0 0x00000000 Code RO 6739 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
|
||||
0x010080d0 0x010080d0 0x00000004 Code RO 6728 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
|
||||
0x010080d4 0x010080d4 0x0000000e Code RO 10 .emb_text system_n32wb03x.o
|
||||
0x010080e2 0x010080e2 0x00000002 PAD
|
||||
0x010080e4 0x010080e4 0x0000000c Code RO 4672 .emb_text n32wb03x_it.o
|
||||
0x010080f0 0x010080f0 0x00000078 Code RO 6286 .emb_text port.o
|
||||
0x010080e4 0x010080e4 0x0000000c Code RO 4675 .emb_text n32wb03x_it.o
|
||||
0x010080f0 0x010080f0 0x00000078 Code RO 6289 .emb_text port.o
|
||||
0x01008168 0x01008168 0x0000001c Code RO 4 .text startup_n32wb03x.o
|
||||
0x01008184 0x01008184 0x0000002c Code RO 6358 .text mc_p.l(uidiv.o)
|
||||
0x010081b0 0x010081b0 0x00000028 Code RO 6360 .text mc_p.l(idiv.o)
|
||||
0x010081d8 0x010081d8 0x00000060 Code RO 6362 .text mc_p.l(uldiv.o)
|
||||
0x01008238 0x01008238 0x0000000c Code RO 6364 .text mc_p.l(tolower.o)
|
||||
0x01008244 0x01008244 0x00000024 Code RO 6366 .text mc_p.l(rand.o)
|
||||
0x01008268 0x01008268 0x00000024 Code RO 6369 .text mc_p.l(memcpya.o)
|
||||
0x0100828c 0x0100828c 0x00000024 Code RO 6371 .text mc_p.l(memseta.o)
|
||||
0x010082b0 0x010082b0 0x0000000e Code RO 6373 .text mc_p.l(strlen.o)
|
||||
0x010082be 0x010082be 0x0000001c Code RO 6375 .text mc_p.l(strcmp.o)
|
||||
0x010082da 0x010082da 0x00000014 Code RO 6377 .text mc_p.l(memchr.o)
|
||||
0x010082ee 0x010082ee 0x0000001a Code RO 6379 .text mc_p.l(memcmp.o)
|
||||
0x01008308 0x01008308 0x00000012 Code RO 6381 .text mc_p.l(strcpy.o)
|
||||
0x0100831a 0x0100831a 0x0000001e Code RO 6383 .text mc_p.l(strncmp.o)
|
||||
0x01008338 0x01008338 0x0000003c Code RO 6676 .text mc_p.l(__0sscanf.o)
|
||||
0x01008374 0x01008374 0x00000374 Code RO 6678 .text mc_p.l(scanf_fp.o)
|
||||
0x010086e8 0x010086e8 0x00000076 Code RO 6682 .text mc_p.l(strtoul.o)
|
||||
0x0100875e 0x0100875e 0x000000b2 Code RO 6684 .text mf_p.l(fadd.o)
|
||||
0x01008810 0x01008810 0x0000007a Code RO 6686 .text mf_p.l(fmul.o)
|
||||
0x01008184 0x01008184 0x0000002c Code RO 6361 .text mc_p.l(uidiv.o)
|
||||
0x010081b0 0x010081b0 0x00000028 Code RO 6363 .text mc_p.l(idiv.o)
|
||||
0x010081d8 0x010081d8 0x00000060 Code RO 6365 .text mc_p.l(uldiv.o)
|
||||
0x01008238 0x01008238 0x0000000c Code RO 6367 .text mc_p.l(tolower.o)
|
||||
0x01008244 0x01008244 0x00000024 Code RO 6369 .text mc_p.l(rand.o)
|
||||
0x01008268 0x01008268 0x00000024 Code RO 6372 .text mc_p.l(memcpya.o)
|
||||
0x0100828c 0x0100828c 0x00000024 Code RO 6374 .text mc_p.l(memseta.o)
|
||||
0x010082b0 0x010082b0 0x0000000e Code RO 6376 .text mc_p.l(strlen.o)
|
||||
0x010082be 0x010082be 0x0000001c Code RO 6378 .text mc_p.l(strcmp.o)
|
||||
0x010082da 0x010082da 0x00000014 Code RO 6380 .text mc_p.l(memchr.o)
|
||||
0x010082ee 0x010082ee 0x0000001a Code RO 6382 .text mc_p.l(memcmp.o)
|
||||
0x01008308 0x01008308 0x00000012 Code RO 6384 .text mc_p.l(strcpy.o)
|
||||
0x0100831a 0x0100831a 0x0000001e Code RO 6386 .text mc_p.l(strncmp.o)
|
||||
0x01008338 0x01008338 0x0000003c Code RO 6679 .text mc_p.l(__0sscanf.o)
|
||||
0x01008374 0x01008374 0x00000374 Code RO 6681 .text mc_p.l(scanf_fp.o)
|
||||
0x010086e8 0x010086e8 0x00000076 Code RO 6685 .text mc_p.l(strtoul.o)
|
||||
0x0100875e 0x0100875e 0x000000b2 Code RO 6687 .text mf_p.l(fadd.o)
|
||||
0x01008810 0x01008810 0x0000007a Code RO 6689 .text mf_p.l(fmul.o)
|
||||
0x0100888a 0x0100888a 0x00000002 PAD
|
||||
0x0100888c 0x0100888c 0x00000164 Code RO 6690 .text mf_p.l(dadd.o)
|
||||
0x010089f0 0x010089f0 0x000000d0 Code RO 6692 .text mf_p.l(dmul.o)
|
||||
0x01008ac0 0x01008ac0 0x000000f0 Code RO 6694 .text mf_p.l(ddiv.o)
|
||||
0x01008bb0 0x01008bb0 0x0000002c Code RO 6696 .text mf_p.l(dscalb.o)
|
||||
0x01008bdc 0x01008bdc 0x0000000e Code RO 6700 .text mf_p.l(ffltui.o)
|
||||
0x0100888c 0x0100888c 0x00000164 Code RO 6693 .text mf_p.l(dadd.o)
|
||||
0x010089f0 0x010089f0 0x000000d0 Code RO 6695 .text mf_p.l(dmul.o)
|
||||
0x01008ac0 0x01008ac0 0x000000f0 Code RO 6697 .text mf_p.l(ddiv.o)
|
||||
0x01008bb0 0x01008bb0 0x0000002c Code RO 6699 .text mf_p.l(dscalb.o)
|
||||
0x01008bdc 0x01008bdc 0x0000000e Code RO 6703 .text mf_p.l(ffltui.o)
|
||||
0x01008bea 0x01008bea 0x00000002 PAD
|
||||
0x01008bec 0x01008bec 0x00000028 Code RO 6702 .text mf_p.l(dflti.o)
|
||||
0x01008c14 0x01008c14 0x0000001c Code RO 6704 .text mf_p.l(dfltui.o)
|
||||
0x01008c30 0x01008c30 0x0000001c Code RO 6706 .text mf_p.l(dfltul.o)
|
||||
0x01008c4c 0x01008c4c 0x00000032 Code RO 6708 .text mf_p.l(ffixi.o)
|
||||
0x01008bec 0x01008bec 0x00000028 Code RO 6705 .text mf_p.l(dflti.o)
|
||||
0x01008c14 0x01008c14 0x0000001c Code RO 6707 .text mf_p.l(dfltui.o)
|
||||
0x01008c30 0x01008c30 0x0000001c Code RO 6709 .text mf_p.l(dfltul.o)
|
||||
0x01008c4c 0x01008c4c 0x00000032 Code RO 6711 .text mf_p.l(ffixi.o)
|
||||
0x01008c7e 0x01008c7e 0x00000002 PAD
|
||||
0x01008c80 0x01008c80 0x00000048 Code RO 6712 .text mf_p.l(dfixi.o)
|
||||
0x01008cc8 0x01008cc8 0x00000040 Code RO 6714 .text mf_p.l(dfixul.o)
|
||||
0x01008d08 0x01008d08 0x00000028 Code RO 6716 .text mf_p.l(f2d.o)
|
||||
0x01008d30 0x01008d30 0x00000028 Code RO 6718 .text mf_p.l(cdcmple.o)
|
||||
0x01008d58 0x01008d58 0x00000028 Code RO 6720 .text mf_p.l(cdrcmple.o)
|
||||
0x01008d80 0x01008d80 0x00000038 Code RO 6722 .text mf_p.l(d2f.o)
|
||||
0x01008db8 0x01008db8 0x0000007a Code RO 6738 .text mc_p.l(llmul.o)
|
||||
0x01008e32 0x01008e32 0x00000020 Code RO 6740 .text mc_p.l(llshl.o)
|
||||
0x01008e52 0x01008e52 0x00000022 Code RO 6742 .text mc_p.l(llushr.o)
|
||||
0x01008e74 0x01008e74 0x00000026 Code RO 6744 .text mc_p.l(llsshr.o)
|
||||
0x01008c80 0x01008c80 0x00000048 Code RO 6715 .text mf_p.l(dfixi.o)
|
||||
0x01008cc8 0x01008cc8 0x00000040 Code RO 6717 .text mf_p.l(dfixul.o)
|
||||
0x01008d08 0x01008d08 0x00000028 Code RO 6719 .text mf_p.l(f2d.o)
|
||||
0x01008d30 0x01008d30 0x00000028 Code RO 6721 .text mf_p.l(cdcmple.o)
|
||||
0x01008d58 0x01008d58 0x00000028 Code RO 6723 .text mf_p.l(cdrcmple.o)
|
||||
0x01008d80 0x01008d80 0x00000038 Code RO 6725 .text mf_p.l(d2f.o)
|
||||
0x01008db8 0x01008db8 0x0000007a Code RO 6741 .text mc_p.l(llmul.o)
|
||||
0x01008e32 0x01008e32 0x00000020 Code RO 6743 .text mc_p.l(llshl.o)
|
||||
0x01008e52 0x01008e52 0x00000022 Code RO 6745 .text mc_p.l(llushr.o)
|
||||
0x01008e74 0x01008e74 0x00000026 Code RO 6747 .text mc_p.l(llsshr.o)
|
||||
0x01008e9a 0x01008e9a 0x00000002 PAD
|
||||
0x01008e9c 0x01008e9c 0x00000008 Code RO 6746 .text mc_p.l(ctype_o.o)
|
||||
0x01008ea4 0x01008ea4 0x00000012 Code RO 6768 .text mc_p.l(isspace_o.o)
|
||||
0x01008e9c 0x01008e9c 0x00000008 Code RO 6749 .text mc_p.l(ctype_o.o)
|
||||
0x01008ea4 0x01008ea4 0x00000012 Code RO 6771 .text mc_p.l(isspace_o.o)
|
||||
0x01008eb6 0x01008eb6 0x00000002 PAD
|
||||
0x01008eb8 0x01008eb8 0x0000002c Code RO 6783 .text mc_p.l(scanf_char.o)
|
||||
0x01008ee4 0x01008ee4 0x00000044 Code RO 6785 .text mc_p.l(_sgetc.o)
|
||||
0x01008f28 0x01008f28 0x000000a6 Code RO 6787 .text mc_p.l(_strtoul.o)
|
||||
0x01008eb8 0x01008eb8 0x0000002c Code RO 6786 .text mc_p.l(scanf_char.o)
|
||||
0x01008ee4 0x01008ee4 0x00000044 Code RO 6788 .text mc_p.l(_sgetc.o)
|
||||
0x01008f28 0x01008f28 0x000000a6 Code RO 6790 .text mc_p.l(_strtoul.o)
|
||||
0x01008fce 0x01008fce 0x00000002 PAD
|
||||
0x01008fd0 0x01008fd0 0x000000a4 Code RO 6789 .text mc_p.l(strtod.o)
|
||||
0x01009074 0x01009074 0x00000000 Code RO 6791 .text mc_p.l(iusefp.o)
|
||||
0x01009074 0x01009074 0x00000082 Code RO 6792 .text mf_p.l(fepilogue.o)
|
||||
0x010090f6 0x010090f6 0x000000be Code RO 6794 .text mf_p.l(depilogue.o)
|
||||
0x010091b4 0x010091b4 0x00000024 Code RO 6798 .text mc_p.l(init.o)
|
||||
0x010091d8 0x010091d8 0x0000001e Code RO 6802 .text mc_p.l(_chval.o)
|
||||
0x01008fd0 0x01008fd0 0x000000a4 Code RO 6792 .text mc_p.l(strtod.o)
|
||||
0x01009074 0x01009074 0x00000000 Code RO 6794 .text mc_p.l(iusefp.o)
|
||||
0x01009074 0x01009074 0x00000082 Code RO 6795 .text mf_p.l(fepilogue.o)
|
||||
0x010090f6 0x010090f6 0x000000be Code RO 6797 .text mf_p.l(depilogue.o)
|
||||
0x010091b4 0x010091b4 0x00000024 Code RO 6801 .text mc_p.l(init.o)
|
||||
0x010091d8 0x010091d8 0x0000001e Code RO 6805 .text mc_p.l(_chval.o)
|
||||
0x010091f6 0x010091f6 0x00000002 PAD
|
||||
0x010091f8 0x010091f8 0x00000338 Code RO 6804 .text mc_p.l(_scanf.o)
|
||||
0x01009530 0x01009530 0x00000056 Code RO 6811 .text mc_p.l(__dczerorl2.o)
|
||||
0x010091f8 0x010091f8 0x00000338 Code RO 6807 .text mc_p.l(_scanf.o)
|
||||
0x01009530 0x01009530 0x00000056 Code RO 6814 .text mc_p.l(__dczerorl2.o)
|
||||
0x01009586 0x01009586 0x00000002 PAD
|
||||
0x01009588 0x01009588 0x0000000c Ven RO 6813 Veneer$$Code anon$$obj.o
|
||||
0x01009594 0x01009594 0x0000000c Ven RO 6814 Veneer$$Code anon$$obj.o
|
||||
0x010095a0 0x010095a0 0x0000000c Ven RO 6815 Veneer$$Code anon$$obj.o
|
||||
0x010095ac 0x010095ac 0x0000000c Ven RO 6816 Veneer$$Code anon$$obj.o
|
||||
0x010095b8 0x010095b8 0x0000000c Ven RO 6817 Veneer$$Code anon$$obj.o
|
||||
0x010095c4 0x010095c4 0x0000000c Ven RO 6818 Veneer$$Code anon$$obj.o
|
||||
0x010095d0 0x010095d0 0x0000000c Ven RO 6819 Veneer$$Code anon$$obj.o
|
||||
0x010095dc 0x010095dc 0x0000000c Ven RO 6820 Veneer$$Code anon$$obj.o
|
||||
0x010095e8 0x010095e8 0x0000000c Ven RO 6821 Veneer$$Code anon$$obj.o
|
||||
0x010095f4 0x010095f4 0x0000000c Ven RO 6822 Veneer$$Code anon$$obj.o
|
||||
0x01009600 0x01009600 0x0000000c Ven RO 6823 Veneer$$Code anon$$obj.o
|
||||
0x0100960c 0x0100960c 0x0000000c Ven RO 6824 Veneer$$Code anon$$obj.o
|
||||
0x01009618 0x01009618 0x0000000c Ven RO 6825 Veneer$$Code anon$$obj.o
|
||||
0x01009624 0x01009624 0x0000000c Ven RO 6826 Veneer$$Code anon$$obj.o
|
||||
0x01009630 0x01009630 0x0000000c Ven RO 6827 Veneer$$Code anon$$obj.o
|
||||
0x0100963c 0x0100963c 0x0000000c Ven RO 6828 Veneer$$Code anon$$obj.o
|
||||
0x01009648 0x01009648 0x0000000c Ven RO 6829 Veneer$$Code anon$$obj.o
|
||||
0x01009654 0x01009654 0x0000000c Ven RO 6830 Veneer$$Code anon$$obj.o
|
||||
0x01009660 0x01009660 0x0000000c Ven RO 6831 Veneer$$Code anon$$obj.o
|
||||
0x01009588 0x01009588 0x0000000c Ven RO 6816 Veneer$$Code anon$$obj.o
|
||||
0x01009594 0x01009594 0x0000000c Ven RO 6817 Veneer$$Code anon$$obj.o
|
||||
0x010095a0 0x010095a0 0x0000000c Ven RO 6818 Veneer$$Code anon$$obj.o
|
||||
0x010095ac 0x010095ac 0x0000000c Ven RO 6819 Veneer$$Code anon$$obj.o
|
||||
0x010095b8 0x010095b8 0x0000000c Ven RO 6820 Veneer$$Code anon$$obj.o
|
||||
0x010095c4 0x010095c4 0x0000000c Ven RO 6821 Veneer$$Code anon$$obj.o
|
||||
0x010095d0 0x010095d0 0x0000000c Ven RO 6822 Veneer$$Code anon$$obj.o
|
||||
0x010095dc 0x010095dc 0x0000000c Ven RO 6823 Veneer$$Code anon$$obj.o
|
||||
0x010095e8 0x010095e8 0x0000000c Ven RO 6824 Veneer$$Code anon$$obj.o
|
||||
0x010095f4 0x010095f4 0x0000000c Ven RO 6825 Veneer$$Code anon$$obj.o
|
||||
0x01009600 0x01009600 0x0000000c Ven RO 6826 Veneer$$Code anon$$obj.o
|
||||
0x0100960c 0x0100960c 0x0000000c Ven RO 6827 Veneer$$Code anon$$obj.o
|
||||
0x01009618 0x01009618 0x0000000c Ven RO 6828 Veneer$$Code anon$$obj.o
|
||||
0x01009624 0x01009624 0x0000000c Ven RO 6829 Veneer$$Code anon$$obj.o
|
||||
0x01009630 0x01009630 0x0000000c Ven RO 6830 Veneer$$Code anon$$obj.o
|
||||
0x0100963c 0x0100963c 0x0000000c Ven RO 6831 Veneer$$Code anon$$obj.o
|
||||
0x01009648 0x01009648 0x0000000c Ven RO 6832 Veneer$$Code anon$$obj.o
|
||||
0x01009654 0x01009654 0x0000000c Ven RO 6833 Veneer$$Code anon$$obj.o
|
||||
0x01009660 0x01009660 0x0000000c Ven RO 6834 Veneer$$Code anon$$obj.o
|
||||
0x0100966c 0x0100966c 0x00000006 Code RO 192 i.ADC_ClearFlag n32wb03x_adc.o
|
||||
0x01009672 0x01009672 0x0000000e Code RO 194 i.ADC_ConfigChannel n32wb03x_adc.o
|
||||
0x01009680 0x01009680 0x00000054 Code RO 199 i.ADC_ConverValueToTemperature n32wb03x_adc.o
|
||||
@ -4932,25 +4932,25 @@ Memory Map of the image
|
||||
0x0100982c 0x0100982c 0x0000000e Code RO 213 i.ADC_GetFlagStatus n32wb03x_adc.o
|
||||
0x0100983a 0x0100983a 0x00000002 PAD
|
||||
0x0100983c 0x0100983c 0x00000018 Code RO 218 i.ADC_SetOverSampleCounter n32wb03x_adc.o
|
||||
0x01009854 0x01009854 0x000002ec Code RO 5075 i.AppBootset_CmdAppswitch app_bootset.o
|
||||
0x01009b40 0x01009b40 0x00000034 Code RO 5076 i.AppBootset_CmdBsdump app_bootset.o
|
||||
0x01009b74 0x01009b74 0x000002fc Code RO 5077 i.AppBootset_CmdBsset app_bootset.o
|
||||
0x01009e70 0x01009e70 0x00000028 Code RO 4589 i.AppCli_Init app_cli.o
|
||||
0x01009e98 0x01009e98 0x000000c8 Code RO 5006 i.AppParams_CmdAppget app_params.o
|
||||
0x01009f60 0x01009f60 0x0000033c Code RO 5007 i.AppParams_CmdAppset app_params.o
|
||||
0x0100a29c 0x0100a29c 0x00000520 Code RO 4591 i.CliTask app_cli.o
|
||||
0x0100a7bc 0x0100a7bc 0x00000078 Code RO 4457 i.CmdBleLog cli_core.o
|
||||
0x0100a834 0x0100a834 0x00000198 Code RO 4458 i.CmdDevInfo cli_core.o
|
||||
0x0100a9cc 0x0100a9cc 0x00000090 Code RO 4459 i.CmdFactory cli_core.o
|
||||
0x0100aa5c 0x0100aa5c 0x00000044 Code RO 4460 i.CmdHang cli_core.o
|
||||
0x0100aaa0 0x0100aaa0 0x000000d4 Code RO 4461 i.CmdHelp cli_core.o
|
||||
0x0100ab74 0x0100ab74 0x000000d0 Code RO 4462 i.CmdLed cli_core.o
|
||||
0x0100ac44 0x0100ac44 0x00000014 Code RO 4463 i.CmdOta cli_core.o
|
||||
0x0100ac58 0x0100ac58 0x00000034 Code RO 4464 i.CmdReset cli_core.o
|
||||
0x0100ac8c 0x0100ac8c 0x000000e8 Code RO 4465 i.CmdSysInfo cli_core.o
|
||||
0x0100ad74 0x0100ad74 0x00000070 Code RO 4466 i.CmdUartInfo cli_core.o
|
||||
0x0100ade4 0x0100ade4 0x00000044 Code RO 4467 i.CmdUartRst cli_core.o
|
||||
0x0100ae28 0x0100ae28 0x00000098 Code RO 4468 i.CmdVersion cli_core.o
|
||||
0x01009854 0x01009854 0x000002ec Code RO 5078 i.AppBootset_CmdAppswitch app_bootset.o
|
||||
0x01009b40 0x01009b40 0x00000034 Code RO 5079 i.AppBootset_CmdBsdump app_bootset.o
|
||||
0x01009b74 0x01009b74 0x000002fc Code RO 5080 i.AppBootset_CmdBsset app_bootset.o
|
||||
0x01009e70 0x01009e70 0x00000028 Code RO 4592 i.AppCli_Init app_cli.o
|
||||
0x01009e98 0x01009e98 0x000000c8 Code RO 5009 i.AppParams_CmdAppget app_params.o
|
||||
0x01009f60 0x01009f60 0x0000033c Code RO 5010 i.AppParams_CmdAppset app_params.o
|
||||
0x0100a29c 0x0100a29c 0x00000520 Code RO 4594 i.CliTask app_cli.o
|
||||
0x0100a7bc 0x0100a7bc 0x00000078 Code RO 4460 i.CmdBleLog cli_core.o
|
||||
0x0100a834 0x0100a834 0x00000198 Code RO 4461 i.CmdDevInfo cli_core.o
|
||||
0x0100a9cc 0x0100a9cc 0x00000090 Code RO 4462 i.CmdFactory cli_core.o
|
||||
0x0100aa5c 0x0100aa5c 0x00000044 Code RO 4463 i.CmdHang cli_core.o
|
||||
0x0100aaa0 0x0100aaa0 0x000000d4 Code RO 4464 i.CmdHelp cli_core.o
|
||||
0x0100ab74 0x0100ab74 0x000000d0 Code RO 4465 i.CmdLed cli_core.o
|
||||
0x0100ac44 0x0100ac44 0x00000014 Code RO 4466 i.CmdOta cli_core.o
|
||||
0x0100ac58 0x0100ac58 0x00000034 Code RO 4467 i.CmdReset cli_core.o
|
||||
0x0100ac8c 0x0100ac8c 0x000000e8 Code RO 4468 i.CmdSysInfo cli_core.o
|
||||
0x0100ad74 0x0100ad74 0x00000070 Code RO 4469 i.CmdUartInfo cli_core.o
|
||||
0x0100ade4 0x0100ade4 0x00000044 Code RO 4470 i.CmdUartRst cli_core.o
|
||||
0x0100ae28 0x0100ae28 0x00000098 Code RO 4471 i.CmdVersion cli_core.o
|
||||
0x0100aec0 0x0100aec0 0x00000018 Code RO 745 i.DBG_ConfigPeriph n32wb03x_rcc.o
|
||||
0x0100aed8 0x0100aed8 0x00000004 Code RO 487 i.DMA_ClearFlag n32wb03x_dma.o
|
||||
0x0100aedc 0x0100aedc 0x00000088 Code RO 490 i.DMA_DeInit n32wb03x_dma.o
|
||||
@ -4968,16 +4968,16 @@ Memory Map of the image
|
||||
0x0100b14c 0x0100b14c 0x00000004 Code RO 640 i.GPIO_ResetBits n32wb03x_gpio.o
|
||||
0x0100b150 0x0100b150 0x00000004 Code RO 641 i.GPIO_SetBits n32wb03x_gpio.o
|
||||
0x0100b154 0x0100b154 0x00000008 Code RO 642 i.GPIO_TogglePin n32wb03x_gpio.o
|
||||
0x0100b15c 0x0100b15c 0x000000b0 Code RO 4673 i.HardFault_Handler n32wb03x_it.o
|
||||
0x0100b15c 0x0100b15c 0x000000b0 Code RO 4676 i.HardFault_Handler n32wb03x_it.o
|
||||
0x0100b20c 0x0100b20c 0x0000000c Code RO 1986 i.IWDG_CntReload n32wb03x_iwdg.o
|
||||
0x0100b218 0x0100b218 0x00000010 Code RO 1987 i.IWDG_Enable n32wb03x_iwdg.o
|
||||
0x0100b228 0x0100b228 0x00000010 Code RO 1989 i.IWDG_ReloadKey n32wb03x_iwdg.o
|
||||
0x0100b238 0x0100b238 0x0000000c Code RO 1990 i.IWDG_SetPrescalerDiv n32wb03x_iwdg.o
|
||||
0x0100b244 0x0100b244 0x0000000c Code RO 1991 i.IWDG_WriteConfig n32wb03x_iwdg.o
|
||||
0x0100b250 0x0100b250 0x00000008 Code RO 4972 i.LedBlink app_gpio.o
|
||||
0x0100b258 0x0100b258 0x0000004c Code RO 4973 i.LedInit app_gpio.o
|
||||
0x0100b2a4 0x0100b2a4 0x00000008 Code RO 4974 i.LedOff app_gpio.o
|
||||
0x0100b2ac 0x0100b2ac 0x00000008 Code RO 4975 i.LedOn app_gpio.o
|
||||
0x0100b250 0x0100b250 0x00000008 Code RO 4975 i.LedBlink app_gpio.o
|
||||
0x0100b258 0x0100b258 0x0000004c Code RO 4976 i.LedInit app_gpio.o
|
||||
0x0100b2a4 0x0100b2a4 0x00000008 Code RO 4977 i.LedOff app_gpio.o
|
||||
0x0100b2ac 0x0100b2ac 0x00000008 Code RO 4978 i.LedOn app_gpio.o
|
||||
0x0100b2b4 0x0100b2b4 0x00000078 Code RO 159 i.NVIC_Init misc.o
|
||||
0x0100b32c 0x0100b32c 0x000000cc Code RO 11 i.OTPTrim_Read system_n32wb03x.o
|
||||
0x0100b3f8 0x0100b3f8 0x00000024 Code RO 1947 i.Qflash_Erase_Sector n32wb03x_qflash.o
|
||||
@ -4992,13 +4992,13 @@ Memory Map of the image
|
||||
0x0100b504 0x0100b504 0x0000001c Code RO 773 i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL n32wb03x_rcc.o
|
||||
0x0100b520 0x0100b520 0x00000074 Code RO 774 i.RCC_GetClocksFreqValue n32wb03x_rcc.o
|
||||
0x0100b594 0x0100b594 0x00000030 Code RO 775 i.RCC_GetFlagStatus n32wb03x_rcc.o
|
||||
0x0100b5c4 0x0100b5c4 0x00000002 Code RO 6287 i.SVC_Handler port.o
|
||||
0x0100b5c4 0x0100b5c4 0x00000002 Code RO 6290 i.SVC_Handler port.o
|
||||
0x0100b5c6 0x0100b5c6 0x00000002 PAD
|
||||
0x0100b5c8 0x0100b5c8 0x00000024 Code RO 6288 i.SysTick_Handler port.o
|
||||
0x0100b5c8 0x0100b5c8 0x00000024 Code RO 6291 i.SysTick_Handler port.o
|
||||
0x0100b5ec 0x0100b5ec 0x00000034 Code RO 13 i.SystemGetMacAddr system_n32wb03x.o
|
||||
0x0100b620 0x0100b620 0x00000180 Code RO 15 i.SystemInit system_n32wb03x.o
|
||||
0x0100b7a0 0x0100b7a0 0x00000030 Code RO 16 i.SystemTrimValueGet system_n32wb03x.o
|
||||
0x0100b7d0 0x0100b7d0 0x00000008 Code RO 4674 i.USART1_IRQHandler n32wb03x_it.o
|
||||
0x0100b7d0 0x0100b7d0 0x00000008 Code RO 4677 i.USART1_IRQHandler n32wb03x_it.o
|
||||
0x0100b7d8 0x0100b7d8 0x00000032 Code RO 1520 i.USART_ConfigInt n32wb03x_usart.o
|
||||
0x0100b80a 0x0100b80a 0x00000002 PAD
|
||||
0x0100b80c 0x0100b80c 0x0000001c Code RO 1525 i.USART_Enable n32wb03x_usart.o
|
||||
@ -5009,122 +5009,122 @@ Memory Map of the image
|
||||
0x0100b888 0x0100b888 0x00000088 Code RO 1534 i.USART_Init n32wb03x_usart.o
|
||||
0x0100b910 0x0100b910 0x00000008 Code RO 1535 i.USART_ReceiveData n32wb03x_usart.o
|
||||
0x0100b918 0x0100b918 0x00000008 Code RO 1537 i.USART_SendData n32wb03x_usart.o
|
||||
0x0100b920 0x0100b920 0x00000020 Code RO 6620 i.__0printf mc_p.l(printfa.o)
|
||||
0x0100b940 0x0100b940 0x00000028 Code RO 6622 i.__0sprintf mc_p.l(printfa.o)
|
||||
0x0100b968 0x0100b968 0x0000002c Code RO 6625 i.__0vsnprintf mc_p.l(printfa.o)
|
||||
0x0100b994 0x0100b994 0x0000002e Code RO 6796 i.__ARM_clz mf_p.l(depilogue.o)
|
||||
0x0100b920 0x0100b920 0x00000020 Code RO 6623 i.__0printf mc_p.l(printfa.o)
|
||||
0x0100b940 0x0100b940 0x00000028 Code RO 6625 i.__0sprintf mc_p.l(printfa.o)
|
||||
0x0100b968 0x0100b968 0x0000002c Code RO 6628 i.__0vsnprintf mc_p.l(printfa.o)
|
||||
0x0100b994 0x0100b994 0x0000002e Code RO 6799 i.__ARM_clz mf_p.l(depilogue.o)
|
||||
0x0100b9c2 0x0100b9c2 0x00000002 PAD
|
||||
0x0100b9c4 0x0100b9c4 0x00000008 Code RO 6776 i.__aeabi_errno_addr mc_p.l(errno.o)
|
||||
0x0100b9cc 0x0100b9cc 0x00000064 Code RO 6652 i.__free$realloc mc_p.l(mallocr.o)
|
||||
0x0100ba30 0x0100ba30 0x00000048 Code RO 6653 i.__malloc$realloc mc_p.l(mallocr.o)
|
||||
0x0100ba78 0x0100ba78 0x00000174 Code RO 6627 i._fp_digits mc_p.l(printfa.o)
|
||||
0x0100bbec 0x0100bbec 0x0000000e Code RO 6680 i._is_digit mc_p.l(scanf_fp.o)
|
||||
0x0100b9c4 0x0100b9c4 0x00000008 Code RO 6779 i.__aeabi_errno_addr mc_p.l(errno.o)
|
||||
0x0100b9cc 0x0100b9cc 0x00000064 Code RO 6655 i.__free$realloc mc_p.l(mallocr.o)
|
||||
0x0100ba30 0x0100ba30 0x00000048 Code RO 6656 i.__malloc$realloc mc_p.l(mallocr.o)
|
||||
0x0100ba78 0x0100ba78 0x00000174 Code RO 6630 i._fp_digits mc_p.l(printfa.o)
|
||||
0x0100bbec 0x0100bbec 0x0000000e Code RO 6683 i._is_digit mc_p.l(scanf_fp.o)
|
||||
0x0100bbfa 0x0100bbfa 0x00000002 PAD
|
||||
0x0100bbfc 0x0100bbfc 0x000006ec Code RO 6628 i._printf_core mc_p.l(printfa.o)
|
||||
0x0100c2e8 0x0100c2e8 0x00000020 Code RO 6629 i._printf_post_padding mc_p.l(printfa.o)
|
||||
0x0100c308 0x0100c308 0x0000002c Code RO 6630 i._printf_pre_padding mc_p.l(printfa.o)
|
||||
0x0100c334 0x0100c334 0x00000016 Code RO 6631 i._snputc mc_p.l(printfa.o)
|
||||
0x0100c34a 0x0100c34a 0x0000000a Code RO 6632 i._sputc mc_p.l(printfa.o)
|
||||
0x0100c354 0x0100c354 0x00000032 Code RO 5115 i.add_item_to_array cjson.o
|
||||
0x0100c386 0x0100c386 0x00000062 Code RO 5116 i.add_item_to_object cjson.o
|
||||
0x0100c3e8 0x0100c3e8 0x00000074 Code RO 4169 i.app_ble_adv_init app_ble.o
|
||||
0x0100c45c 0x0100c45c 0x00000002 Code RO 4170 i.app_ble_adv_msg_handler app_ble.o
|
||||
0x0100bbfc 0x0100bbfc 0x000006ec Code RO 6631 i._printf_core mc_p.l(printfa.o)
|
||||
0x0100c2e8 0x0100c2e8 0x00000020 Code RO 6632 i._printf_post_padding mc_p.l(printfa.o)
|
||||
0x0100c308 0x0100c308 0x0000002c Code RO 6633 i._printf_pre_padding mc_p.l(printfa.o)
|
||||
0x0100c334 0x0100c334 0x00000016 Code RO 6634 i._snputc mc_p.l(printfa.o)
|
||||
0x0100c34a 0x0100c34a 0x0000000a Code RO 6635 i._sputc mc_p.l(printfa.o)
|
||||
0x0100c354 0x0100c354 0x00000032 Code RO 5118 i.add_item_to_array cjson.o
|
||||
0x0100c386 0x0100c386 0x00000062 Code RO 5119 i.add_item_to_object cjson.o
|
||||
0x0100c3e8 0x0100c3e8 0x00000074 Code RO 4172 i.app_ble_adv_init app_ble.o
|
||||
0x0100c45c 0x0100c45c 0x00000002 Code RO 4173 i.app_ble_adv_msg_handler app_ble.o
|
||||
0x0100c45e 0x0100c45e 0x00000002 PAD
|
||||
0x0100c460 0x0100c460 0x00000044 Code RO 4171 i.app_ble_connected app_ble.o
|
||||
0x0100c4a4 0x0100c4a4 0x0000005c Code RO 4172 i.app_ble_disconnected app_ble.o
|
||||
0x0100c500 0x0100c500 0x00000098 Code RO 4173 i.app_ble_gap_params_init app_ble.o
|
||||
0x0100c598 0x0100c598 0x0000004c Code RO 4174 i.app_ble_init app_ble.o
|
||||
0x0100c5e4 0x0100c5e4 0x0000006c Code RO 4175 i.app_ble_msg_handler app_ble.o
|
||||
0x0100c650 0x0100c650 0x000000ec Code RO 4698 i.app_ble_proto_cli_exec app_ble_proto.o
|
||||
0x0100c73c 0x0100c73c 0x00000040 Code RO 4699 i.app_ble_proto_cli_rsp app_ble_proto.o
|
||||
0x0100c77c 0x0100c77c 0x00000014 Code RO 4700 i.app_ble_proto_init app_ble_proto.o
|
||||
0x0100c790 0x0100c790 0x0000000c Code RO 4701 i.app_ble_proto_log_get app_ble_proto.o
|
||||
0x0100c79c 0x0100c79c 0x00000010 Code RO 4702 i.app_ble_proto_log_set app_ble_proto.o
|
||||
0x0100c7ac 0x0100c7ac 0x0000001c Code RO 4703 i.app_ble_proto_on_disconnect app_ble_proto.o
|
||||
0x0100c7c8 0x0100c7c8 0x000001a0 Code RO 4704 i.app_ble_proto_rx_bytes app_ble_proto.o
|
||||
0x0100c968 0x0100c968 0x000000b8 Code RO 4705 i.app_ble_proto_send_frame app_ble_proto.o
|
||||
0x0100ca20 0x0100ca20 0x00000050 Code RO 4177 i.app_ble_sec_init app_ble.o
|
||||
0x0100ca70 0x0100ca70 0x0000000c Code RO 4592 i.app_cli_ota_mode_enter app_cli.o
|
||||
0x0100c460 0x0100c460 0x00000044 Code RO 4174 i.app_ble_connected app_ble.o
|
||||
0x0100c4a4 0x0100c4a4 0x0000005c Code RO 4175 i.app_ble_disconnected app_ble.o
|
||||
0x0100c500 0x0100c500 0x00000098 Code RO 4176 i.app_ble_gap_params_init app_ble.o
|
||||
0x0100c598 0x0100c598 0x0000004c Code RO 4177 i.app_ble_init app_ble.o
|
||||
0x0100c5e4 0x0100c5e4 0x0000006c Code RO 4178 i.app_ble_msg_handler app_ble.o
|
||||
0x0100c650 0x0100c650 0x000000ec Code RO 4701 i.app_ble_proto_cli_exec app_ble_proto.o
|
||||
0x0100c73c 0x0100c73c 0x00000040 Code RO 4702 i.app_ble_proto_cli_rsp app_ble_proto.o
|
||||
0x0100c77c 0x0100c77c 0x00000014 Code RO 4703 i.app_ble_proto_init app_ble_proto.o
|
||||
0x0100c790 0x0100c790 0x0000000c Code RO 4704 i.app_ble_proto_log_get app_ble_proto.o
|
||||
0x0100c79c 0x0100c79c 0x00000010 Code RO 4705 i.app_ble_proto_log_set app_ble_proto.o
|
||||
0x0100c7ac 0x0100c7ac 0x0000001c Code RO 4706 i.app_ble_proto_on_disconnect app_ble_proto.o
|
||||
0x0100c7c8 0x0100c7c8 0x000001a0 Code RO 4707 i.app_ble_proto_rx_bytes app_ble_proto.o
|
||||
0x0100c968 0x0100c968 0x000000b8 Code RO 4708 i.app_ble_proto_send_frame app_ble_proto.o
|
||||
0x0100ca20 0x0100ca20 0x00000050 Code RO 4180 i.app_ble_sec_init app_ble.o
|
||||
0x0100ca70 0x0100ca70 0x0000000c Code RO 4595 i.app_cli_ota_mode_enter app_cli.o
|
||||
0x0100ca7c 0x0100ca7c 0x00000010 Code RO 3897 i.app_conn_params_update_evt_handler ns_ble_task.o
|
||||
0x0100ca8c 0x0100ca8c 0x000000cc Code RO 3498 i.app_create_advertising ns_ble.o
|
||||
0x0100cb58 0x0100cb58 0x0000005c Code RO 4051 i.app_dis_add_dis app_dis.o
|
||||
0x0100cbb4 0x0100cbb4 0x00000104 Code RO 3898 i.app_entry_point_handler ns_ble_task.o
|
||||
0x0100ccb8 0x0100ccb8 0x00000008 Code RO 4876 i.app_fan_get_rpm app_info.o
|
||||
0x0100ccc0 0x0100ccc0 0x0000005c Code RO 4877 i.app_info_chip_temp_c10 app_info.o
|
||||
0x0100cd1c 0x0100cd1c 0x00000018 Code RO 4878 i.app_info_cur_bank app_info.o
|
||||
0x0100cd34 0x0100cd34 0x0000004c Code RO 4879 i.app_info_handle_query app_info.o
|
||||
0x0100cd80 0x0100cd80 0x0000000c Code RO 4880 i.app_info_last_temp_raw app_info.o
|
||||
0x0100cd8c 0x0100cd8c 0x0000002c Code RO 4881 i.app_info_tlv_snapshot app_info.o
|
||||
0x0100cdb8 0x0100cdb8 0x00000020 Code RO 4882 i.app_info_vdd_mv app_info.o
|
||||
0x0100ccb8 0x0100ccb8 0x00000008 Code RO 4879 i.app_fan_get_rpm app_info.o
|
||||
0x0100ccc0 0x0100ccc0 0x0000005c Code RO 4880 i.app_info_chip_temp_c10 app_info.o
|
||||
0x0100cd1c 0x0100cd1c 0x00000018 Code RO 4881 i.app_info_cur_bank app_info.o
|
||||
0x0100cd34 0x0100cd34 0x0000004c Code RO 4882 i.app_info_handle_query app_info.o
|
||||
0x0100cd80 0x0100cd80 0x0000000c Code RO 4883 i.app_info_last_temp_raw app_info.o
|
||||
0x0100cd8c 0x0100cd8c 0x0000002c Code RO 4884 i.app_info_tlv_snapshot app_info.o
|
||||
0x0100cdb8 0x0100cdb8 0x00000020 Code RO 4885 i.app_info_vdd_mv app_info.o
|
||||
0x0100cdd8 0x0100cdd8 0x0000001c Code RO 3899 i.app_init_timeout_evt_handler ns_ble_task.o
|
||||
0x0100cdf4 0x0100cdf4 0x000000ac Code RO 3900 i.app_lsi_calib_evt_handler ns_ble_task.o
|
||||
0x0100cea0 0x0100cea0 0x00000018 Code RO 4774 i.app_ota_abort app_ota.o
|
||||
0x0100ceb8 0x0100ceb8 0x00000010 Code RO 4775 i.app_ota_chan_idle app_ota.o
|
||||
0x0100cec8 0x0100cec8 0x00000020 Code RO 4776 i.app_ota_chan_rsp_ble app_ota.o
|
||||
0x0100cee8 0x0100cee8 0x00000120 Code RO 4777 i.app_ota_chan_rx app_ota.o
|
||||
0x0100d008 0x0100d008 0x00000010 Code RO 4778 i.app_ota_chan_rx_ble app_ota.o
|
||||
0x0100d018 0x0100d018 0x00000020 Code RO 4779 i.app_ota_chan_rx_uart app_ota.o
|
||||
0x0100d038 0x0100d038 0x00000008 Code RO 4780 i.app_ota_current_bank_base app_ota.o
|
||||
0x0100d040 0x0100d040 0x00000158 Code RO 4781 i.app_ota_handle_frame app_ota.o
|
||||
0x0100d198 0x0100d198 0x00000048 Code RO 4782 i.app_ota_reset_poll app_ota.o
|
||||
0x0100d1e0 0x0100d1e0 0x00000008 Code RO 5008 i.app_params_get app_params.o
|
||||
0x0100d1e8 0x0100d1e8 0x0000005c Code RO 5009 i.app_params_init app_params.o
|
||||
0x0100d244 0x0100d244 0x0000002c Code RO 5011 i.app_params_restore_defaults app_params.o
|
||||
0x0100cea0 0x0100cea0 0x00000018 Code RO 4777 i.app_ota_abort app_ota.o
|
||||
0x0100ceb8 0x0100ceb8 0x00000010 Code RO 4778 i.app_ota_chan_idle app_ota.o
|
||||
0x0100cec8 0x0100cec8 0x00000020 Code RO 4779 i.app_ota_chan_rsp_ble app_ota.o
|
||||
0x0100cee8 0x0100cee8 0x00000120 Code RO 4780 i.app_ota_chan_rx app_ota.o
|
||||
0x0100d008 0x0100d008 0x00000010 Code RO 4781 i.app_ota_chan_rx_ble app_ota.o
|
||||
0x0100d018 0x0100d018 0x00000020 Code RO 4782 i.app_ota_chan_rx_uart app_ota.o
|
||||
0x0100d038 0x0100d038 0x00000008 Code RO 4783 i.app_ota_current_bank_base app_ota.o
|
||||
0x0100d040 0x0100d040 0x00000158 Code RO 4784 i.app_ota_handle_frame app_ota.o
|
||||
0x0100d198 0x0100d198 0x00000048 Code RO 4785 i.app_ota_reset_poll app_ota.o
|
||||
0x0100d1e0 0x0100d1e0 0x00000008 Code RO 5011 i.app_params_get app_params.o
|
||||
0x0100d1e8 0x0100d1e8 0x0000005c Code RO 5012 i.app_params_init app_params.o
|
||||
0x0100d244 0x0100d244 0x0000002c Code RO 5014 i.app_params_restore_defaults app_params.o
|
||||
0x0100d270 0x0100d270 0x00000068 Code RO 4106 i.app_rdtss_add_rdts app_rdtss.o
|
||||
0x0100d2d8 0x0100d2d8 0x00000004 Code RO 3257 i.app_sec_msg_dflt_handler ns_sec.o
|
||||
0x0100d2dc 0x0100d2dc 0x00000078 Code RO 3499 i.app_set_adv_data ns_ble.o
|
||||
0x0100d354 0x0100d354 0x000000c4 Code RO 3500 i.app_set_scan_rsp_data ns_ble.o
|
||||
0x0100d418 0x0100d418 0x00000070 Code RO 3501 i.app_start_advertising ns_ble.o
|
||||
0x0100d488 0x0100d488 0x00000002 Code RO 4178 i.app_user_msg_handler app_ble.o
|
||||
0x0100d488 0x0100d488 0x00000002 Code RO 4181 i.app_user_msg_handler app_ble.o
|
||||
0x0100d48a 0x0100d48a 0x00000002 PAD
|
||||
0x0100d48c 0x0100d48c 0x00000018 Code RO 4275 i.app_wdt_heartbeat main.o
|
||||
0x0100d4a4 0x0100d4a4 0x00000074 Code RO 4276 i.app_wdt_init main.o
|
||||
0x0100d48c 0x0100d48c 0x00000018 Code RO 4278 i.app_wdt_heartbeat main.o
|
||||
0x0100d4a4 0x0100d4a4 0x00000074 Code RO 4279 i.app_wdt_init main.o
|
||||
0x0100d518 0x0100d518 0x000000c0 Code RO 2033 i.attm_att_set_value lib_att.o
|
||||
0x0100d5d8 0x0100d5d8 0x00000028 Code RO 4277 i.ble_schedule_task main.o
|
||||
0x0100d600 0x0100d600 0x00000014 Code RO 4636 i.ble_up_on_cfm ble_up.o
|
||||
0x0100d614 0x0100d614 0x00000058 Code RO 4637 i.ble_up_poll ble_up.o
|
||||
0x0100d66c 0x0100d66c 0x00000010 Code RO 4638 i.ble_up_reset ble_up.o
|
||||
0x0100d67c 0x0100d67c 0x00000048 Code RO 4639 i.ble_up_write ble_up.o
|
||||
0x0100d6c4 0x0100d6c4 0x0000005c Code RO 5078 i.bootset_commit app_bootset.o
|
||||
0x0100d720 0x0100d720 0x00000178 Code RO 5079 i.bootset_print app_bootset.o
|
||||
0x0100d898 0x0100d898 0x000000ec Code RO 4379 i.bsp_usart_init bsp_usart.o
|
||||
0x0100d984 0x0100d984 0x000000ac Code RO 4380 i.bsp_usart_read_byte bsp_usart.o
|
||||
0x0100da30 0x0100da30 0x00000080 Code RO 4381 i.bsp_usart_rx_dma_start bsp_usart.o
|
||||
0x0100dab0 0x0100dab0 0x00000048 Code RO 4383 i.bsp_usart_rx_isr_handler bsp_usart.o
|
||||
0x0100daf8 0x0100daf8 0x00000074 Code RO 4384 i.bsp_usart_set_baud bsp_usart.o
|
||||
0x0100db6c 0x0100db6c 0x00000020 Code RO 4385 i.bsp_usart_tx_lock bsp_usart.o
|
||||
0x0100db8c 0x0100db8c 0x00000024 Code RO 4386 i.bsp_usart_tx_unlock bsp_usart.o
|
||||
0x0100dbb0 0x0100dbb0 0x00000098 Code RO 4387 i.bsp_usart_write_dma bsp_usart.o
|
||||
0x0100dc48 0x0100dc48 0x0000003a Code RO 5117 i.buffer_skip_whitespace cjson.o
|
||||
0x0100d5d8 0x0100d5d8 0x00000028 Code RO 4280 i.ble_schedule_task main.o
|
||||
0x0100d600 0x0100d600 0x00000014 Code RO 4639 i.ble_up_on_cfm ble_up.o
|
||||
0x0100d614 0x0100d614 0x00000058 Code RO 4640 i.ble_up_poll ble_up.o
|
||||
0x0100d66c 0x0100d66c 0x00000010 Code RO 4641 i.ble_up_reset ble_up.o
|
||||
0x0100d67c 0x0100d67c 0x00000048 Code RO 4642 i.ble_up_write ble_up.o
|
||||
0x0100d6c4 0x0100d6c4 0x0000005c Code RO 5081 i.bootset_commit app_bootset.o
|
||||
0x0100d720 0x0100d720 0x00000178 Code RO 5082 i.bootset_print app_bootset.o
|
||||
0x0100d898 0x0100d898 0x000000ec Code RO 4382 i.bsp_usart_init bsp_usart.o
|
||||
0x0100d984 0x0100d984 0x000000ac Code RO 4383 i.bsp_usart_read_byte bsp_usart.o
|
||||
0x0100da30 0x0100da30 0x00000080 Code RO 4384 i.bsp_usart_rx_dma_start bsp_usart.o
|
||||
0x0100dab0 0x0100dab0 0x00000048 Code RO 4386 i.bsp_usart_rx_isr_handler bsp_usart.o
|
||||
0x0100daf8 0x0100daf8 0x00000074 Code RO 4387 i.bsp_usart_set_baud bsp_usart.o
|
||||
0x0100db6c 0x0100db6c 0x00000020 Code RO 4388 i.bsp_usart_tx_lock bsp_usart.o
|
||||
0x0100db8c 0x0100db8c 0x00000024 Code RO 4389 i.bsp_usart_tx_unlock bsp_usart.o
|
||||
0x0100dbb0 0x0100dbb0 0x00000098 Code RO 4390 i.bsp_usart_write_dma bsp_usart.o
|
||||
0x0100dc48 0x0100dc48 0x0000003a Code RO 5120 i.buffer_skip_whitespace cjson.o
|
||||
0x0100dc82 0x0100dc82 0x00000002 PAD
|
||||
0x0100dc84 0x0100dc84 0x00000034 Code RO 5127 i.cJSON_AddNumberToObject cjson.o
|
||||
0x0100dcb8 0x0100dcb8 0x00000064 Code RO 5141 i.cJSON_CreateNumber cjson.o
|
||||
0x0100dd1c 0x0100dd1c 0x00000018 Code RO 5142 i.cJSON_CreateObject cjson.o
|
||||
0x0100dd34 0x0100dd34 0x00000054 Code RO 5149 i.cJSON_Delete cjson.o
|
||||
0x0100dd88 0x0100dd88 0x0000000a Code RO 5162 i.cJSON_GetObjectItem cjson.o
|
||||
0x0100dc84 0x0100dc84 0x00000034 Code RO 5130 i.cJSON_AddNumberToObject cjson.o
|
||||
0x0100dcb8 0x0100dcb8 0x00000064 Code RO 5144 i.cJSON_CreateNumber cjson.o
|
||||
0x0100dd1c 0x0100dd1c 0x00000018 Code RO 5145 i.cJSON_CreateObject cjson.o
|
||||
0x0100dd34 0x0100dd34 0x00000054 Code RO 5152 i.cJSON_Delete cjson.o
|
||||
0x0100dd88 0x0100dd88 0x0000000a Code RO 5165 i.cJSON_GetObjectItem cjson.o
|
||||
0x0100dd92 0x0100dd92 0x00000002 PAD
|
||||
0x0100dd94 0x0100dd94 0x00000050 Code RO 5166 i.cJSON_InitHooks cjson.o
|
||||
0x0100dde4 0x0100dde4 0x00000012 Code RO 5173 i.cJSON_IsNumber cjson.o
|
||||
0x0100ddf6 0x0100ddf6 0x00000012 Code RO 5174 i.cJSON_IsObject cjson.o
|
||||
0x0100de08 0x0100de08 0x00000024 Code RO 5179 i.cJSON_New_Item cjson.o
|
||||
0x0100de2c 0x0100de2c 0x00000022 Code RO 5180 i.cJSON_Parse cjson.o
|
||||
0x0100dd94 0x0100dd94 0x00000050 Code RO 5169 i.cJSON_InitHooks cjson.o
|
||||
0x0100dde4 0x0100dde4 0x00000012 Code RO 5176 i.cJSON_IsNumber cjson.o
|
||||
0x0100ddf6 0x0100ddf6 0x00000012 Code RO 5177 i.cJSON_IsObject cjson.o
|
||||
0x0100de08 0x0100de08 0x00000024 Code RO 5182 i.cJSON_New_Item cjson.o
|
||||
0x0100de2c 0x0100de2c 0x00000022 Code RO 5183 i.cJSON_Parse cjson.o
|
||||
0x0100de4e 0x0100de4e 0x00000002 PAD
|
||||
0x0100de50 0x0100de50 0x000000ec Code RO 5182 i.cJSON_ParseWithLengthOpts cjson.o
|
||||
0x0100df3c 0x0100df3c 0x00000010 Code RO 5187 i.cJSON_PrintUnformatted cjson.o
|
||||
0x0100df4c 0x0100df4c 0x0000000c Code RO 5195 i.cJSON_free cjson.o
|
||||
0x0100df58 0x0100df58 0x00000028 Code RO 5197 i.cJSON_strdup cjson.o
|
||||
0x0100df80 0x0100df80 0x00000034 Code RO 4959 i.caiic_crc32 boot_crc32.o
|
||||
0x0100de50 0x0100de50 0x000000ec Code RO 5185 i.cJSON_ParseWithLengthOpts cjson.o
|
||||
0x0100df3c 0x0100df3c 0x00000010 Code RO 5190 i.cJSON_PrintUnformatted cjson.o
|
||||
0x0100df4c 0x0100df4c 0x0000000c Code RO 5198 i.cJSON_free cjson.o
|
||||
0x0100df58 0x0100df58 0x00000028 Code RO 5200 i.cJSON_strdup cjson.o
|
||||
0x0100df80 0x0100df80 0x00000034 Code RO 4962 i.caiic_crc32 boot_crc32.o
|
||||
0x0100dfb4 0x0100dfb4 0x0000002a Code RO 3071 i.check_client_char_cfg rdts_common.o
|
||||
0x0100dfde 0x0100dfde 0x00000004 Code RO 4469 i.cli_cmd_count cli_core.o
|
||||
0x0100dfde 0x0100dfde 0x00000004 Code RO 4472 i.cli_cmd_count cli_core.o
|
||||
0x0100dfe2 0x0100dfe2 0x00000002 PAD
|
||||
0x0100dfe4 0x0100dfe4 0x00000018 Code RO 4470 i.cli_cmd_name cli_core.o
|
||||
0x0100dffc 0x0100dffc 0x000000b4 Code RO 4471 i.cli_exec_line cli_core.o
|
||||
0x0100e0b0 0x0100e0b0 0x0000002c Code RO 4472 i.cli_printf cli_core.o
|
||||
0x0100e0dc 0x0100e0dc 0x00000068 Code RO 4593 i.cli_redraw_line app_cli.o
|
||||
0x0100e144 0x0100e144 0x0000002c Code RO 4706 i.cli_rsp_out app_ble_proto.o
|
||||
0x0100e170 0x0100e170 0x0000000c Code RO 4473 i.cli_set_output cli_core.o
|
||||
0x0100e17c 0x0100e17c 0x00000024 Code RO 4474 i.cli_write cli_core.o
|
||||
0x0100e1a0 0x0100e1a0 0x0000005c Code RO 5198 i.compare_double cjson.o
|
||||
0x0100dfe4 0x0100dfe4 0x00000018 Code RO 4473 i.cli_cmd_name cli_core.o
|
||||
0x0100dffc 0x0100dffc 0x000000b4 Code RO 4474 i.cli_exec_line cli_core.o
|
||||
0x0100e0b0 0x0100e0b0 0x0000002c Code RO 4475 i.cli_printf cli_core.o
|
||||
0x0100e0dc 0x0100e0dc 0x00000068 Code RO 4596 i.cli_redraw_line app_cli.o
|
||||
0x0100e144 0x0100e144 0x0000002c Code RO 4709 i.cli_rsp_out app_ble_proto.o
|
||||
0x0100e170 0x0100e170 0x0000000c Code RO 4476 i.cli_set_output cli_core.o
|
||||
0x0100e17c 0x0100e17c 0x00000024 Code RO 4477 i.cli_write cli_core.o
|
||||
0x0100e1a0 0x0100e1a0 0x0000005c Code RO 5201 i.compare_double cjson.o
|
||||
0x0100e1fc 0x0100e1fc 0x0000002a Code RO 2709 i.diss_check_val_len diss.o
|
||||
0x0100e226 0x0100e226 0x00000002 Code RO 2710 i.diss_cleanup diss.o
|
||||
0x0100e228 0x0100e228 0x00000002 Code RO 2712 i.diss_create diss.o
|
||||
@ -5138,9 +5138,9 @@ Memory Map of the image
|
||||
0x0100e47c 0x0100e47c 0x000000c0 Code RO 4053 i.diss_value_req_ind_handler app_dis.o
|
||||
0x0100e53c 0x0100e53c 0x0000003a Code RO 2717 i.diss_value_to_handle diss.o
|
||||
0x0100e576 0x0100e576 0x00000002 PAD
|
||||
0x0100e578 0x0100e578 0x00000060 Code RO 5682 i.eTaskGetState tasks.o
|
||||
0x0100e5d8 0x0100e5d8 0x00000098 Code RO 5200 i.ensure cjson.o
|
||||
0x0100e670 0x0100e670 0x0000003c Code RO 4388 i.fputc bsp_usart.o
|
||||
0x0100e578 0x0100e578 0x00000060 Code RO 5685 i.eTaskGetState tasks.o
|
||||
0x0100e5d8 0x0100e5d8 0x00000098 Code RO 5203 i.ensure cjson.o
|
||||
0x0100e670 0x0100e670 0x0000003c Code RO 4391 i.fputc bsp_usart.o
|
||||
0x0100e6ac 0x0100e6ac 0x000000f0 Code RO 3258 i.gapc_bond_ind_handler ns_sec.o
|
||||
0x0100e79c 0x0100e79c 0x00000208 Code RO 3259 i.gapc_bond_req_ind_handler ns_sec.o
|
||||
0x0100e9a4 0x0100e9a4 0x00000028 Code RO 3901 i.gapc_cmp_evt_handler ns_ble_task.o
|
||||
@ -5172,19 +5172,19 @@ Memory Map of the image
|
||||
0x0100f644 0x0100f644 0x000000e0 Code RO 2951 i.gattc_read_req_ind_handler rdtss_task.o
|
||||
0x0100f724 0x0100f724 0x00000110 Code RO 2952 i.gattc_write_req_ind_handler rdtss_task.o
|
||||
0x0100f834 0x0100f834 0x0000006c Code RO 3072 i.get_cfg_handle rdts_common.o
|
||||
0x0100f8a0 0x0100f8a0 0x00000098 Code RO 5201 i.get_object_item cjson.o
|
||||
0x0100f8a0 0x0100f8a0 0x00000098 Code RO 5204 i.get_object_item cjson.o
|
||||
0x0100f938 0x0100f938 0x00000054 Code RO 3073 i.get_value_handle rdts_common.o
|
||||
0x0100f98c 0x0100f98c 0x00000064 Code RO 4883 i.info_adc_init app_info.o
|
||||
0x0100f9f0 0x0100f9f0 0x0000006c Code RO 4884 i.info_adc_read app_info.o
|
||||
0x0100fa5c 0x0100fa5c 0x00000148 Code RO 4885 i.info_fill_item app_info.o
|
||||
0x0100fba4 0x0100fba4 0x0000002c Code RO 4886 i.info_put_tlv app_info.o
|
||||
0x0100fbd0 0x0100fbd0 0x00000030 Code RO 5665 i.infra_cjson_init infra_cjson.o
|
||||
0x0100fc00 0x0100fc00 0x00000050 Code RO 6654 i.internal_alloc mc_p.l(mallocr.o)
|
||||
0x0100fc50 0x0100fc50 0x00000044 Code RO 4278 i.led_task main.o
|
||||
0x0100f98c 0x0100f98c 0x00000064 Code RO 4886 i.info_adc_init app_info.o
|
||||
0x0100f9f0 0x0100f9f0 0x0000006c Code RO 4887 i.info_adc_read app_info.o
|
||||
0x0100fa5c 0x0100fa5c 0x00000148 Code RO 4888 i.info_fill_item app_info.o
|
||||
0x0100fba4 0x0100fba4 0x0000002c Code RO 4889 i.info_put_tlv app_info.o
|
||||
0x0100fbd0 0x0100fbd0 0x00000030 Code RO 5668 i.infra_cjson_init infra_cjson.o
|
||||
0x0100fc00 0x0100fc00 0x00000050 Code RO 6657 i.internal_alloc mc_p.l(mallocr.o)
|
||||
0x0100fc50 0x0100fc50 0x00000044 Code RO 4281 i.led_task main.o
|
||||
0x0100fc94 0x0100fc94 0x00000030 Code RO 2402 i.llhwc_modem_setmode rwip_driver.o
|
||||
0x0100fcc4 0x0100fcc4 0x00000130 Code RO 2403 i.llhwc_phy_prerx_flash rwip_driver.o
|
||||
0x0100fdf4 0x0100fdf4 0x00000090 Code RO 2404 i.llhwc_setmode_reg_config rwip_driver.o
|
||||
0x0100fe84 0x0100fe84 0x000001a4 Code RO 4279 i.main main.o
|
||||
0x0100fe84 0x0100fe84 0x000001a4 Code RO 4282 i.main main.o
|
||||
0x01010028 0x01010028 0x0000005c Code RO 3502 i.ns_EXTI4_12_IRQHandler ns_ble.o
|
||||
0x01010084 0x01010084 0x00000028 Code RO 3503 i.ns_HardFault_Handler ns_ble.o
|
||||
0x010100ac 0x010100ac 0x00000020 Code RO 3505 i.ns_ble_add_prf_func_register ns_ble.o
|
||||
@ -5224,17 +5224,17 @@ Memory Map of the image
|
||||
0x01010f54 0x01010f54 0x00000018 Code RO 3119 i.ns_sleep_lock_acquire ns_sleep.o
|
||||
0x01010f6c 0x01010f6c 0x00000014 Code RO 3120 i.ns_sleep_lock_release ns_sleep.o
|
||||
0x01010f80 0x01010f80 0x000000c8 Code RO 3195 i.ns_timer_api_process_handler ns_timer.o
|
||||
0x01011048 0x01011048 0x00000024 Code RO 4783 i.ota_ble_sink app_ota.o
|
||||
0x0101106c 0x0101106c 0x0000017c Code RO 4784 i.ota_on_data app_ota.o
|
||||
0x010111e8 0x010111e8 0x000001b0 Code RO 4785 i.ota_on_end app_ota.o
|
||||
0x01011398 0x01011398 0x00000022 Code RO 4786 i.ota_rd32 app_ota.o
|
||||
0x01011048 0x01011048 0x00000024 Code RO 4786 i.ota_ble_sink app_ota.o
|
||||
0x0101106c 0x0101106c 0x0000017c Code RO 4787 i.ota_on_data app_ota.o
|
||||
0x010111e8 0x010111e8 0x000001b0 Code RO 4788 i.ota_on_end app_ota.o
|
||||
0x01011398 0x01011398 0x00000022 Code RO 4789 i.ota_rd32 app_ota.o
|
||||
0x010113ba 0x010113ba 0x00000002 PAD
|
||||
0x010113bc 0x010113bc 0x000000a0 Code RO 4787 i.ota_respond app_ota.o
|
||||
0x0101145c 0x0101145c 0x00000024 Code RO 4788 i.ota_uart_sink app_ota.o
|
||||
0x01011480 0x01011480 0x000000a8 Code RO 5012 i.params_print_json app_params.o
|
||||
0x01011528 0x01011528 0x0000005c Code RO 5013 i.params_save app_params.o
|
||||
0x01011584 0x01011584 0x00000270 Code RO 5202 i.parse_string cjson.o
|
||||
0x010117f4 0x010117f4 0x000003b4 Code RO 5203 i.parse_value cjson.o
|
||||
0x010113bc 0x010113bc 0x000000a0 Code RO 4790 i.ota_respond app_ota.o
|
||||
0x0101145c 0x0101145c 0x00000024 Code RO 4791 i.ota_uart_sink app_ota.o
|
||||
0x01011480 0x01011480 0x000000a8 Code RO 5015 i.params_print_json app_params.o
|
||||
0x01011528 0x01011528 0x0000005c Code RO 5016 i.params_save app_params.o
|
||||
0x01011584 0x01011584 0x00000270 Code RO 5205 i.parse_string cjson.o
|
||||
0x010117f4 0x010117f4 0x000003b4 Code RO 5206 i.parse_value cjson.o
|
||||
0x01011ba8 0x01011ba8 0x00000044 Code RO 3552 i.patchx_enable ns_ble.o
|
||||
0x01011bec 0x01011bec 0x00000088 Code RO 2583 i.prf_add_profile prf.o
|
||||
0x01011c74 0x01011c74 0x00000010 Code RO 2586 i.prf_dst_task_get prf.o
|
||||
@ -5244,21 +5244,21 @@ Memory Map of the image
|
||||
0x01011d14 0x01011d14 0x00000038 Code RO 2590 i.prf_get_task_from_id prf.o
|
||||
0x01011d4c 0x01011d4c 0x000000b4 Code RO 2591 i.prf_init prf.o
|
||||
0x01011e00 0x01011e00 0x00000030 Code RO 2592 i.prf_itf_get prf.o
|
||||
0x01011e30 0x01011e30 0x000000be Code RO 5204 i.print cjson.o
|
||||
0x01011e30 0x01011e30 0x000000be Code RO 5207 i.print cjson.o
|
||||
0x01011eee 0x01011eee 0x00000002 PAD
|
||||
0x01011ef0 0x01011ef0 0x00000120 Code RO 5205 i.print_string_ptr cjson.o
|
||||
0x01012010 0x01012010 0x000003f8 Code RO 5206 i.print_value cjson.o
|
||||
0x01012408 0x01012408 0x00000038 Code RO 4707 i.proto_cli_out app_ble_proto.o
|
||||
0x01012440 0x01012440 0x00000080 Code RO 4708 i.proto_dump app_ble_proto.o
|
||||
0x010124c0 0x010124c0 0x00000058 Code RO 5684 i.prvAddCurrentTaskToDelayedList tasks.o
|
||||
0x01012518 0x01012518 0x00000058 Code RO 5685 i.prvIdleTask tasks.o
|
||||
0x01012570 0x01012570 0x00000054 Code RO 6242 i.prvInsertBlockIntoFreeList heap_4.o
|
||||
0x010125c4 0x010125c4 0x000000cc Code RO 5686 i.prvListTasksWithinSingleList tasks.o
|
||||
0x01012690 0x01012690 0x00000014 Code RO 6289 i.prvTaskExitError port.o
|
||||
0x010126a4 0x010126a4 0x00000074 Code RO 6013 i.prvUnlockQueue queue.o
|
||||
0x01012718 0x01012718 0x000000f4 Code RO 6243 i.pvPortMalloc heap_4.o
|
||||
0x0101280c 0x0101280c 0x00000018 Code RO 5687 i.pvTaskIncrementMutexHeldCount tasks.o
|
||||
0x01012824 0x01012824 0x00000024 Code RO 6290 i.pxPortInitialiseStack port.o
|
||||
0x01011ef0 0x01011ef0 0x00000120 Code RO 5208 i.print_string_ptr cjson.o
|
||||
0x01012010 0x01012010 0x000003f8 Code RO 5209 i.print_value cjson.o
|
||||
0x01012408 0x01012408 0x00000038 Code RO 4710 i.proto_cli_out app_ble_proto.o
|
||||
0x01012440 0x01012440 0x00000080 Code RO 4711 i.proto_dump app_ble_proto.o
|
||||
0x010124c0 0x010124c0 0x00000058 Code RO 5687 i.prvAddCurrentTaskToDelayedList tasks.o
|
||||
0x01012518 0x01012518 0x00000058 Code RO 5688 i.prvIdleTask tasks.o
|
||||
0x01012570 0x01012570 0x00000054 Code RO 6245 i.prvInsertBlockIntoFreeList heap_4.o
|
||||
0x010125c4 0x010125c4 0x000000cc Code RO 5689 i.prvListTasksWithinSingleList tasks.o
|
||||
0x01012690 0x01012690 0x00000014 Code RO 6292 i.prvTaskExitError port.o
|
||||
0x010126a4 0x010126a4 0x00000074 Code RO 6016 i.prvUnlockQueue queue.o
|
||||
0x01012718 0x01012718 0x000000f4 Code RO 6246 i.pvPortMalloc heap_4.o
|
||||
0x0101280c 0x0101280c 0x00000018 Code RO 5690 i.pvTaskIncrementMutexHeldCount tasks.o
|
||||
0x01012824 0x01012824 0x00000024 Code RO 6293 i.pxPortInitialiseStack port.o
|
||||
0x01012848 0x01012848 0x0000003a Code RO 2953 i.rdtss_att_get_value rdtss_task.o
|
||||
0x01012882 0x01012882 0x00000002 PAD
|
||||
0x01012884 0x01012884 0x00000040 Code RO 2954 i.rdtss_att_info_rsp_handler rdtss_task.o
|
||||
@ -5282,54 +5282,54 @@ Memory Map of the image
|
||||
0x01012db8 0x01012db8 0x00000124 Code RO 4110 i.rdtss_val_write_ind_handler app_rdtss.o
|
||||
0x01012edc 0x01012edc 0x00000088 Code RO 4111 i.rdtss_value_req_ind_handler app_rdtss.o
|
||||
0x01012f64 0x01012f64 0x00000080 Code RO 2962 i.rdtss_value_req_rsp_handler rdtss_task.o
|
||||
0x01012fe4 0x01012fe4 0x00000074 Code RO 6655 i.realloc mc_p.l(mallocr.o)
|
||||
0x01012fe4 0x01012fe4 0x00000074 Code RO 6658 i.realloc mc_p.l(mallocr.o)
|
||||
0x01013058 0x01013058 0x00000118 Code RO 2151 i.rwip_init rwip.o
|
||||
0x01013170 0x01013170 0x000000f8 Code RO 2411 i.rwip_slp_isr rwip_driver.o
|
||||
0x01013268 0x01013268 0x0000001c Code RO 6352 i.strtod m_ps.l(strtod.o)
|
||||
0x01013268 0x01013268 0x0000001c Code RO 6355 i.strtod m_ps.l(strtod.o)
|
||||
0x01013284 0x01013284 0x00000002 Code RO 3200 i.timer_canceled_handler ns_timer.o
|
||||
0x01013286 0x01013286 0x00000002 Code RO 3201 i.timer_modified_handler ns_timer.o
|
||||
0x01013288 0x01013288 0x00000026 Code RO 6200 i.uxListRemove list.o
|
||||
0x01013288 0x01013288 0x00000026 Code RO 6203 i.uxListRemove list.o
|
||||
0x010132ae 0x010132ae 0x00000002 PAD
|
||||
0x010132b0 0x010132b0 0x0000000c Code RO 5689 i.uxTaskGetNumberOfTasks tasks.o
|
||||
0x010132bc 0x010132bc 0x00000098 Code RO 5690 i.uxTaskGetSystemState tasks.o
|
||||
0x01013354 0x01013354 0x00000020 Code RO 4280 i.vApplicationIdleHook main.o
|
||||
0x01013374 0x01013374 0x00000016 Code RO 6201 i.vListInitialise list.o
|
||||
0x0101338a 0x0101338a 0x00000006 Code RO 6202 i.vListInitialiseItem list.o
|
||||
0x01013390 0x01013390 0x00000032 Code RO 6203 i.vListInsert list.o
|
||||
0x010133c2 0x010133c2 0x00000018 Code RO 6204 i.vListInsertEnd list.o
|
||||
0x010132b0 0x010132b0 0x0000000c Code RO 5692 i.uxTaskGetNumberOfTasks tasks.o
|
||||
0x010132bc 0x010132bc 0x00000098 Code RO 5693 i.uxTaskGetSystemState tasks.o
|
||||
0x01013354 0x01013354 0x00000020 Code RO 4283 i.vApplicationIdleHook main.o
|
||||
0x01013374 0x01013374 0x00000016 Code RO 6204 i.vListInitialise list.o
|
||||
0x0101338a 0x0101338a 0x00000006 Code RO 6205 i.vListInitialiseItem list.o
|
||||
0x01013390 0x01013390 0x00000032 Code RO 6206 i.vListInsert list.o
|
||||
0x010133c2 0x010133c2 0x00000018 Code RO 6207 i.vListInsertEnd list.o
|
||||
0x010133da 0x010133da 0x00000002 PAD
|
||||
0x010133dc 0x010133dc 0x00000018 Code RO 6292 i.vPortEnterCritical port.o
|
||||
0x010133f4 0x010133f4 0x0000001c Code RO 6293 i.vPortExitCritical port.o
|
||||
0x01013410 0x01013410 0x00000044 Code RO 6244 i.vPortFree heap_4.o
|
||||
0x01013454 0x01013454 0x00000018 Code RO 6294 i.vPortYield port.o
|
||||
0x0101346c 0x0101346c 0x00000030 Code RO 5695 i.vTaskDelay tasks.o
|
||||
0x0101349c 0x0101349c 0x00000010 Code RO 5700 i.vTaskInternalSetTimeOutState tasks.o
|
||||
0x010134ac 0x010134ac 0x000000d0 Code RO 5701 i.vTaskList tasks.o
|
||||
0x0101357c 0x0101357c 0x0000000c Code RO 5702 i.vTaskMissedYield tasks.o
|
||||
0x01013588 0x01013588 0x00000024 Code RO 5704 i.vTaskPlaceOnEventList tasks.o
|
||||
0x010135ac 0x010135ac 0x00000074 Code RO 5706 i.vTaskPriorityDisinheritAfterTimeout tasks.o
|
||||
0x01013620 0x01013620 0x00000050 Code RO 5712 i.vTaskStartScheduler tasks.o
|
||||
0x01013670 0x01013670 0x00000010 Code RO 5714 i.vTaskSuspendAll tasks.o
|
||||
0x01013680 0x01013680 0x00000064 Code RO 5715 i.vTaskSwitchContext tasks.o
|
||||
0x010136e4 0x010136e4 0x0000000c Code RO 6246 i.xPortGetFreeHeapSize heap_4.o
|
||||
0x010136f0 0x010136f0 0x0000000c Code RO 6247 i.xPortGetMinimumEverFreeHeapSize heap_4.o
|
||||
0x010136fc 0x010136fc 0x00000050 Code RO 6295 i.xPortStartScheduler port.o
|
||||
0x0101374c 0x0101374c 0x00000024 Code RO 6024 i.xQueueCreateMutex queue.o
|
||||
0x01013770 0x01013770 0x00000044 Code RO 6025 i.xQueueGenericCreate queue.o
|
||||
0x010137b4 0x010137b4 0x0000006e Code RO 6026 i.xQueueGenericReset queue.o
|
||||
0x01013822 0x01013822 0x0000018e Code RO 6027 i.xQueueGenericSend queue.o
|
||||
0x010139b0 0x010139b0 0x00000074 Code RO 6031 i.xQueueGiveFromISR queue.o
|
||||
0x01013a24 0x01013a24 0x00000142 Code RO 6037 i.xQueueReceive queue.o
|
||||
0x01013b66 0x01013b66 0x00000172 Code RO 6039 i.xQueueSemaphoreTake queue.o
|
||||
0x01013cd8 0x01013cd8 0x00000064 Code RO 5716 i.xTaskCheckForTimeOut tasks.o
|
||||
0x01013d3c 0x01013d3c 0x00000178 Code RO 5717 i.xTaskCreate tasks.o
|
||||
0x01013eb4 0x01013eb4 0x00000020 Code RO 5721 i.xTaskGetSchedulerState tasks.o
|
||||
0x01013ed4 0x01013ed4 0x0000000c Code RO 5722 i.xTaskGetTickCount tasks.o
|
||||
0x01013ee0 0x01013ee0 0x000000d4 Code RO 5724 i.xTaskIncrementTick tasks.o
|
||||
0x01013fb4 0x01013fb4 0x00000068 Code RO 5727 i.xTaskPriorityDisinherit tasks.o
|
||||
0x0101401c 0x0101401c 0x00000078 Code RO 5728 i.xTaskPriorityInherit tasks.o
|
||||
0x01014094 0x01014094 0x00000064 Code RO 5729 i.xTaskRemoveFromEventList tasks.o
|
||||
0x010140f8 0x010140f8 0x000000c8 Code RO 5730 i.xTaskResumeAll tasks.o
|
||||
0x010133dc 0x010133dc 0x00000018 Code RO 6295 i.vPortEnterCritical port.o
|
||||
0x010133f4 0x010133f4 0x0000001c Code RO 6296 i.vPortExitCritical port.o
|
||||
0x01013410 0x01013410 0x00000044 Code RO 6247 i.vPortFree heap_4.o
|
||||
0x01013454 0x01013454 0x00000018 Code RO 6297 i.vPortYield port.o
|
||||
0x0101346c 0x0101346c 0x00000030 Code RO 5698 i.vTaskDelay tasks.o
|
||||
0x0101349c 0x0101349c 0x00000010 Code RO 5703 i.vTaskInternalSetTimeOutState tasks.o
|
||||
0x010134ac 0x010134ac 0x000000d0 Code RO 5704 i.vTaskList tasks.o
|
||||
0x0101357c 0x0101357c 0x0000000c Code RO 5705 i.vTaskMissedYield tasks.o
|
||||
0x01013588 0x01013588 0x00000024 Code RO 5707 i.vTaskPlaceOnEventList tasks.o
|
||||
0x010135ac 0x010135ac 0x00000074 Code RO 5709 i.vTaskPriorityDisinheritAfterTimeout tasks.o
|
||||
0x01013620 0x01013620 0x00000050 Code RO 5715 i.vTaskStartScheduler tasks.o
|
||||
0x01013670 0x01013670 0x00000010 Code RO 5717 i.vTaskSuspendAll tasks.o
|
||||
0x01013680 0x01013680 0x00000064 Code RO 5718 i.vTaskSwitchContext tasks.o
|
||||
0x010136e4 0x010136e4 0x0000000c Code RO 6249 i.xPortGetFreeHeapSize heap_4.o
|
||||
0x010136f0 0x010136f0 0x0000000c Code RO 6250 i.xPortGetMinimumEverFreeHeapSize heap_4.o
|
||||
0x010136fc 0x010136fc 0x00000050 Code RO 6298 i.xPortStartScheduler port.o
|
||||
0x0101374c 0x0101374c 0x00000024 Code RO 6027 i.xQueueCreateMutex queue.o
|
||||
0x01013770 0x01013770 0x00000044 Code RO 6028 i.xQueueGenericCreate queue.o
|
||||
0x010137b4 0x010137b4 0x0000006e Code RO 6029 i.xQueueGenericReset queue.o
|
||||
0x01013822 0x01013822 0x0000018e Code RO 6030 i.xQueueGenericSend queue.o
|
||||
0x010139b0 0x010139b0 0x00000074 Code RO 6034 i.xQueueGiveFromISR queue.o
|
||||
0x01013a24 0x01013a24 0x00000142 Code RO 6040 i.xQueueReceive queue.o
|
||||
0x01013b66 0x01013b66 0x00000172 Code RO 6042 i.xQueueSemaphoreTake queue.o
|
||||
0x01013cd8 0x01013cd8 0x00000064 Code RO 5719 i.xTaskCheckForTimeOut tasks.o
|
||||
0x01013d3c 0x01013d3c 0x00000178 Code RO 5720 i.xTaskCreate tasks.o
|
||||
0x01013eb4 0x01013eb4 0x00000020 Code RO 5724 i.xTaskGetSchedulerState tasks.o
|
||||
0x01013ed4 0x01013ed4 0x0000000c Code RO 5725 i.xTaskGetTickCount tasks.o
|
||||
0x01013ee0 0x01013ee0 0x000000d4 Code RO 5727 i.xTaskIncrementTick tasks.o
|
||||
0x01013fb4 0x01013fb4 0x00000068 Code RO 5730 i.xTaskPriorityDisinherit tasks.o
|
||||
0x0101401c 0x0101401c 0x00000078 Code RO 5731 i.xTaskPriorityInherit tasks.o
|
||||
0x01014094 0x01014094 0x00000064 Code RO 5732 i.xTaskRemoveFromEventList tasks.o
|
||||
0x010140f8 0x010140f8 0x000000c8 Code RO 5733 i.xTaskResumeAll tasks.o
|
||||
0x010141c0 0x010141c0 0x000001d8 Data RO 20 .constdata system_n32wb03x.o
|
||||
0x01014398 0x01014398 0x0000000c Data RO 782 .constdata n32wb03x_rcc.o
|
||||
0x010143a4 0x010143a4 0x00000324 Data RO 1952 .constdata n32wb03x_qflash.o
|
||||
@ -5350,17 +5350,17 @@ Memory Map of the image
|
||||
0x01014ce0 0x01014ce0 0x00000136 Data RO 4112 .constdata app_rdtss.o
|
||||
0x01014e16 0x01014e16 0x00000002 PAD
|
||||
0x01014e18 0x01014e18 0x00000018 Data RO 4113 .constdata app_rdtss.o
|
||||
0x01014e30 0x01014e30 0x000000cc Data RO 4476 .constdata cli_core.o
|
||||
0x01014efc 0x01014efc 0x00000007 Data RO 4888 .constdata app_info.o
|
||||
0x01014f03 0x01014f03 0x00000081 Data RO 6747 .constdata mc_p.l(ctype_o.o)
|
||||
0x01014f84 0x01014f84 0x00000004 Data RO 6748 .constdata mc_p.l(ctype_o.o)
|
||||
0x01014f88 0x01014f88 0x00000489 Data RO 4477 .conststring cli_core.o
|
||||
0x01014e30 0x01014e30 0x000000cc Data RO 4479 .constdata cli_core.o
|
||||
0x01014efc 0x01014efc 0x00000007 Data RO 4891 .constdata app_info.o
|
||||
0x01014f03 0x01014f03 0x00000081 Data RO 6750 .constdata mc_p.l(ctype_o.o)
|
||||
0x01014f84 0x01014f84 0x00000004 Data RO 6751 .constdata mc_p.l(ctype_o.o)
|
||||
0x01014f88 0x01014f88 0x00000489 Data RO 4480 .conststring cli_core.o
|
||||
0x01015411 0x01015411 0x00000003 PAD
|
||||
0x01015414 0x01015414 0x00000043 Data RO 5015 .conststring app_params.o
|
||||
0x01015414 0x01015414 0x00000043 Data RO 5018 .conststring app_params.o
|
||||
0x01015457 0x01015457 0x00000001 PAD
|
||||
0x01015458 0x01015458 0x00000091 Data RO 5080 .conststring app_bootset.o
|
||||
0x01015458 0x01015458 0x00000091 Data RO 5083 .conststring app_bootset.o
|
||||
0x010154e9 0x010154e9 0x00000003 PAD
|
||||
0x010154ec 0x010154ec 0x00000020 Data RO 6809 Region$$Table anon$$obj.o
|
||||
0x010154ec 0x010154ec 0x00000020 Data RO 6812 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20004000, Load base: 0x0101550c, Size: 0x00007de8, Max: 0x0000c000, ABSOLUTE, COMPRESSED[0x00000618])
|
||||
@ -5376,46 +5376,46 @@ Memory Map of the image
|
||||
0x20004734 COMPRESSED 0x00000002 Data RW 3924 .data ns_ble_task.o
|
||||
0x20004736 COMPRESSED 0x00000001 Data RW 3925 .data ns_ble_task.o
|
||||
0x20004737 COMPRESSED 0x00000001 Data RW 4114 .data app_rdtss.o
|
||||
0x20004738 COMPRESSED 0x00000004 Data RW 4281 .data main.o
|
||||
0x2000473c COMPRESSED 0x00000010 Data RW 4390 .data bsp_usart.o
|
||||
0x2000474c COMPRESSED 0x00000004 Data RW 4478 .data cli_core.o
|
||||
0x20004750 COMPRESSED 0x00000003 Data RW 4595 .data app_cli.o
|
||||
0x20004738 COMPRESSED 0x00000004 Data RW 4284 .data main.o
|
||||
0x2000473c COMPRESSED 0x00000010 Data RW 4393 .data bsp_usart.o
|
||||
0x2000474c COMPRESSED 0x00000004 Data RW 4481 .data cli_core.o
|
||||
0x20004750 COMPRESSED 0x00000003 Data RW 4598 .data app_cli.o
|
||||
0x20004753 COMPRESSED 0x00000001 PAD
|
||||
0x20004754 COMPRESSED 0x00000006 Data RW 4641 .data ble_up.o
|
||||
0x2000475a COMPRESSED 0x0000000c Data RW 4710 .data app_ble_proto.o
|
||||
0x20004754 COMPRESSED 0x00000006 Data RW 4644 .data ble_up.o
|
||||
0x2000475a COMPRESSED 0x0000000c Data RW 4713 .data app_ble_proto.o
|
||||
0x20004766 COMPRESSED 0x00000002 PAD
|
||||
0x20004768 COMPRESSED 0x0000003c Data RW 4790 .data app_ota.o
|
||||
0x200047a4 COMPRESSED 0x00000004 Data RW 4889 .data app_info.o
|
||||
0x200047a8 COMPRESSED 0x00000002 Data RW 5016 .data app_params.o
|
||||
0x200047aa COMPRESSED 0x00000001 Data RW 5081 .data app_bootset.o
|
||||
0x20004768 COMPRESSED 0x0000003c Data RW 4793 .data app_ota.o
|
||||
0x200047a4 COMPRESSED 0x00000004 Data RW 4892 .data app_info.o
|
||||
0x200047a8 COMPRESSED 0x00000002 Data RW 5019 .data app_params.o
|
||||
0x200047aa COMPRESSED 0x00000001 Data RW 5084 .data app_bootset.o
|
||||
0x200047ab COMPRESSED 0x00000001 PAD
|
||||
0x200047ac COMPRESSED 0x00000014 Data RW 5209 .data cjson.o
|
||||
0x200047c0 COMPRESSED 0x00000001 Data RW 5666 .data infra_cjson.o
|
||||
0x200047ac COMPRESSED 0x00000014 Data RW 5212 .data cjson.o
|
||||
0x200047c0 COMPRESSED 0x00000001 Data RW 5669 .data infra_cjson.o
|
||||
0x200047c1 COMPRESSED 0x00000003 PAD
|
||||
0x200047c4 COMPRESSED 0x0000003c Data RW 5733 .data tasks.o
|
||||
0x20004800 COMPRESSED 0x00000018 Data RW 6249 .data heap_4.o
|
||||
0x20004818 COMPRESSED 0x00000004 Data RW 6296 .data port.o
|
||||
0x2000481c COMPRESSED 0x00000004 Data RW 6367 .data mc_p.l(rand.o)
|
||||
0x20004820 COMPRESSED 0x00000004 Data RW 6774 .data mc_p.l(mvars.o)
|
||||
0x20004824 COMPRESSED 0x00000004 Data RW 6775 .data mc_p.l(mvars.o)
|
||||
0x20004828 COMPRESSED 0x00000004 Data RW 6779 .data mc_p.l(errno.o)
|
||||
0x200047c4 COMPRESSED 0x0000003c Data RW 5736 .data tasks.o
|
||||
0x20004800 COMPRESSED 0x00000018 Data RW 6252 .data heap_4.o
|
||||
0x20004818 COMPRESSED 0x00000004 Data RW 6299 .data port.o
|
||||
0x2000481c COMPRESSED 0x00000004 Data RW 6370 .data mc_p.l(rand.o)
|
||||
0x20004820 COMPRESSED 0x00000004 Data RW 6777 .data mc_p.l(mvars.o)
|
||||
0x20004824 COMPRESSED 0x00000004 Data RW 6778 .data mc_p.l(mvars.o)
|
||||
0x20004828 COMPRESSED 0x00000004 Data RW 6782 .data mc_p.l(errno.o)
|
||||
0x2000482c - 0x00000034 Zero RW 19 .bss system_n32wb03x.o
|
||||
0x20004860 - 0x00000328 Zero RW 1951 .bss n32wb03x_qflash.o
|
||||
0x20004b88 - 0x0000011c Zero RW 2594 .bss prf.o
|
||||
0x20004ca4 - 0x00000050 Zero RW 3202 .bss ns_timer.o
|
||||
0x20004cf4 - 0x0000005c Zero RW 3278 .bss ns_sec.o
|
||||
0x20004d50 - 0x000001b0 Zero RW 3553 .bss ns_ble.o
|
||||
0x20004f00 - 0x00000c00 Zero RW 4389 .bss bsp_usart.o
|
||||
0x20005b00 - 0x000001e0 Zero RW 4475 .bss cli_core.o
|
||||
0x20005ce0 - 0x00000240 Zero RW 4594 .bss app_cli.o
|
||||
0x20005f20 - 0x00000200 Zero RW 4640 .bss ble_up.o
|
||||
0x20006120 - 0x0000077b Zero RW 4709 .bss app_ble_proto.o
|
||||
0x2000689b - 0x000001f7 Zero RW 4789 .bss app_ota.o
|
||||
0x20006a92 - 0x00000030 Zero RW 4887 .bss app_info.o
|
||||
0x20004f00 - 0x00000c00 Zero RW 4392 .bss bsp_usart.o
|
||||
0x20005b00 - 0x000001e0 Zero RW 4478 .bss cli_core.o
|
||||
0x20005ce0 - 0x00000240 Zero RW 4597 .bss app_cli.o
|
||||
0x20005f20 - 0x00000200 Zero RW 4643 .bss ble_up.o
|
||||
0x20006120 - 0x0000077b Zero RW 4712 .bss app_ble_proto.o
|
||||
0x2000689b - 0x000001f7 Zero RW 4792 .bss app_ota.o
|
||||
0x20006a92 - 0x00000030 Zero RW 4890 .bss app_info.o
|
||||
0x20006ac2 COMPRESSED 0x00000002 PAD
|
||||
0x20006ac4 - 0x00000034 Zero RW 5014 .bss app_params.o
|
||||
0x20006af8 - 0x000000f0 Zero RW 5732 .bss tasks.o
|
||||
0x20006be8 - 0x00004800 Zero RW 6248 .bss heap_4.o
|
||||
0x20006ac4 - 0x00000034 Zero RW 5017 .bss app_params.o
|
||||
0x20006af8 - 0x000000f0 Zero RW 5735 .bss tasks.o
|
||||
0x20006be8 - 0x00004800 Zero RW 6251 .bss heap_4.o
|
||||
0x2000b3e8 - 0x00000200 Zero RW 2 HEAP startup_n32wb03x.o
|
||||
0x2000b5e8 - 0x00000800 Zero RW 1 STACK startup_n32wb03x.o
|
||||
|
||||
@ -5429,12 +5429,12 @@ Image component sizes
|
||||
|
||||
696 188 0 0 0 12840 app_ble.o
|
||||
1204 254 0 12 1915 9528 app_ble_proto.o
|
||||
2032 1156 145 1 0 5563 app_bootset.o
|
||||
2032 1156 145 1 0 5615 app_bootset.o
|
||||
1468 216 0 3 576 6799 app_cli.o
|
||||
284 102 16 0 0 8644 app_dis.o
|
||||
100 12 0 0 0 2298 app_gpio.o
|
||||
868 110 7 4 48 8056 app_info.o
|
||||
1910 160 0 60 503 14978 app_ota.o
|
||||
1910 160 0 60 503 15102 app_ota.o
|
||||
1432 594 67 2 52 7737 app_params.o
|
||||
626 156 334 1 0 6074 app_rdtss.o
|
||||
196 36 0 6 512 2736 ble_up.o
|
||||
@ -5478,7 +5478,7 @@ Image component sizes
|
||||
2552 254 0 60 240 27732 tasks.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
41428 7512 4999 2076 30140 920339 Object Totals
|
||||
41428 7512 4999 2076 30140 920515 Object Totals
|
||||
228 76 32 0 0 0 (incl. Generated)
|
||||
40 0 11 27 2 0 (incl. Padding)
|
||||
|
||||
@ -5572,8 +5572,8 @@ Image component sizes
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||
|
||||
49408 7804 5132 2092 30140 906227 Grand Totals
|
||||
49408 7804 5132 1560 30140 906227 ELF Image Totals (compressed)
|
||||
49408 7804 5132 2092 30140 906403 Grand Totals
|
||||
49408 7804 5132 1560 30140 906403 ELF Image Totals (compressed)
|
||||
49408 7804 5132 1560 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -23,28 +23,9 @@ extern "C" {
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/* Frame types */
|
||||
#define BLE_FRAME_SOF 0xCA /* frame start byte */
|
||||
#define BLE_FRAME_HDR_LEN 5u /* SOF+TYPE+SEQ+LEN(2) */
|
||||
#define BLE_FRAME_CLI_REQ 0x01 /* phone -> device: one command line */
|
||||
#define BLE_FRAME_CLI_RSP 0x02 /* device -> phone: response text chunk */
|
||||
#define BLE_FRAME_CLI_RSP_END 0x03 /* device -> phone: {status u8} */
|
||||
#define BLE_FRAME_OTA_BEGIN 0x10 /* phone -> device: {size, crc32, version} */
|
||||
#define BLE_FRAME_OTA_DATA 0x11 /* phone -> device: {offset, data...} */
|
||||
#define BLE_FRAME_OTA_END 0x12 /* phone -> device: {crc32} */
|
||||
#define BLE_FRAME_OTA_ABORT 0x13 /* phone -> device: abort session (no payload) */
|
||||
#define BLE_FRAME_OTA_RSP 0x1F /* device -> phone: {cmd, status, offset} */
|
||||
#define BLE_FRAME_INFO_QUERY 0x20 /* phone -> device: {item_id}*n (empty/0xFF = all) */
|
||||
#define BLE_FRAME_INFO_RSP 0x21 /* device -> phone: TLV {id, len, value}*n */
|
||||
|
||||
/* OTA_RSP / generic status codes */
|
||||
#define BLE_OTA_ST_OK 0
|
||||
#define BLE_OTA_ST_BAD_FRAME 1
|
||||
#define BLE_OTA_ST_BAD_STATE 2 /* bad state / bad offset sequence */
|
||||
#define BLE_OTA_ST_SIZE_TOO_BIG 3
|
||||
#define BLE_OTA_ST_CRC_FAIL 4
|
||||
#define BLE_OTA_ST_FLASH_FAIL 5
|
||||
#define BLE_OTA_ST_BANK_MISMATCH 6 /* image linked for the wrong bank */
|
||||
/* Frame type / OTA status constants moved to the shared wire header
|
||||
* (Boot/src/ota_wire.h, also compiled into the bootloader download mode) */
|
||||
#include "ota_wire.h"
|
||||
|
||||
/**
|
||||
* @brief Reset the protocol state machine.
|
||||
|
||||
@ -9,12 +9,12 @@
|
||||
#define __APP_VERSION_H__
|
||||
|
||||
#ifndef APP_FW_VERSION
|
||||
#define APP_FW_VERSION "V1.00.27"
|
||||
#define APP_FW_VERSION "V1.00.28"
|
||||
#endif
|
||||
|
||||
/* Numeric form used by the BLE info query / OTA records: 0x00MMmmpp */
|
||||
#ifndef APP_FW_VERSION_NUM
|
||||
#define APP_FW_VERSION_NUM 0x0001001Bu
|
||||
#define APP_FW_VERSION_NUM 0x0001001Cu
|
||||
#endif
|
||||
|
||||
#endif /* __APP_VERSION_H__ */
|
||||
|
||||
@ -23,8 +23,19 @@
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef BOOT_FIRMWARE
|
||||
#include "boot_usart.h" /* boot_delay_ms */
|
||||
#else
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#endif
|
||||
|
||||
/* Let the final reply drain before the reboot (ms) */
|
||||
#ifdef BOOT_FIRMWARE
|
||||
#define bootset_reset_drain() boot_delay_ms(200u)
|
||||
#else
|
||||
#define bootset_reset_drain() vTaskDelay(pdMS_TO_TICKS(200))
|
||||
#endif
|
||||
|
||||
static uint8_t s_qflash_ready;
|
||||
|
||||
@ -291,6 +302,6 @@ void AppBootset_CmdAppswitch(int argc, char* argv[])
|
||||
}
|
||||
|
||||
cli_write("appsw: done, resetting...\r\n");
|
||||
vTaskDelay(pdMS_TO_TICKS(200));
|
||||
bootset_reset_drain();
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
|
||||
@ -23,8 +23,7 @@
|
||||
* survives this via the 5 s connection supervision timeout.
|
||||
*/
|
||||
#include "app_ota.h"
|
||||
#include "app_ble_proto.h"
|
||||
#include "bsp_usart.h"
|
||||
#include "ota_wire.h"
|
||||
#include "dfu_layout.h"
|
||||
#include "boot_crc32.h"
|
||||
#include "n32wb03x.h"
|
||||
@ -33,8 +32,23 @@
|
||||
#include <string.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef BOOT_FIRMWARE
|
||||
/* Bootloader download mode: bare metal, no RTOS, no BLE. The millisecond
|
||||
* base and the blocking UART TX come from boot_usart.c. */
|
||||
#include "boot_usart.h"
|
||||
#define ota_tick_t uint32_t
|
||||
#define ota_tick_get() boot_millis()
|
||||
#define OTA_MS_TO_TICKS(ms) (ms) /* boot tick is 1ms */
|
||||
#else
|
||||
#include "app_ble_proto.h"
|
||||
#include "bsp_usart.h"
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#define ota_tick_t TickType_t
|
||||
#define ota_tick_get() xTaskGetTickCount()
|
||||
#define OTA_MS_TO_TICKS(ms) pdMS_TO_TICKS(ms)
|
||||
#endif
|
||||
|
||||
/* armlink execution-region base symbol: address of this running image */
|
||||
extern uint32_t Image$$ER_IROM1$$Base;
|
||||
@ -65,7 +79,7 @@ static uint8_t s_qflash_ready;
|
||||
/* Deferred post-OTA_END reset (see OTA_RESET_GRACE_MS above) */
|
||||
static volatile uint8_t s_rsp_consumed; /* END RSP taken by the host */
|
||||
static volatile uint8_t s_reset_pending; /* reset scheduled, polled by the BLE task */
|
||||
static TickType_t s_reset_stamp;
|
||||
static ota_tick_t s_reset_stamp;
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* Helpers */
|
||||
@ -153,7 +167,11 @@ static void ota_respond(uint8_t seq, uint8_t cmd_echo, uint8_t status, uint32_t
|
||||
s_rsp_sink(fr, (uint16_t)sizeof(fr));
|
||||
return;
|
||||
}
|
||||
#ifdef BOOT_FIRMWARE
|
||||
/* no legacy notify path in the bootloader - the sink is always set */
|
||||
#else
|
||||
(void)app_ble_proto_send_frame(BLE_FRAME_OTA_RSP, seq, p, sizeof(p));
|
||||
#endif
|
||||
}
|
||||
|
||||
uint32_t app_ota_current_bank_base(void)
|
||||
@ -235,6 +253,20 @@ static void ota_on_begin(uint8_t seq, const uint8_t* p, uint16_t len)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef BOOT_FIRMWARE
|
||||
/* The bootloader runs from neither bank: update the INACTIVE bank per
|
||||
* the bootsetting record (then flip active at OTA_END). An invalid
|
||||
* record (bricked/blank device recovery) targets APP1. */
|
||||
{
|
||||
const caiic_bootsetting_t* bs = (const caiic_bootsetting_t*)CAIIC_BOOTSETTING_ADDR;
|
||||
uint8_t bs_ok = (bs->magic == CAIIC_BOOT_MAGIC &&
|
||||
bs->crc32 == caiic_crc32((const uint8_t*)bs,
|
||||
(uint32_t)offsetof(caiic_bootsetting_t, crc32))) ? 1 : 0;
|
||||
target = (bs_ok && bs->active_bank == CAIIC_ACTIVE_BANK1) ? CAIIC_APP2_BASE
|
||||
: CAIIC_APP1_BASE;
|
||||
}
|
||||
(void)self;
|
||||
#else
|
||||
/* Pick the opposite bank as the update target */
|
||||
self = app_ota_current_bank_base();
|
||||
if (self == CAIIC_APP1_BASE)
|
||||
@ -250,6 +282,7 @@ static void ota_on_begin(uint8_t seq, const uint8_t* p, uint16_t len)
|
||||
ota_respond(seq, BLE_FRAME_OTA_BEGIN, BLE_OTA_ST_BAD_STATE, 0);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (total < OTA_MIN_IMAGE_SIZE || total > CAIIC_APP_BANK_SIZE)
|
||||
{
|
||||
@ -517,9 +550,9 @@ static void ota_on_end(uint8_t seq, const uint8_t* p, uint16_t len)
|
||||
ota_respond(seq, BLE_FRAME_OTA_END, BLE_OTA_ST_OK, s_total_size);
|
||||
|
||||
/* Defer the reset until the host has fetched the END response (polled
|
||||
* from the BLE schedule task, which keeps running meanwhile so the ATT
|
||||
* read / notify flush can actually happen) */
|
||||
s_reset_stamp = xTaskGetTickCount();
|
||||
* from the BLE schedule task / boot superloop, which keeps running
|
||||
* meanwhile so the ATT read / UART drain can actually happen) */
|
||||
s_reset_stamp = ota_tick_get();
|
||||
s_reset_pending = 1;
|
||||
}
|
||||
|
||||
@ -532,10 +565,10 @@ void app_ota_reset_poll(void)
|
||||
{
|
||||
if (s_reset_pending)
|
||||
{
|
||||
TickType_t elapsed = xTaskGetTickCount() - s_reset_stamp;
|
||||
ota_tick_t elapsed = ota_tick_get() - s_reset_stamp;
|
||||
|
||||
if ((s_rsp_consumed && elapsed >= pdMS_TO_TICKS(OTA_RESET_GRACE_MS)) ||
|
||||
elapsed >= pdMS_TO_TICKS(OTA_RESET_TIMEOUT_MS))
|
||||
if ((s_rsp_consumed && elapsed >= OTA_MS_TO_TICKS(OTA_RESET_GRACE_MS)) ||
|
||||
elapsed >= OTA_MS_TO_TICKS(OTA_RESET_TIMEOUT_MS))
|
||||
{
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
@ -676,7 +709,9 @@ void app_ota_chan_rx(const uint8_t* data, uint16_t len, app_ota_rsp_sink_fn sink
|
||||
}
|
||||
}
|
||||
|
||||
/* --- BLE OTA characteristic (...e0005): write frames in, read RSP out --- */
|
||||
/* --- BLE OTA characteristic (...e0005): write frames in, read RSP out ---
|
||||
* (application firmware only; the bootloader has no BLE) */
|
||||
#ifndef BOOT_FIRMWARE
|
||||
|
||||
#define OTA_BLE_RSP_BUF_SIZE 16u /* largest RSP frame = 7B hdr + 6B */
|
||||
|
||||
@ -707,15 +742,20 @@ const uint8_t* app_ota_chan_rsp_ble(uint16_t* out_len)
|
||||
s_bleRspLen = 0; /* consumed by the read */
|
||||
return s_bleRsp;
|
||||
}
|
||||
#endif /* !BOOT_FIRMWARE */
|
||||
|
||||
/* --- UART binary mode (CLI "ota"): RSP frames straight out on TX --- */
|
||||
|
||||
static void ota_uart_sink(const uint8_t* frame, uint16_t len)
|
||||
{
|
||||
#ifdef BOOT_FIRMWARE
|
||||
boot_usart_write(frame, len); /* blocking: frame physically out below */
|
||||
#else
|
||||
bsp_usart_tx_lock();
|
||||
bsp_usart_write_dma(frame, len);
|
||||
bsp_usart_tx_unlock();
|
||||
/* Blocking DMA TX: the frame is physically out when we get here */
|
||||
#endif
|
||||
s_rsp_consumed = 1;
|
||||
}
|
||||
|
||||
|
||||
@ -255,6 +255,13 @@ def main():
|
||||
version = read_app_fw_version(root) or 0
|
||||
|
||||
boot_blob = load_bin(os.path.join(root, BOOT_BIN), "bootloader")
|
||||
# The boot region is 16KB (bootsetting starts at 0x01004000) - a fatter
|
||||
# bootloader would silently overlap the bootsetting sector.
|
||||
if len(boot_blob) > BOOTSETTING_ADDR - BOOT_ADDR:
|
||||
raise SystemExit("ERROR: bootloader bin %d bytes exceeds the 16KB "
|
||||
"boot region - trim it before packaging"
|
||||
% len(boot_blob))
|
||||
check_initial_sp(boot_blob, "bootloader")
|
||||
app_path = app_rel if os.path.isabs(app_rel) else os.path.join(root, app_rel)
|
||||
app_blob = load_bin(app_path, "APP1")
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
:020000040100F9
|
||||
:1000000038480020E5000001ED000001EF0000018C
|
||||
:10000000585A0020E5000001ED000001EF0000015A
|
||||
:1000100000000000000000000000000000000000E0
|
||||
:10002000000000000000000000000000F1000001DE
|
||||
:100030000000000000000000F3000001F5000001D6
|
||||
@ -11,10 +11,10 @@
|
||||
:10009000F7000001F7000001F7000001F700000180
|
||||
:1000A000F7000001F7000001F7000001F700000170
|
||||
:1000B000F7000001F7000001F7000001F700000160
|
||||
:1000C0000348854600F056F80048004751050001F6
|
||||
:1000D0003848002040BA7047C0BA70470138FDD197
|
||||
:1000C0000348854600F00CF900480047411F000135
|
||||
:1000D000585A002040BA7047C0BA70470138FDD165
|
||||
:1000E000704700000448804704480047FEE7FEE7E9
|
||||
:1000F000FEE7FEE7FEE7FEE795030001C100000111
|
||||
:1000F000FEE7FEE7FEE7FEE7F5110001C1000001A3
|
||||
:1001000030B50B46014600202022012409E00D46AF
|
||||
:10011000D5409D4205D31D469540491B2546954037
|
||||
:1001200040191546521E002DF1DC30BD03460B432D
|
||||
@ -22,111 +22,794 @@
|
||||
:1001400003E00B780370401C491C521EF9D2704723
|
||||
:10015000D2B201E00270401C491EFBD2704700225F
|
||||
:10016000F6E710B513460A4604461946FFF7F0FFB6
|
||||
:10017000204610BD064C0125064E05E0E36807CC7D
|
||||
:100180002B430C3C98471034B442F7D3FFF79CFF45
|
||||
:10019000C0070001D0070001F7B5D4B004460E46F1
|
||||
:1001A00000205390052052900025002700BFEFF358
|
||||
:1001B00010800090FF21453101A8FFF7D0FF00F02B
|
||||
:1001C000F1F905462448854218D1012000038442F4
|
||||
:1001D00002D1002053902AE001204003844202D142
|
||||
:1001E0004011539023E003200003844203D10120F7
|
||||
:1001F000400253901BE0529857B0F0BD174885421B
|
||||
:1002000013D101200003844201D153900FE001205B
|
||||
:100210004003844201D1539009E00320000384424B
|
||||
:1002200001D1539003E05298E6E75298E4E705AF16
|
||||
:100230000137FF2241320A4901A8FFF777FF012069
|
||||
:1002400000F04FF93146569A5398B84752900098AB
|
||||
:1002500000F047F95298CFE7C440130085601300BF
|
||||
:10026000E8050001F1B58AB0002009907D20C000AA
|
||||
:1002700008900125AD020027002007907F200690FE
|
||||
:1002800040240026002005900390200102900020C9
|
||||
:1002900001903E490A98884206D83D4800686102AC
|
||||
:1002A00088433B49086006E0394800680121C903DA
|
||||
:1002B0000843374908607D21C9000A98FFF720FFED
|
||||
:1002C0007D21C9000090FFF71BFF450100BF3048AA
|
||||
:1002D00000687F21090288430190200201990843A8
|
||||
:1002E0002B4908600520FFF7F9FE10E00120FFF719
|
||||
:1002F000F5FE2748406B02210840002800D007E0A7
|
||||
:100300000598411C05910899884200D900E0EDE765
|
||||
:1003100000BF1F48C06B86B2AE4201D9771B00E018
|
||||
:10032000AF1B0298874203D2E0B20390B8B20290AA
|
||||
:10033000AE4201D3069400E007940699079840184E
|
||||
:10034000C005000E04900498A04200D103E0049C74
|
||||
:1003500009988742BBD800BF0D4800687F21090279
|
||||
:1003600088430190039800020199084308490860F6
|
||||
:100370000846406840084000486000BF04484068A4
|
||||
:10038000042108400028F9D10BB0F0BD0090D00343
|
||||
:100390000010024010B53E48C0690121090708431A
|
||||
:1003A0003B49C861812000063A4908633A484861E0
|
||||
:1003B0003A4808623A48006803218903884338496B
|
||||
:1003C00008603421374800F073F836480069401C53
|
||||
:1003D000002803D033480069002817D12C48406812
|
||||
:1003E0000121090408432A4948600846406807215A
|
||||
:1003F00009028843264948600846406809150843B1
|
||||
:10040000234948602848FFF72DFF3FE021488069D5
|
||||
:100410004409640123480078C006C00E04431D4807
|
||||
:1004200084611B4800680121C9038843184908609A
|
||||
:10043000084600687F21090288430446194800697C
|
||||
:10044000000220431249086008464068012109045F
|
||||
:1004500008430F494860084640680721090288435D
|
||||
:100460000B49486008464068091508430849486038
|
||||
:100470000846006A0D490840054908620846006AB6
|
||||
:100480000849C968090208430149086210BD000013
|
||||
:1004900000100240007000400F0800001800020029
|
||||
:1004A00000100140004000200090D003FF00F8FF42
|
||||
:1004B00070B504460D462A46214601200003FFF789
|
||||
:1004C0006BFE70BD02E008C8121F08C1002AFAD1F5
|
||||
:1004D00070477047002001E001C1121F002AFBD1C4
|
||||
:1004E000704780F31088704730B502460B460021F4
|
||||
:1004F000C94312E01078521C414000240BE0480828
|
||||
:10050000CD07ED0F002D01D0074D00E0002568401C
|
||||
:100510000146601CC4B2082CF1DB18465B1E0028A3
|
||||
:10052000E8D1C84330BD00002083B8ED0446012067
|
||||
:10053000C007204305490863206880F3088800BF8E
|
||||
:1005400062B66068804700BFFEE7000000700040B0
|
||||
:10055000114C124D1249206888421AD12821204698
|
||||
:10056000FFF7C2FFA16A884213D16168022902D154
|
||||
:100570002146183101E0214608310846074A016842
|
||||
:10058000914205D3412292040168914200D205684C
|
||||
:1005900000BF2846FFF7CAFF0040000100800001AD
|
||||
:1005A00011C011CA70B5D2B00024002500BFEFF30E
|
||||
:1005B00010800646FF21453101A8FFF7D0FD01ACB0
|
||||
:1005C00001349822074901A8FFF7B0FD0120FFF789
|
||||
:1005D00088FFA04705463046FFF783FF284652B004
|
||||
:1005E00070BD00002807000140BA7047C0BA7047CC
|
||||
:1005F0000138FDD170470000F7B50325AD06286A24
|
||||
:1006000082B016460C46400840002862286A022143
|
||||
:1006100008432862286A8007FCD4662068600127A6
|
||||
:100620002F61A86AC005FCD5992068602F61A86A6F
|
||||
:10063000C005FCD5FF209130FFF7DAFFFF2301331F
|
||||
:10064000AB626846EF60352169602F61A96AC90510
|
||||
:10065000FCD5AB62A969EF60C9B205226A602F615F
|
||||
:10066000AA6AD205FCD5AB62AA690902D2B21143CB
|
||||
:100670000180C80702D0032005B0F0BDAB626869F5
|
||||
:10068000FF210831884368616869C91E08436861B1
|
||||
:1006900002980002483068600820A860EE602F6170
|
||||
:1006A000A86AC005FCD5FF200130A8620023F61C13
|
||||
:1006B000B0080ED0B2081148006899006054060ACC
|
||||
:1006C00009194E70060C000E8E705B1CC8709A42A1
|
||||
:1006D000F1D8FF200130A8626869FF210831884302
|
||||
:1006E0006861686938436861286A80088000286208
|
||||
:1006F000286A38432862002005B0F0BD8000000C55
|
||||
:10070000032080064169FF2208329143416142691A
|
||||
:1007100001210A434261026A920892000262026A5F
|
||||
:100720000A43026270470000002003218906096A1B
|
||||
:10073000490849000322920611621146096A022201
|
||||
:10074000114303229206116200BF03218906096A40
|
||||
:10075000022211400229F8D0D101032292069162AF
|
||||
:100760000321D1609F2151600121116100BF03214C
|
||||
:100770008906896AFF22013211409142F7D1032292
|
||||
:1007800092069162114688694969FF2208329143B5
|
||||
:100790000322920651611146496901221143032245
|
||||
:1007A000920651611146096A890889001162114651
|
||||
:1007B000096A012211430322920611627047000068
|
||||
:1007C000D00700010040002038080000D4040001D8
|
||||
:10017000204610BD421C0178401C0029FBD1801A8A
|
||||
:10018000704710B5002200E0521C835C8C5CA342D7
|
||||
:1001900001D1002BF8D1D8B2E1B2401A10BD30B570
|
||||
:1001A00004460020034600E05B1C934203D2E05C5F
|
||||
:1001B000CD5C401BF8D030BDF7B582B00F460026AD
|
||||
:1001C000029C01F037F90090006801902578641CCA
|
||||
:1001D000002D05D000F02CF80068405DC007F5D177
|
||||
:1001E0002B2D02D02D2D1CD0641E00980021016003
|
||||
:1001F00039462046049A00F01FF80146002F04D02B
|
||||
:100200003868A04201D1029838600098006802283E
|
||||
:100210000BD00098019A0260700506D5484205B0DF
|
||||
:10022000F0BD012080020643DFE70846F7E7000043
|
||||
:1002300000487047C82E0001F7B582B0029C002725
|
||||
:100240002078641C15460197302802D0002D15D067
|
||||
:1002500015E020780127641C782804D0582802D0A3
|
||||
:10026000002D09D00BE0002D01D0102D07D1002763
|
||||
:1002700010252078641C02E0082500E00A250026ED
|
||||
:10028000009610E00099012769430818020C2946DE
|
||||
:1002900080B2714300908E183804864201D3012049
|
||||
:1002A00001902078641C294600F02CF80028E9DA37
|
||||
:1002B0000398002805D0002F01D0641E00E0029CA6
|
||||
:1002C00004600198002806D001F0B4F80221016012
|
||||
:1002D000C81E05B0F0BD009930040843F9E70000DE
|
||||
:1002E000064C0125064E05E0E36807CC2B430C3C89
|
||||
:1002F00098471034B442F7D3FFF7E6FEFC31000113
|
||||
:100300001C3200013A2800D23038202302469A439A
|
||||
:10031000412A01D310463738884201D30020C04318
|
||||
:1003200070470000F0B58DB006460F462C224449B8
|
||||
:1003300002A8FFF7FBFE02A801F062FC002804D12E
|
||||
:1003400040A001F0C5FD0DB0F0BD022E0FDB01A9EC
|
||||
:10035000786802F019FA002805D1019801280DD01B
|
||||
:10036000019802280AD045A001F0B2FDEBE70398FE
|
||||
:10037000012801D1022000E0012001900199039899
|
||||
:10038000884204D14CA0019901F0D4FCDBE701982C
|
||||
:10039000012801D104A800E008A80446019801281A
|
||||
:1003A00001D14C4800E04C480090216800988142FF
|
||||
:1003B00007D16068002804D007218903606888425B
|
||||
:1003C00006D96368226845A0019901F0B3FCBAE739
|
||||
:1003D00050A001F07DFD6168206801F023FC054616
|
||||
:1003E000A168A94209D02B46A2685848019901F09A
|
||||
:1003F000A1FC57A001F06CFDA5E76368E26861A06D
|
||||
:10040000019901F097FC0198039002A801F002FB0A
|
||||
:10041000002803D06BA001F05BFD94E76EA001F013
|
||||
:1004200057FDC82001F00AFA00BFBFF34F8F714893
|
||||
:100430007149C860BFF34F8F00BF00BFFEE70000E7
|
||||
:100440000040000161707073773A20626F6F7473BF
|
||||
:10045000657474696E67207265636F726420696E7B
|
||||
:1004600076616C69642C2072656675736520746FA3
|
||||
:10047000207377697463680D0A0000007573616703
|
||||
:10048000653A206170707377205B317C325D202883
|
||||
:100490006E6F20617267203D2073776974636820F6
|
||||
:1004A000746F20746865206F746865722062616E75
|
||||
:1004B0006B290D0A0000000061707073773A2061AB
|
||||
:1004C0006C7265616479206F6E20415050256C75A7
|
||||
:1004D0000D0A00000080000100400201617070738D
|
||||
:1004E000773A2062616E6B256C75207265636F725E
|
||||
:1004F0006420696E76616C69642028616464723D71
|
||||
:1005000030782530386C582073697A653D256C75D4
|
||||
:10051000290D0A0061707073773A207665726966FA
|
||||
:1005200079696E672074617267657420696D6167AF
|
||||
:1005300065206372632028666577207365636F6E3C
|
||||
:100540006473292E2E2E0D0A000000006831000170
|
||||
:100550002020202020202072756E20424C45204F04
|
||||
:10056000544120746F207772697465206120766130
|
||||
:100570006C696420696D6167652066697273740DCA
|
||||
:100580000A00000061707073773A2062616E6B251B
|
||||
:100590006C7520696D616765206F6B2028766572C8
|
||||
:1005A0002030782530386C582C20256C7520422955
|
||||
:1005B0002C20737769746368696E672E2E2E0D0A7E
|
||||
:1005C0000000000061707073773A20666C61736898
|
||||
:1005D000206661696C0D0A0061707073773A20645F
|
||||
:1005E0006F6E652C20726573657474696E672E2E4C
|
||||
:1005F0002E0D0A000400FA0500ED00E030B58BB0C6
|
||||
:1006000004460D462C2204496846FFF78FFD6846D4
|
||||
:1006100001F040FA0BB030BD0040000170B58CB065
|
||||
:1006200006460C46032E0ADA53A001F051FC5AA0EC
|
||||
:1006300001F04EFC5E4801F04BFC0CB070BD694609
|
||||
:10064000A06802F0A1F8002803D05AA001F040FCF5
|
||||
:10065000F3E72C225C4901A8FFF768FD01A801F02F
|
||||
:10066000CFFA002806D12C2101A8FFF778FD57A06A
|
||||
:1006700001F02EFC63A16068FFF783FD00280CD118
|
||||
:100680000098012806D00098022803D05FA001F04E
|
||||
:100690001FFCD2E70098029058E06068007862285A
|
||||
:1006A00050D160684078312803D0606840783228A3
|
||||
:1006B00048D160684078312801D103A800E007A83C
|
||||
:1006C00005466168881C59A1FFF75BFD00280ED123
|
||||
:1006D00058490098884207D057490098884203D06B
|
||||
:1006E00056A001F0F5FBA8E7009828602EE06168AD
|
||||
:1006F000881C61A1FFF745FD00280BD10721890364
|
||||
:100700000098884203D95EA001F0E2FB95E70098CB
|
||||
:1007100068601BE06168881C62A1FFF732FD002859
|
||||
:1007200002D10098A86011E06168881C5EA1FFF703
|
||||
:1007300028FD002802D10098E86007E05BA001F0E6
|
||||
:10074000C7FB7AE759A001F0C3FB76E761685DA0BB
|
||||
:10075000009A01F0EFFA01A801F05CF9002803D03B
|
||||
:1007600061A001F0B5FB68E764A001F0B1FB01A84E
|
||||
:1007700001F090F900BF60E775736167653A206228
|
||||
:1007800073736574203C6669656C643E203C7661D9
|
||||
:100790006C3E0D0A0000000020206669656C643A1A
|
||||
:1007A00020616374697665203C317C323E0D0A001D
|
||||
:1007B000B031000162737365743A2062616420761F
|
||||
:1007C000616C75650D0A000000400001627373657D
|
||||
:1007D000743A206578697374696E67207265636F17
|
||||
:1007E000726420696E76616C69642C207265627532
|
||||
:1007F000696C642066726F6D2073637261746368E4
|
||||
:100800000D0A0000616374697665000062737365A8
|
||||
:10081000743A20616374697665206D757374206223
|
||||
:10082000652031206F7220320D0A0000616464720D
|
||||
:100830000000000000800001004002016273736547
|
||||
:10084000743A2061646472206D757374206265204F
|
||||
:1008500043414949435F415050315F424153452034
|
||||
:100860006F722043414949435F415050325F4241DA
|
||||
:1008700053450D0A0000000073697A65000000000E
|
||||
:1008800062737365743A2073697A6520657863656D
|
||||
:10089000656473207468652062616E6B2073697A89
|
||||
:1008A000650D0A006372630076657200627373659A
|
||||
:1008B000743A20756E6B6E6F776E206669656C6436
|
||||
:1008C0000D0A000062737365743A202573203D2081
|
||||
:1008D00030782530386C582C2077726974696E67CF
|
||||
:1008E0002E2E2E0D0A00000062737365743A206686
|
||||
:1008F0006C617368206661696C0D0A0062737365D0
|
||||
:10090000743A206F6B202876657269666965642980
|
||||
:100910000D0A0000F8B5164C16492068884208D127
|
||||
:100920002821204601F07EF9A16A884201D10120E8
|
||||
:1009300000E00020064665680FA112A001F0FAF958
|
||||
:10094000002E03D117A001F0C3FA0225294620A0EA
|
||||
:1009500001F0F0F900F07EFF7D21C9000090FFF763
|
||||
:10096000CFFB074639461FA001F0E4F9F8BD0000AF
|
||||
:100970000040000111C011CA56312E30312E3030E6
|
||||
:1009800000000000626F6F746C6F616465723A20E2
|
||||
:1009900025732C20646F776E6C6F6164206D6F64BB
|
||||
:1009A000650D0A00626F6F7473657474696E673ADF
|
||||
:1009B00020494E56414C4944202D204F544120742B
|
||||
:1009C00061726765747320415050310D0A00000058
|
||||
:1009D0006375722062616E6B3A20415050256C75D0
|
||||
:1009E0000D0A0000757074696D653A20256C7520DC
|
||||
:1009F000730D0A0070B506460D46022E1EDB00245C
|
||||
:100A000015E00C226243184B99586868FFF7B9FB50
|
||||
:100A100000280BD10C206043134BC01842680C20F7
|
||||
:100A20006043195811A001F085F970BD641C092CB0
|
||||
:100A3000E7D311A0696801F07DF9F6E717A001F08E
|
||||
:100A400047FA00240BE00C206043074BC0184268B3
|
||||
:100A50000C206043195805A001F06CF9641C092CA6
|
||||
:100A6000F1D300BFE1E70000A82A00012020252DD6
|
||||
:100A700038732025730D0A00756E6B6E6F776E20CC
|
||||
:100A8000636F6D6D616E643A2025732028747279EE
|
||||
:100A9000202768656C7027290D0A0000636F6D6D53
|
||||
:100AA000616E64733A0D0A0070B504460D46034842
|
||||
:100AB00001F00EFA01200249087070BDCC2E000131
|
||||
:100AC0000C40002008A001F003FAC82000F0B6FE98
|
||||
:100AD00000BFBFF34F8F08480849C860BFF34F8F6E
|
||||
:100AE00000BF00BFFEE70000726573657474696E35
|
||||
:100AF000672E2E2E0D0A00000400FA0500ED00E01E
|
||||
:100B000070B504460D4605A001F0E2F90BA001F016
|
||||
:100B1000DFF917A001F0DCF970BD00007573617298
|
||||
:100B200074313A2054583D5042362052583D50427C
|
||||
:100B3000372028414634290D0A000000626175649F
|
||||
:100B40003A203436303830302C20382064617461DB
|
||||
:100B500020626974732C206E6F20706172697479E1
|
||||
:100B60002C20312073746F70206269740D0A0000AC
|
||||
:100B7000666C6F7720636F6E74726F6C3A206E6F65
|
||||
:100B80006E653B2074783A20706F6C6C65643B2016
|
||||
:100B900072783A20444D412072696E672028334BA9
|
||||
:100BA000422C20706F6C6C6564290D0A00000000F7
|
||||
:100BB00070B504460D4605A107A001F0BBF8114829
|
||||
:100BC000016811A001F0B6F870BD000056312E305A
|
||||
:100BD000312E303000000000626F6F746C6F616402
|
||||
:100BE00065722076657273696F6E3A2025732028CE
|
||||
:100BF000646F776E6C6F6164206D6F6465290D0A98
|
||||
:100C0000000000000040002053797374656D436F4D
|
||||
:100C10007265436C6F636B203D20256C7520487AAC
|
||||
:100C20000D0A00000168254A1140016000210160A1
|
||||
:100C300041608160C1602249884208D12049083959
|
||||
:100C400049680F2211431E4A083A516035E01C4999
|
||||
:100C50001431884208D11A4908394968F0221143F1
|
||||
:100C6000174A083A516028E015492831884209D1CD
|
||||
:100C70001349083949680F2212021143104A083AF1
|
||||
:100C800051601AE00E493C31884209D10C490839BB
|
||||
:100C900049680F2212031143094A083A51600CE0D7
|
||||
:100CA00007495031884208D10549083949680F225F
|
||||
:100CB00012041143024A083A51607047FEFF0000D7
|
||||
:100CC00008000240002904D0026801231A43026090
|
||||
:100CD00003E00268014B1A4002607047FEFF00000B
|
||||
:100CE0000146486880B2704710B5002202680D4B7B
|
||||
:100CF0001A400C6A8B6823430C6923434C692343D5
|
||||
:100D00008C692343CC6923434C6A23438C6A234375
|
||||
:100D10001A430260CB6843600B6883604B68C36012
|
||||
:100D200010BD00000F80FFFF10B5002B01D0106137
|
||||
:100D300001E00024146110BD70B503460A4600218D
|
||||
:100D40000024002076E001268E40156835402C46B0
|
||||
:100D5000002C6ED05568022D02D05568122D20D17E
|
||||
:100D600008250D40002D0ED0586A4D07EE0E0F25B8
|
||||
:100D7000B5400646AE4330464E07F60E5569B540BF
|
||||
:100D8000284358620DE0186A4D07EE0E0F25B54056
|
||||
:100D90000646AE4330464E07F60E5569B540284329
|
||||
:100DA00018625568012D08D05568112D05D0556879
|
||||
:100DB000022D02D05568122D0BD1586801258D40A7
|
||||
:100DC0000646AE4330461579ED06ED0F8D402843BB
|
||||
:100DD000586018684E000325B5400646AE433046BD
|
||||
:100DE0001579AD07AD0F4E00B54028431860D8689F
|
||||
:100DF0004E000325B5400646AE4330464E0095688A
|
||||
:100E0000B5402843D860986801258D400646AE431A
|
||||
:100E10003046D5688D4028439860D86A4E00012539
|
||||
:100E2000B5400646AE4330464E001569B5402843EE
|
||||
:100E3000D862491C1568CD40002D84D170BD0000DA
|
||||
:100E4000054901600F21416100214160816001215C
|
||||
:100E5000C160002101617047FF3F0000F7B5D4B0C9
|
||||
:100E600004460E460020539005205290002500278E
|
||||
:100E700000BFEFF310800090FF21453101A8FFF77C
|
||||
:100E80006EF901F0A5FC05462448854218D10120E1
|
||||
:100E90000003844202D1002053902AE00120400345
|
||||
:100EA000844202D14011539023E003200003844286
|
||||
:100EB00003D10120400253901BE0529857B0F0BD7F
|
||||
:100EC0001748854213D101200003844201D1539079
|
||||
:100ED0000FE001204003844201D1539009E0032038
|
||||
:100EE0000003844201D1539003E05298E6E7529800
|
||||
:100EF000E4E705AF0137FF2241320A4901A8FFF7B5
|
||||
:100F000015F9012000F0A9FA3146569A5398B847CE
|
||||
:100F10005290009800F0A1FA5298CFE7C440130015
|
||||
:100F200085601300CE28000170B50446002500BF7F
|
||||
:100F300000BFEFF310800546012000F091FA00BFDA
|
||||
:100F400001200006241A20460549096888470646FC
|
||||
:100F500000BF284600F084FA00BF304670BD000094
|
||||
:100F60005040002010B508480849086094300849EE
|
||||
:100F70000860FF382D3807490860C92292000649E9
|
||||
:100F80000938FFF7D3F810BDCD4F002050400020A6
|
||||
:100F90005440002058400020202B0001F8B50446A2
|
||||
:100FA0000D461646002700BF00BFEFF3108007462E
|
||||
:100FB000012000F055FA00BF01200006241A324635
|
||||
:100FC00029462046054B1B689847009000BF3846CD
|
||||
:100FD00000F046FA00BF0098F8BD00005440002021
|
||||
:100FE000002905D0054A52690243044B5A6104E0C6
|
||||
:100FF000024A52698243014B5A6170470010024015
|
||||
:10100000002905D0054A92690243044B9A6104E025
|
||||
:10101000024A92698243014B9A6170470010024074
|
||||
:1010200010B500210022214B5B680424234019469F
|
||||
:10103000002902D0042906D102E01D4B036005E01F
|
||||
:101040001C4B036002E01A4B036000BF00BF174B4C
|
||||
:101050005B683024234019460909174B5A5C036822
|
||||
:10106000D3404360114B5B68072424022340194698
|
||||
:10107000090A124B5A5C4368D34083600B4B5B6890
|
||||
:10108000E40023401946C90A0C4B5A5C4368D3401C
|
||||
:10109000C360064BDB6A10242340002B02D0084BB0
|
||||
:1010A000036102E07D23DB03036110BD00100240F9
|
||||
:1010B0000090D0030048E8011C2B0001142B000114
|
||||
:1010C00000093D00F1B58AB0002009907D20C000E4
|
||||
:1010D00008900125AD020027002007907F20069090
|
||||
:1010E000402400260020059003902001029000205B
|
||||
:1010F00001903E490A98884206D83D48006861023E
|
||||
:1011000088433B49086006E0394800680121C9036B
|
||||
:101110000843374908607D21C9000A98FEF7F0FFAF
|
||||
:101120007D21C9000090FEF7EBFF450100BF30486C
|
||||
:1011300000687F2109028843019020020199084339
|
||||
:101140002B4908600520FEF7C9FF10E00120FEF7DB
|
||||
:10115000C5FF2748406B02210840002800D007E067
|
||||
:101160000598411C05910899884200D900E0EDE7F7
|
||||
:1011700000BF1F48C06B86B2AE4201D9771B00E0AA
|
||||
:10118000AF1B0298874203D2E0B20390B8B202903C
|
||||
:10119000AE4201D3069400E00794069907984018E0
|
||||
:1011A000C005000E04900498A04200D103E0049C06
|
||||
:1011B00009988742BBD800BF0D4800687F2109020B
|
||||
:1011C0008843019003980002019908430849086088
|
||||
:1011D0000846406840084000486000BF0448406836
|
||||
:1011E000042108400028F9D10BB0F0BD0090D003D5
|
||||
:1011F0000010024010B53E48C069012109070843AC
|
||||
:101200003B49C861812000063A4908633A48486171
|
||||
:101210003A4808623A4800680321890388433849FC
|
||||
:1012200008603421374800F073F836480069401CE4
|
||||
:10123000002803D033480069002817D12C484068A3
|
||||
:101240000121090408432A494860084640680721EB
|
||||
:101250000902884326494860084640680915084342
|
||||
:10126000234948602848FFF72DFF3FE02148806967
|
||||
:101270004409640123480078C006C00E04431D4899
|
||||
:1012800084611B4800680121C9038843184908602C
|
||||
:10129000084600687F21090288430446194800690E
|
||||
:1012A00000022043124908600846406801210904F1
|
||||
:1012B00008430F49486008464068072109028843EF
|
||||
:1012C0000B494860084640680915084308494860CA
|
||||
:1012D0000846006A0D490840054908620846006A48
|
||||
:1012E0000849C968090208430149086210BD0000A5
|
||||
:1012F00000100240007000400F08000018000200BB
|
||||
:1013000000100140604000200090D003FF00F8FF73
|
||||
:1013100070B504460D462A46214601200003FFF71A
|
||||
:101320009DFD70BD002905D0828901235B031A430E
|
||||
:10133000828103E08289024B1A408281704700005B
|
||||
:10134000FFDF0000002A03D0838A0B43838202E080
|
||||
:10135000838A8B43838270470246002001235B020D
|
||||
:10136000994200D100BF13880B40002B01D001200F
|
||||
:1013700000E0002070470000F0B589B005460E4639
|
||||
:1013800000240020089000BF00BF0027B08900287B
|
||||
:1013900000D000BF2F462C8A20480440F088044328
|
||||
:1013A0002C82AC891E480440B08831890843718979
|
||||
:1013B00008430443AC81AC8A1A480440B089044312
|
||||
:1013C000AC8201A8FFF72CFE1748874202D104988F
|
||||
:1013D000089001E003980890326891001923089A58
|
||||
:1013E0005A431046FEF78CFE079064210798FEF7DB
|
||||
:1013F00087FE04012109642041430798411A0691A0
|
||||
:1014000006990901084632306421FEF779FE00078B
|
||||
:10141000000F04432C8109B0F0BD0000FFCF000095
|
||||
:10142000F3E90000FFFC000000380140CA05D20DBE
|
||||
:1014300082807047004870475C40002002E008C886
|
||||
:10144000121F08C1002AFAD170477047002001E03E
|
||||
:1014500001C1121F002AFBD1704780F3108870472A
|
||||
:1014600080F3108870470000002007490870074982
|
||||
:10147000086007490860074908600749086007498C
|
||||
:101480000870074908707047104000202440002071
|
||||
:10149000284000202C400020344000204440002000
|
||||
:1014A000454000200020024908700249088070472A
|
||||
:1014B0004C40002048400020F7B584B00746494919
|
||||
:1014C00006980860002686E0BC5D47480078002842
|
||||
:1014D00004D0012810D0022874D13AE0CA2C0AD1D5
|
||||
:1014E0004248047001204249088005204149088093
|
||||
:1014F00001203D4908706BE03D4801880088401C90
|
||||
:101500003B4A1080394844541046008805281FD1B2
|
||||
:101510003649C978354A1279120211430846FF212B
|
||||
:10152000E131884205D900212F4A1170304A1180DB
|
||||
:101530000DE0C11D2F4A1180114609882C4A1288DE
|
||||
:10154000914201D1002100E00221274A117000BF21
|
||||
:101550003EE0274801880088401C254A1080234827
|
||||
:1015600044541046008823490988884228D11F48DE
|
||||
:10157000C0781E490979090208430546281D81B231
|
||||
:101580001A48401C00F09CFD0390681D1749095C37
|
||||
:10159000A81D164A105C00020143029102990398AB
|
||||
:1015A000884207D11046817840782B46521D019021
|
||||
:1015B00000F034F800200C4908700D49088000BF85
|
||||
:1015C00006E0FFE70020084908700949088000BFCD
|
||||
:1015D00000BF701C86B20598864200DA74E707B037
|
||||
:1015E000F0BD0000404000204C400020444D002051
|
||||
:1015F000484000204A40002031B5064A0121684693
|
||||
:10160000FFF75AFF04480478002003490870204679
|
||||
:1016100038BD0000A126000146400020F8B5044670
|
||||
:101620000D4616461F46102C06D0112C0AD0122C3F
|
||||
:101630000ED0132C24D111E03A463146284600F052
|
||||
:1016400085FD1EE03A463146284600F037FE18E098
|
||||
:101650003A463146284600F005FF12E0FFF704FF46
|
||||
:101660000948002213210368284600F0DBFF0748E1
|
||||
:1016700000680749884202D101200649087000E04D
|
||||
:1016800000BF00BFF8BD0000244000204040002003
|
||||
:10169000A12600014640002010B51148007800281E
|
||||
:1016A0001CD000F0D7F80F490968441A0E4800789A
|
||||
:1016B000002803D0FF202D30844203D27D2000017A
|
||||
:1016C00084420AD300BFBFF34F8F08480849C8605F
|
||||
:1016D000BFF34F8F00BF00BFFEE700BF10BD00008B
|
||||
:1016E0003A4000203C400020394000200400FA0528
|
||||
:1016F00000ED00E008B500240025354800F0E8FBC7
|
||||
:1017000000BFFFF7C9FF3348007800280ED000F073
|
||||
:10171000A1F8401B3049884208D900202D490870A3
|
||||
:10172000FFF7C0FE2DA000F0D3FB0024684600F0B8
|
||||
:101730002DF9002800D1E4E726480078002810D0D1
|
||||
:1017400000F088F8054668460078FFF755FF002846
|
||||
:1017500006D000201F4908702AA000F0B9FB002421
|
||||
:10176000CFE768460078082815D00A2805D00D284C
|
||||
:1017700002D07F2818D10FE000BF2DA000F0A8FBF9
|
||||
:1017800000202C490855084600F06EFA00241BA0E2
|
||||
:1017900000F09EFB1AE000BF002C04D0601EC4B213
|
||||
:1017A00025A000F095FB11E06846007820280CD3B6
|
||||
:1017B0004F2C0AD2684602782046611CCCB21D49E3
|
||||
:1017C0000A540121684600F00DF900BF00BF98E7F8
|
||||
:1017D000043000010C400020B80B00000D0A5B6FC4
|
||||
:1017E00074615D2062696E617279206D6F6465203D
|
||||
:1017F0004F4646202869646C65290D0A6361696952
|
||||
:10180000632D3E000D0A5B6F74615D2062696E613D
|
||||
:101810007279206D6F6465204F4646202861626FA3
|
||||
:101820007274290D0A63616969632D3E000000002E
|
||||
:101830000D0A0000F44C00200820080000B5024604
|
||||
:1018400000F008F8034600BF00F004F8C01A904208
|
||||
:10185000FAD300BD074800690121090408400028A7
|
||||
:1018600004D005480068401C03490860024800682D
|
||||
:101870007047000000E000E00840002000B595B08F
|
||||
:1018800001210820FFF7BCFB01218803FFF7B8FB0B
|
||||
:101890000FA8FFF7D5FA40200F90022010900420E7
|
||||
:1018A00014900FA93148FFF747FA80200F900420C9
|
||||
:1018B00014900FA92D48FFF73FFAE120C0020B90CA
|
||||
:1018C0000021684601864186818601870C21C186F8
|
||||
:1018D0000BA92748FFF750FD01210846FFF780FBC1
|
||||
:1018E00000212448FFF7EEF92248FFF79BF9012376
|
||||
:1018F000204A20491C390320FFF716FA1C48001D16
|
||||
:1019000000901D4801900020029003208002039067
|
||||
:101910000020049080200590002006900790202051
|
||||
:1019200008900002099000200A9069461148FFF7CC
|
||||
:10193000DBF900201149088001210E48FFF7C2F9A8
|
||||
:10194000012240210A48FFF7FDFC01210848FFF76A
|
||||
:10195000E9FC0B480B4948610020886105200861BB
|
||||
:1019600000200949086015B000BD0000000C0140CE
|
||||
:10197000003801401C000240944000200440002038
|
||||
:10198000FFF9000000E000E00840002070B50446C8
|
||||
:1019900000F01CF805460B480088A84201D1002041
|
||||
:1019A00070BD094807490988405C207003218902FD
|
||||
:1019B00004480088401CFEF7A3FB02480180012078
|
||||
:1019C000EEE70000044000209440002010B50448D9
|
||||
:1019D000FFF786F903218902081A80B210BD0000C2
|
||||
:1019E0001C00024070B505460E4600240CE0295D3F
|
||||
:1019F0000748FFF71BFD00BF80210548FFF7ACFC3F
|
||||
:101A00000028F9D0601C84B2B442F0DB70BD000045
|
||||
:101A10000038014010B5044600F02EF81048206050
|
||||
:101A2000204600F021F8A0620E48FFF77DFA00285A
|
||||
:101A300001D0012010BD2C2221460A48FFF7AEFA42
|
||||
:101A4000002801D00120F5E72C2206492046FEF7A8
|
||||
:101A5000A6FB002801D00120ECE70020EAE7000007
|
||||
:101A600011C011CA0040000110B5044628212046CB
|
||||
:101A700000F0D8F810BD000010B505480078002827
|
||||
:101A800004D1FFF76FFA01200149087010BD000072
|
||||
:101A90004D40002070B50446204600F0B1F8002803
|
||||
:101AA00001D015A000E016A005462A461A491BA041
|
||||
:101AB00000F040F920A0216800F03CF925A0616801
|
||||
:101AC00000F038F929A02369E268A16800F032F932
|
||||
:101AD00032A0616900F02EF936A0236AE269A1699B
|
||||
:101AE00000F028F92DA0616A00F024F93DA0A16A58
|
||||
:101AF00000F020F970BD000076616C6964000000A0
|
||||
:101B0000494E56414C49442028626164206D61670A
|
||||
:101B100069632F637263290000400001626F6F7474
|
||||
:101B200073657474696E6720402030782530386C96
|
||||
:101B3000583A2025730D0A0020206D6167696320E3
|
||||
:101B40002020202020203D2030782530386C580D72
|
||||
:101B50000A00000020206163746976655F62616E2F
|
||||
:101B60006B203D20256C750D0A000000202062616D
|
||||
:101B70006E6B313A20616464723D30782530386C88
|
||||
:101B8000582073697A653D256C75206372633D301A
|
||||
:101B9000782530386C580D0A0000000020202020E5
|
||||
:101BA00020202020207665723D30782530386C5812
|
||||
:101BB0000D0A0000202062616E6B323A206164647D
|
||||
:101BC000723D30782530386C582073697A653D2530
|
||||
:101BD0006C75206372633D30782530386C580D0A7F
|
||||
:101BE0000000000020206372633332202020202078
|
||||
:101BF00020203D2030782530386C580D0A00000038
|
||||
:101C000010B5044606492068884207D12046FFF7F0
|
||||
:101C10002BFFA16A884201D1012010BD0020FCE702
|
||||
:101C200011C011CA30B502460B460021C94312E06B
|
||||
:101C30001078521C414000240BE04808CD07ED0FFE
|
||||
:101C4000002D01D0074D00E0002568400146601CD2
|
||||
:101C5000C4B2082CF1DB18465B1E0028E8D1C8434B
|
||||
:101C600030BD00002083B8EDF0B589B007460026EE
|
||||
:101C70003C4621E000E0641C20782028FBD020783E
|
||||
:101C80000928F8D02078002800D11AE03046761CC8
|
||||
:101C9000800001A90C5000E0641C2078002805D0C9
|
||||
:101CA0002078202802D020780928F5D12078002833
|
||||
:101CB00002D000202070641C2078002801D0082E5B
|
||||
:101CC000D8DB00BF002E02D1002009B0F0BD0025F6
|
||||
:101CD00013E00C226A430D4B99580198FEF751FA14
|
||||
:101CE000002809D10C2068430849401801A98268DE
|
||||
:101CF000304690470020E8E76D1C092DE9D304A089
|
||||
:101D0000019900F017F80120DFE70000A82A000180
|
||||
:101D1000756E6B6E6F776E20636F6D6D616E643A7A
|
||||
:101D20002025732028747279202768656C70272914
|
||||
:101D30000D0A00000FB4F0B589B0644C0FA80890EC
|
||||
:101D4000B0E00E98007807900E98401C0E9007980F
|
||||
:101D5000252803D007982070641CA3E0002006907B
|
||||
:101D6000202605900E9800782D2804D10120069099
|
||||
:101D70000E98401C0E900E980078302803D1302623
|
||||
:101D80000E98401C0E900BE00E9800780E99491C9E
|
||||
:101D90000E91014630390A220598504308180590E3
|
||||
:101DA0000E980078302803DB0E9800783928EBDD98
|
||||
:101DB0000E9800786C2802D10E98401C0E900E9858
|
||||
:101DC0000578002D02D00E98401C0E90642D21D075
|
||||
:101DD00006DC252D58D0582D45D0632D58D112E062
|
||||
:101DE000732D04D0752D2CD0782D51D13AE02020C0
|
||||
:101DF0000090089802C808902046069B059A00F0BB
|
||||
:101E000009FD04464CE008980178001D08902170F7
|
||||
:101E1000641C45E0089880C80890FB0F002F01DA89
|
||||
:101E2000784200E038460A2202A9019000F019FD2C
|
||||
:101E3000009602A92046069B059A00F0EBFC04469A
|
||||
:101E40002EE0089901C900230A22089102A900F096
|
||||
:101E500008FD009602A92046069B059A00F0DAFCD0
|
||||
:101E600004461DE000BF089901C900231022089113
|
||||
:101E700002A900F0F6FC009602A92046069B059AEE
|
||||
:101E800000F0C8FC04460BE025202070641C07E02D
|
||||
:101E900025202070641C002D01D02570641C00BF1B
|
||||
:101EA00000BF00BF0E980078002804D007485430C7
|
||||
:101EB000844200D245E7002008902070034800F0DB
|
||||
:101EC00007F809B0F0BC08BC04B01847944C0020D7
|
||||
:101ED00070B504462046FEF74DF985B229462046E6
|
||||
:101EE000FFF780FD70BD000001460A684B68094895
|
||||
:101EF00082420DD3084882420AD8084608308342FD
|
||||
:101F000006D3072080030818834201D201207047BE
|
||||
:101F10000020FCE70140002000C000200446012012
|
||||
:101F2000C007204305490863206880F3088800BF84
|
||||
:101F300062B66068804700BFFEE7000000700040A6
|
||||
:101F40001CB52F4C2F480190002700262E492068F1
|
||||
:101F500088421CD128212046FFF764FEA16A8842EE
|
||||
:101F600015D16168022902D12146183101E02146CC
|
||||
:101F7000083108460127234A0168914206D34122CD
|
||||
:101F800092040168914201D20168019100BFFFF7FC
|
||||
:101F900075FC1EA000F00FFCFFF75CFC05460FE08F
|
||||
:101FA0006846FFF7F3FC002809D0684600780D2842
|
||||
:101FB00003D0684600780A2801D1012607E000BF57
|
||||
:101FC000FFF748FC401B7D2109018842E8D300BF90
|
||||
:101FD000002E0AD1002F08D10A48FFF785FF0028FC
|
||||
:101FE00003D1012619A000F0E6FB002E04D024A0A6
|
||||
:101FF00000F0E1FBFFF77EFB0198FFF78FFF000089
|
||||
:10200000004000010080000111C011CA0D0A5B628E
|
||||
:102010006F6F745D2043414949432D424F4F542017
|
||||
:1020200056312E30312E3030202D20456E746572A1
|
||||
:102030002077697468696E2032733A20646F776E16
|
||||
:102040006C6F6164206D6F64650D0A005B626F6F79
|
||||
:10205000745D206E6F2076616C6964206170702001
|
||||
:10206000696D6167652C20666F7263656420646FBB
|
||||
:10207000776E6C6F6164206D6F64650D0A000000FF
|
||||
:102080005B626F6F745D20444F574E4C4F4144204C
|
||||
:102090004D4F444520286F74612F636C69206F7623
|
||||
:1020A000657220554152542C202768656C7027209A
|
||||
:1020B000666F7220636F6D6D616E6473290D0A0027
|
||||
:1020C00030B502460F4817E01578521C2C026040CC
|
||||
:1020D00000230EE00124E4030440002C04D044005B
|
||||
:1020E000094D6C40A4B201E04404240C20465C1C61
|
||||
:1020F000E3B2082BEED300BF0B464C1EA1B2002B5F
|
||||
:10210000E2D130BDFFFF00002110000010B50446F1
|
||||
:1021100011E00C4909680C4A12688818FEF704FFA0
|
||||
:10212000002801D0052010BD0748006801210903DF
|
||||
:1021300040180549086004480068A042E9D300201F
|
||||
:10214000F1E70000144000202C400020F7B586B0D5
|
||||
:102150000C4615460C2D09D0102D07D00023012266
|
||||
:102160001021069800F05EFA09B0F0BD204600F09C
|
||||
:102170004DFA0646201D00F049FA05902046083029
|
||||
:1021800000F044FA0490102D04D120460C3000F0E9
|
||||
:102190003DFA00E00020039036480078002807D080
|
||||
:1021A0003548022210210368069800F03BFADBE76D
|
||||
:1021B000324F33493868884208D128213846FFF722
|
||||
:1021C00031FDB96A884201D1012000E00020019070
|
||||
:1021D0000198002804D07868012801D1294800E03E
|
||||
:1021E00029480290042E03D307208003864206D993
|
||||
:1021F000002303221021069800F014FAB4E72348C4
|
||||
:102200000078002804D1FEF7ADFE01201F490870B8
|
||||
:102210000120184908701E49029808601D48066090
|
||||
:102220001D49059808601D4904980860002012495E
|
||||
:1022300008601B4908601B4908601B490860039837
|
||||
:10224000C007C00F002806D0184800681849884207
|
||||
:1022500001D1012000E00020164908700020164935
|
||||
:10226000087000231A461021069800F0DBF900BF21
|
||||
:102270007AE70000104000202440002000400001C8
|
||||
:1022800011C011CA00400201008000013840002046
|
||||
:1022900014400020184000201C4000202040002056
|
||||
:1022A000284000202C4000203440002040400020E6
|
||||
:1022B000A12600014440002045400020F7B582B02F
|
||||
:1022C00061480078002807D10023022211210298DA
|
||||
:1022D00000F0A8F905B0F0BD0498042807D25B48C7
|
||||
:1022E000012211210368029800F09CF9F2E703989B
|
||||
:1022F00000F08CF901900398061D0498041F0094C7
|
||||
:10230000524901980968884212D051480078002843
|
||||
:1023100003D050480078002809D14C4802221121EE
|
||||
:102320000368029800F07EF901204A490870D1E75D
|
||||
:1023300046480068001948490968884207D9434857
|
||||
:10234000032211210368029800F06CF9C2E73F48AC
|
||||
:10235000006800193D49086008460068FFF7D6FE8E
|
||||
:102360000546002D21D13D48006800281DD00AE017
|
||||
:1023700031783A4802680068401C384B1860384889
|
||||
:102380008154761C641E35480068042801D2002C54
|
||||
:10239000EED132480068042807D10421304800F00B
|
||||
:1023A00019F9054600202D490860002D0BD1042C99
|
||||
:1023B00009D3A708BF003946304600F00BF905469F
|
||||
:1023C000F619E41B00BF002D08D1002C06D02246D0
|
||||
:1023D00031462348FDF7AAFE20480460002D09D0AD
|
||||
:1023E0001A482A4611210368029800F01BF9FFF7EA
|
||||
:1023F0003BF86FE70020174908701548007800285F
|
||||
:1024000019D0124801680098081A000B00030F4900
|
||||
:102410000968090B0903884205D10C4800680E4978
|
||||
:102420000968884206D109480022112103680298F0
|
||||
:1024300000F0F8F84EE705480022112103680298E1
|
||||
:1024400000F0F0F800BF45E71040002024400020D5
|
||||
:102450004440002045400020184000203440002027
|
||||
:1024600030400020F7B50E4650480078002806D1CD
|
||||
:10247000002302221221009800F0D4F8FEBD029839
|
||||
:10248000042807D04A48012212210368009800F06E
|
||||
:10249000C9F8F3E7304600F0B9F80546444800684B
|
||||
:1024A00044490968884207D0414802221221036842
|
||||
:1024B000009800F0B7F8E1E73F480068002820D016
|
||||
:1024C00008E0FF213C4802680068401C3A4B186055
|
||||
:1024D0003A488154384800680428F2D30421374828
|
||||
:1024E00000F078F8002809D031480522122103684D
|
||||
:1024F000009800F097F8FEF7B7FFBFE700202E49DD
|
||||
:1025000008602C4801682E480068FFF78BFB0446E2
|
||||
:10251000AC4203D12B480068844209D024480422ED
|
||||
:1025200012210368009800F07DF8FEF79DFFA5E7F3
|
||||
:1025300023480068001D00F069F80746204800683D
|
||||
:102540000830874206D31E4800681A4909684018B7
|
||||
:10255000B84209D81648062212210368009800F0F4
|
||||
:1025600061F8FEF781FF89E700F0A8F8002809D09C
|
||||
:102570000F48052212210368009800F053F8FEF777
|
||||
:1025800073FF7BE70020104908700A4800221221DF
|
||||
:102590000368009800F046F8FFF75CF90B49086003
|
||||
:1025A00001200B49087000BF68E7000010400020C0
|
||||
:1025B00024400020184000203440002030400020FB
|
||||
:1025C000144000201C400020394000203C400020E6
|
||||
:1025D0003A40002070B505460C460A4909680A4A87
|
||||
:1025E0001268881822462946FEF7D8FC002801D038
|
||||
:1025F000052070BD044800680019034908600020E8
|
||||
:10260000F7E7000014400020284000200146087829
|
||||
:102610004A78120210438A7812041043CA781206CC
|
||||
:1026200010437047FFB587B005460E461C46684606
|
||||
:1026300006750999417584752004010E6846C175B7
|
||||
:102640002002010E68460176200E6946487613483E
|
||||
:10265000006800281FD0CA21684601711F214171FE
|
||||
:1026600085710621C17100210172062205A9093078
|
||||
:10267000FDF75CFD0A2101A80130FFF721FD0746A7
|
||||
:102680006846C773391201740D2101A8034A126804
|
||||
:1026900090470BB0F0BD00BFFBE7000040400020BA
|
||||
:1026A00070B504460D4629462046FFF79BF90120E8
|
||||
:1026B0000149087070BD00003940002010B58CB091
|
||||
:1026C0002C222A4901A8FDF731FD294901988842A9
|
||||
:1026D00006D128212548FFF7A5FA0B99884203D097
|
||||
:1026E0002C2101A8FDF73BFD2148019021480068FD
|
||||
:1026F0002149884201D1012000E0022002901D48BA
|
||||
:1027000000681D49884201D103A800E007A80446DB
|
||||
:102710001848006820601948006860601848006820
|
||||
:10272000A06018480068E060282101A8FFF77AFA45
|
||||
:102730000B900E48FEF7F8FB002802D005200CB0E5
|
||||
:1027400010BD2C2201A90948FEF728FC002801D061
|
||||
:102750000520F4E72C22054901A8FDF720FD0028FB
|
||||
:1027600001D00520EBE70020E9E700000040000170
|
||||
:1027700011C011CA14400020008000011840002040
|
||||
:102780001C40002020400020F8B504460D460020E3
|
||||
:102790000090002269462046FDF70EFD064600988F
|
||||
:1027A000A04203D000980078002801D00120F8BD95
|
||||
:1027B0002E600020FBE710B5044604E02046641CB0
|
||||
:1027C0000121FFF70FF920780028F7D110BD000094
|
||||
:1027D00070B5D2B00024002500BFEFF3108006468C
|
||||
:1027E000FF21453101A8FDF7BAFC01AC0134982264
|
||||
:1027F000074901A8FDF79AFC0120FEF72EFEA0472D
|
||||
:1028000005463046FEF729FE284652B070BD00004E
|
||||
:102810000E2A0001F8B504460D4616461F46284606
|
||||
:10282000FDF7A8FC0090002F08D102E00698207068
|
||||
:10283000641C3046761E00998842F7DC03E0287855
|
||||
:1028400020706D1C641C28780028F8D102E020203C
|
||||
:102850002070641C3046761E00998842F7DC2046C2
|
||||
:10286000F8BDFFB583B007460C46002500BF3846CB
|
||||
:102870000599FDF745FC0E460A2E02D2304630304F
|
||||
:1028800001E030463730C2B22846691CCDB26946F5
|
||||
:102890000A5438460599FDF733FC0746002FE6D168
|
||||
:1028A0000698002805D02D222846691CCDB269461D
|
||||
:1028B0000A5406E0681EC0B205466946085C2070EE
|
||||
:1028C000641C002DF6D10020207007B0F0BD40BA86
|
||||
:1028D0007047C0BA70470138FDD170470000F7B5A6
|
||||
:1028E0000325AD06286A82B016460C464008400013
|
||||
:1028F0002862286A022108432862286A8007FCD4DB
|
||||
:102900006620686001272F61A86AC005FCD5992060
|
||||
:1029100068602F61A86AC005FCD5FF209130FFF7E1
|
||||
:10292000DAFFFF230133AB626846EF60352169604F
|
||||
:102930002F61A96AC905FCD5AB62A969EF60C9B26C
|
||||
:1029400005226A602F61AA6AD205FCD5AB62AA692A
|
||||
:102950000902D2B211430180C80702D0032005B09A
|
||||
:10296000F0BDAB626869FF2108318843686168691E
|
||||
:10297000C91E084368610298000248306860082058
|
||||
:10298000A860EE602F61A86AC005FCD5FF20013069
|
||||
:10299000A8620023F61CB0080ED0B20811480068E7
|
||||
:1029A00099006054060A09194E70060C000E8E70CC
|
||||
:1029B0005B1CC8709A42F1D8FF200130A862686998
|
||||
:1029C000FF21083188436861686938436861286A73
|
||||
:1029D000800880002862286A38432862002005B0F9
|
||||
:1029E000F0BD8000000C032080064169FF22083200
|
||||
:1029F00091434161426901210A434261026A92089E
|
||||
:102A000092000262026A0A430262704700000020DC
|
||||
:102A100003218906096A49084900032292061162C6
|
||||
:102A20001146096A0222114303229206116200BF75
|
||||
:102A300003218906096A022211400229F8D0D10136
|
||||
:102A40000322920691620321D1609F2151600121EE
|
||||
:102A5000116100BF03218906896AFF2201321140FA
|
||||
:102A60009142F7D103229206916211468869496921
|
||||
:102A7000FF220832914303229206516111464969AF
|
||||
:102A8000012211430322920651611146096A890805
|
||||
:102A9000890011621146096A01221143032292063C
|
||||
:102AA0001162704700000000E0300001AC3000010E
|
||||
:102AB000F50900019030000180300001B10B0001E8
|
||||
:102AC000A4300001AC2F000115090001E83000011D
|
||||
:102AD00054300001FD050001203100013C2F0001B0
|
||||
:102AE0001D060001603100012831000125030001AD
|
||||
:102AF00050300001742F0001A90A000118310001B3
|
||||
:102B0000E42F0001C50A000198300001F0300001F7
|
||||
:102B1000010B00010000000001020304000001029B
|
||||
:102B20000138FDD170470000F0B40324A406236AE5
|
||||
:102B30005B085B002362236A02252B432362236A1E
|
||||
:102B40009B07FCD4FF230133A3626569DE1DB543F7
|
||||
:102B5000656165691E1D3543656100026B3060600B
|
||||
:102B60000820A060E26001262661A06AC005FCD5AD
|
||||
:102B7000A3620023D21C90080ED095080F4800686D
|
||||
:102B80009A008854070A52185770070C000E977065
|
||||
:102B90005B1CD0709D42F1D86069FF2108318843E9
|
||||
:102BA0006061606930436061206A80088000206253
|
||||
:102BB000206A30432062F0BC002070478000000C87
|
||||
:102BC000F8B5064601200025C004864201D905203B
|
||||
:102BD000F8BD0324A406206A400840002062206A51
|
||||
:102BE000022108432062206A8007FCD4FF270137B6
|
||||
:102BF000A76200F0BBF8002801D0032515E00620ED
|
||||
:102C0000606001212161A06AC005FCD5A762300285
|
||||
:102C1000203060602161A06AC005FCD5A7620C4825
|
||||
:102C200000F0C8F8002800D102256069FF210831B2
|
||||
:102C3000884360616069012108436061206A8008FF
|
||||
:102C400080002062206A084320622846F8BD000008
|
||||
:102C5000E6960100F7B506460120C00482B015468D
|
||||
:102C6000864202D9052005B0F0BD03208006016A26
|
||||
:102C7000490849000162016A022211430162016AA6
|
||||
:102C80008907FCD4FF2101318162F2B28C1AA5427E
|
||||
:102C900000D8ACB20398009000F068F8002840D14A
|
||||
:102CA00006214806416001210161816AC905FCD500
|
||||
:102CB000FF2101310320800681624169FF22083231
|
||||
:102CC0009143416141690422114341613102323132
|
||||
:102CD0004160C4600022002C16D9009887183B7808
|
||||
:102CE000F87819467B7800061B021943BB781B0451
|
||||
:102CF000194301430802F978000A090608431949F3
|
||||
:102D00000860121DA242E8D3012103208006016160
|
||||
:102D1000816AC905FCD5FF2101318162124800F0AA
|
||||
:102D200049F8A54209D00398361900192D1BFF2434
|
||||
:102D300001340390A542ADD8ABE70320800641697A
|
||||
:102D4000FF220832914341614169012211434161EF
|
||||
:102D5000016A890889000162016A11430162002049
|
||||
:102D600005B0F0BD8000000C1A06000038B4012543
|
||||
:102D7000032080066A46C560352141600561816A8D
|
||||
:102D8000C905FCD5FF24013484628169C560CBB2DA
|
||||
:102D9000052141600561816AC905FCD584628069AD
|
||||
:102DA0001902C0B2014388B21180C00700D00120CF
|
||||
:102DB00038BC7047F8B400210125032292066B4607
|
||||
:102DC000D560352454601561946AE405FCD5FF276D
|
||||
:102DD000013797629469D560E4B2052656601561A3
|
||||
:102DE000966AF605FCD5976296692402F6B23443DA
|
||||
:102DF0001C80E30722D0814202D9F8BC0020704732
|
||||
:102E0000032292066B46D560352454601561491C37
|
||||
:102E1000946AE405FCD597629469D560E4B205260E
|
||||
:102E200056601561966AF605FCD597629269240290
|
||||
:102E3000D2B21443A2B21C80D207DCD1F8BC01206C
|
||||
:102E40007047000000404040404040404040414109
|
||||
:102E5000414141404040404040404040404040406F
|
||||
:102E60004040404040050202020202020202020209
|
||||
:102E70000202020202202020202020202020200206
|
||||
:102E80000202020202029090909090901010101096
|
||||
:102E90001010101010101010101010101010101032
|
||||
:102EA00002020202020288888888888808080808C6
|
||||
:102EB0000808080808080808080808080808080892
|
||||
:102EC0000202020240000000452E00015B6F7461A7
|
||||
:102ED0005D2062696E617279206D6F6465204F4E6E
|
||||
:102EE000202D2073656E642030784341204F54417B
|
||||
:102EF000206672616D6573206E6F770D0A28626CB3
|
||||
:102F0000655F70726F746F636F6C2E6D6420736594
|
||||
:102F10006374696F6E20362E363B204F54415F41FB
|
||||
:102F2000424F5254206F722033732069646C6520C5
|
||||
:102F30006578697473290D0A000000006273736577
|
||||
:102F400074203C6669656C643E203C76616C3E3A58
|
||||
:102F500020777269746520626F6F74736574746929
|
||||
:102F60006E67206669656C642028636172656675AA
|
||||
:102F70006C2129006F74613A205541525420656ECE
|
||||
:102F800074657273204F54412062696E61727920BA
|
||||
:102F90006672616D65206D6F6465202873656520BC
|
||||
:102FA00068656C70206F74612900000073686F772A
|
||||
:102FB00020626F6F7420696E666F202B20637572BC
|
||||
:102FC0002062616E6B20284F5441207772697465CE
|
||||
:102FD0007320746865204F544845522062616E6BBF
|
||||
:102FE0002900000072657365743A20737973746503
|
||||
:102FF0006D20726573657420287265626F6F742925
|
||||
:10300000000000000D0A434C49207265616479207C
|
||||
:1030100028626F6F746C6F6164657220646F776E85
|
||||
:103020006C6F6164206D6F6465292E205479706522
|
||||
:10303000202768656C702720666F7220636F6D6D46
|
||||
:10304000616E64732E0D0A63616969632D3E000031
|
||||
:103050006F746100627364756D703A2073686F7786
|
||||
:1030600020626F6F7473657474696E672072656334
|
||||
:103070006F7264202B2063726320636865636B004A
|
||||
:1030800073686F7720626F6F746C6F616465722014
|
||||
:1030900076657273696F6E0075617274696E666FC2
|
||||
:1030A00000000000646576696E666F0068656C708C
|
||||
:1030B000205B636D645D3A206C69737420636F6D8F
|
||||
:1030C0006D616E6473202F2073686F77206F6E655B
|
||||
:1030D00020636F6D6D616E6427732068656C70008E
|
||||
:1030E00068656C7000000000627364756D700000AC
|
||||
:1030F00075617274696E666F3A2073686F772055D8
|
||||
:1031000053415254312070696E732F626175642F80
|
||||
:10311000666F726D61740000726573657400000003
|
||||
:1031200062737365740000006170707377205B31A7
|
||||
:103130007C325D3A2073776974636820626F6F74C4
|
||||
:103140002062616E6B202863726320766572696607
|
||||
:1031500069656429202B207265626F6F740000001E
|
||||
:10316000617070737700000061707073773A20624D
|
||||
:10317000616E6B256C7520696D6167652063726394
|
||||
:10318000206D69736D6174636820287265636F7266
|
||||
:10319000642030782530386C582C20616374756158
|
||||
:1031A0006C2030782530386C58290D0A000000005A
|
||||
:1031B0002020202020202020206231616464727C45
|
||||
:1031C0006232616464727C623173697A657C6232F6
|
||||
:1031D00073697A657C62316372637C6232637263A5
|
||||
:1031E0007C62317665727C6232766572203C6865FD
|
||||
:1031F000787C6465633E0D0A000000001C3200010B
|
||||
:1032000000400020600000003C1400017C320001FE
|
||||
:1032100060400020F81900004C1400010090D00319
|
||||
:10322000000000000000000000000000000000009E
|
||||
:10323000000000000000000000000000000000008E
|
||||
:10324000000000000000000000000000000000007E
|
||||
:10325000000000000000000000000000000000006E
|
||||
:10326000000000000000000000000000000000005E
|
||||
:0C32700000000000000000000000000052
|
||||
:1040000011C011CA010000000080000124DB000083
|
||||
:10401000192ACFC71B0001000000000000000000AB
|
||||
:0C40200000000000000000007EE8E73314
|
||||
:104010006EDA83231C000100000000000000000095
|
||||
:0C40200000000000000000001AC4DC25B5
|
||||
:10800000E8BD002069810001718100015DB10001BE
|
||||
:108010000000000000000000000000000000000060
|
||||
:10802000000000000000000000000000C5B50001D5
|
||||
@ -780,8 +1463,8 @@
|
||||
:10A8A000854203D134A003F069FC03E029463AA0B5
|
||||
:10A8B00003F0FEFB09F00EFB7D21C900FDF762FCF1
|
||||
:10A8C000014639A003F0F4FB08F00CFF01463AA062
|
||||
:10A8D00003F0EEFBF8BD00001B00010056312E30E6
|
||||
:10A8E000302E3237000000006669726D7761726544
|
||||
:10A8D00003F0EEFBF8BD00001C00010056312E30E5
|
||||
:10A8E000302E3238000000006669726D7761726543
|
||||
:10A8F0003A202573202830782530386C58290D0AE5
|
||||
:10A90000000000006375722062616E6B3A20415056
|
||||
:10A910005025750D0A000000FF7F00006368697014
|
||||
@ -867,7 +1550,7 @@
|
||||
:10AE10002C20727820717565756520666C75736875
|
||||
:10AE200065640D0A0000000010B506A108A003F03B
|
||||
:10AE30003FF90DA003F0A2F91948016819A003F029
|
||||
:10AE400037F910BD56312E30302E32370000000059
|
||||
:10AE400037F910BD56312E30302E32380000000058
|
||||
:10AE50006669726D776172652076657273696F6E6F
|
||||
:10AE60003A2025730D0A00006D636D2D6464632D17
|
||||
:10AE7000626C653A20424C452872647473732920D1
|
||||
@ -2103,7 +2786,7 @@
|
||||
:10FB500029F809B0F0BD13E0FDF76EFA10498842AC
|
||||
:10FB600001D1022000E001206946087401200090C4
|
||||
:10FB700004AB22460799069800F014F809B0F0BDCE
|
||||
:10FB8000079809B0F0BD0000FFFF00001B00010056
|
||||
:10FB8000079809B0F0BD0000FFFF00001C00010055
|
||||
:10FB900000080240A4470020FF7F00000000204131
|
||||
:10FBA0000040020130B4029C42540546491C88B210
|
||||
:10FBB0002C54401C002180B2002C07D95A5C2A54D6
|
||||
@ -2165,7 +2848,7 @@
|
||||
:10FF30003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DF1
|
||||
:10FF40003D0A0000206D636D2D6464632D626C6555
|
||||
:10FF50003A20424C45202B204672656552544F533F
|
||||
:10FF6000202B20434C490A0056312E30302E323798
|
||||
:10FF6000202B20434C490A0056312E30302E323897
|
||||
:10FF700000000000204669726D7761726520766529
|
||||
:10FF80007273696F6E2025730A0000000040002024
|
||||
:10FF90002053797374656D436F7265436C6F636B47
|
||||
|
||||
Binary file not shown.
@ -2,6 +2,6 @@
|
||||
"file": "mothercup_ble_prod_ota.bin",
|
||||
"target_bank": 1,
|
||||
"size": 56100,
|
||||
"crc32": "0xC7CF2A19",
|
||||
"version": 65563
|
||||
"crc32": "0x2383DA6E",
|
||||
"version": 65564
|
||||
}
|
||||
Binary file not shown.
@ -2,6 +2,6 @@
|
||||
"file": "mothercup_ble_prod_ota_app2.bin",
|
||||
"target_bank": 2,
|
||||
"size": 56400,
|
||||
"crc32": "0x0198204E",
|
||||
"version": 65563
|
||||
"crc32": "0xE5D4D039",
|
||||
"version": 65564
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user