USART1波特率115200->1000000(APB2=64MHz分频4.0零误差);RX维持RXDNE中断不切DMA(评估记录见开发日志第20节)

This commit is contained in:
evan.liu 2026-09-02 08:54:47 +08:00
parent 5d5c1d827c
commit 7aa2834828
26 changed files with 73 additions and 34 deletions

View File

@ -31,7 +31,7 @@
mcm-ddc-04/ mcm-ddc-04/
├── app/ ├── app/
│ ├── main.c # 入口:VTOR 重映射 → USART 初始化+banner → LED 初始化 → app_ble_init → 建队列/任务/CLI → vTaskStartScheduler │ ├── main.c # 入口:VTOR 重映射 → USART 初始化+banner → LED 初始化 → app_ble_init → 建队列/任务/CLI → vTaskStartScheduler
│ ├── bsp_usart.c/.h # USART1 初始化(PB6/PB7,115200 8N1)+ fputc 重定向('\n' 前自动补 '\r')+ DMA TX(CH1,轮询完成)+ RXDNE 中断字节队列 + TX 互斥锁 │ ├── bsp_usart.c/.h # USART1 初始化(PB6/PB7,1000000 8N1)+ fputc 重定向('\n' 前自动补 '\r')+ DMA TX(CH1,轮询完成)+ RXDNE 中断字节队列 + TX 互斥锁
│ ├── bsp_led.c/.h # LED1(PB0)/LED2(PA6) 初始化、on/off/toggle │ ├── bsp_led.c/.h # LED1(PB0)/LED2(PA6) 初始化、on/off/toggle
│ ├── app_tasks.c/.h # 3 个 FreeRTOS 任务 + 日志队列(生产者-消费者模型)+ 主动打印开关(默认关) │ ├── app_tasks.c/.h # 3 个 FreeRTOS 任务 + 日志队列(生产者-消费者模型)+ 主动打印开关(默认关)
│ ├── app_cli.c/.h # CLI UART 前端:CliTask 行接收/编辑/历史/Tab/Ctrl+Z,分行后交 cli_core 执行 │ ├── app_cli.c/.h # CLI UART 前端:CliTask 行接收/编辑/历史/Tab/Ctrl+Z,分行后交 cli_core 执行
@ -77,7 +77,7 @@ SDK 源码(固件库、CMSIS、FreeRTOS V9.0.0、BLE 协议栈/profile/ns_libr
1. Keil 打开 `MDK-ARM/embeddedSrc.uvprojx`,F7 编译 1. Keil 打开 `MDK-ARM/embeddedSrc.uvprojx`,F7 编译
2. NS-LINK 接 SWD(PA4/PA5),F8 下载——Boot 跳转不校验镜像 CRC 后,Keil 直接下载 APP 即可正常启动调试;工程调试配置挂了 `MDK-ARM/debug_app.ini`(强制 SP/PC 从 APP1 向量表取,跳过 Boot 旁路,可选) 2. NS-LINK 接 SWD(PA4/PA5),F8 下载——Boot 跳转不校验镜像 CRC 后,Keil 直接下载 APP 即可正常启动调试;工程调试配置挂了 `MDK-ARM/debug_app.ini`(强制 SP/PC 从 APP1 向量表取,跳过 Boot 旁路,可选)
3. 独立运行(脱调试器)需烧整片包:`tools\flash_package.bat tools\out\caiic_full.bin`(改代码后先 `make_package.bat` 重新出包)。**板子上烧过其他 0x01000000 起步的程序会覆盖 Boot/bootsetting,恢复靠重烧整片包** 3. 独立运行(脱调试器)需烧整片包:`tools\flash_package.bat tools\out\caiic_full.bin`(改代码后先 `make_package.bat` 重新出包)。**板子上烧过其他 0x01000000 起步的程序会覆盖 Boot/bootsetting,恢复靠重烧整片包**
4. 串口助手接 PB6(TX)/PB7(RX),115200 8N1,复位后应看到启动 banner 与 `caiic->` CLI 提示符(输入 `help` 查看命令;LED 滚动日志默认关闭,用 `log on` 打开) 4. 串口助手接 PB6(TX)/PB7(RX),**1000000** 8N1(1Mbps,APB2=64MHz 分频 4.0 零误差),复位后应看到启动 banner 与 `caiic->` CLI 提示符(输入 `help` 查看命令;LED 滚动日志默认关闭,用 `log on` 打开)
5. BLE:手机 nRF Connect 应能搜到并连接 `CAIIC-MCM`,可见自定义服务(写特征 + notify 特征) 5. BLE:手机 nRF Connect 应能搜到并连接 `CAIIC-MCM`,可见自定义服务(写特征 + notify 特征)
## 硬件引脚约束(重要) ## 硬件引脚约束(重要)

View File

@ -3581,7 +3581,7 @@ Image Symbol Table
bsp_led_off 0x0100b6a1 Thumb Code 16 bsp_led.o(i.bsp_led_off) bsp_led_off 0x0100b6a1 Thumb Code 16 bsp_led.o(i.bsp_led_off)
bsp_led_on 0x0100b6b1 Thumb Code 16 bsp_led.o(i.bsp_led_on) bsp_led_on 0x0100b6b1 Thumb Code 16 bsp_led.o(i.bsp_led_on)
bsp_led_toggle 0x0100b6c1 Thumb Code 16 bsp_led.o(i.bsp_led_toggle) bsp_led_toggle 0x0100b6c1 Thumb Code 16 bsp_led.o(i.bsp_led_toggle)
bsp_usart_init 0x0100b6d1 Thumb Code 194 bsp_usart.o(i.bsp_usart_init) bsp_usart_init 0x0100b6d1 Thumb Code 192 bsp_usart.o(i.bsp_usart_init)
bsp_usart_read_byte 0x0100b7ad Thumb Code 66 bsp_usart.o(i.bsp_usart_read_byte) bsp_usart_read_byte 0x0100b7ad Thumb Code 66 bsp_usart.o(i.bsp_usart_read_byte)
bsp_usart_rx_isr_handler 0x0100b7f5 Thumb Code 68 bsp_usart.o(i.bsp_usart_rx_isr_handler) bsp_usart_rx_isr_handler 0x0100b7f5 Thumb Code 68 bsp_usart.o(i.bsp_usart_rx_isr_handler)
bsp_usart_tx_lock 0x0100b849 Thumb Code 30 bsp_usart.o(i.bsp_usart_tx_lock) bsp_usart_tx_lock 0x0100b849 Thumb Code 30 bsp_usart.o(i.bsp_usart_tx_lock)
@ -4371,7 +4371,7 @@ Image component sizes
380 110 16 5 0 3567 app_tasks.o 380 110 16 5 0 3567 app_tasks.o
68 6 0 0 0 930 boot_crc32.o 68 6 0 0 0 930 boot_crc32.o
168 16 0 0 0 2791 bsp_led.o 168 16 0 0 0 2791 bsp_led.o
672 76 0 8 0 6942 bsp_usart.o 672 78 0 8 0 6942 bsp_usart.o
1710 838 362 4 480 9901 cli_core.o 1710 838 362 4 480 9901 cli_core.o
664 72 0 24 22528 6048 heap_4.o 664 72 0 24 22528 6048 heap_4.o
204 8 0 0 0 31614 lib_att.o 204 8 0 0 0 31614 lib_att.o
@ -4403,7 +4403,7 @@ Image component sizes
3408 442 0 60 240 30176 tasks.o 3408 442 0 60 240 30176 tasks.o
---------------------------------------------------------------------- ----------------------------------------------------------------------
33842 4408 6932 10596 33056 849057 Object Totals 33842 4410 6932 10596 33056 849057 Object Totals
204 68 32 0 0 0 (incl. Generated) 204 68 32 0 0 0 (incl. Generated)
48 0 2 338 1 0 (incl. Padding) 48 0 2 338 1 0 (incl. Padding)
@ -4467,9 +4467,9 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Code (inc. data) RO Data RW Data ZI Data Debug
38080 4580 6932 10600 33056 835853 Grand Totals 38080 4582 6932 10600 33056 835853 Grand Totals
38080 4580 6932 1684 33056 835853 ELF Image Totals (compressed) 38080 4582 6932 1684 33056 835853 ELF Image Totals (compressed)
38080 4580 6932 1684 0 0 ROM Totals 38080 4582 6932 1684 0 0 ROM Totals
============================================================================== ==============================================================================

Binary file not shown.

Binary file not shown.

View File

@ -27,8 +27,13 @@ Project File Date: 09/01/2026
<h2>Output:</h2> <h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin' *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin'
Build target 'N32WB03X' Build target 'N32WB03X'
compiling app_ota.c... compiling main.c...
compiling cli_core.c... compiling cli_core.c...
compiling n32wb03x_it.c...
compiling bsp_usart.c...
compiling app_cli.c...
compiling app_tasks.c...
compiling app_ble.c...
linking... linking...
Program Size: Code=38080 RO-data=6932 RW-data=10600 ZI-data=33056 Program Size: Code=38080 RO-data=6932 RW-data=10600 ZI-data=33056
FromELF: creating hex file... FromELF: creating hex file...

View File

@ -878,17 +878,17 @@
:10B6C00070B504460D4629462046FDF7DBFE70BDE9 :10B6C00070B504460D4629462046FDF7DBFE70BDE9
:10B6D00000B58BB001210820FEF71EF90121880377 :10B6D00000B58BB001210820FEF71EF90121880377
:10B6E000FEF71AF905A8FDF7BBFE402005900220E1 :10B6E000FEF71AF905A8FDF7BBFE402005900220E1
:10B6F000069004200A9005A92648FDF72DFE80201B :10B6F000069004200A9005A92548FDF72DFE80201C
:10B70000059004200A9005A92248FDF725FEE120B6 :10B70000059004200A9005A92148FDF725FE21484F
:10B7100040020190002168460181418181810182BE :10B7100001900021684601814181818101820C21D3
:10B720000C21C18101A91C48FEF748FB01210846F4 :10B72000C18101A91C48FEF749FB01210846FEF72B
:10B73000FEF7E2F81948FDF71DFD0123174A1749E6 :10B73000E3F81A48FDF71EFD0123184A1749083996
:10B7400008390220FDF7A2FD012280211248FEF7F0 :10B740000220FDF7A3FD012280211348FEF7EEFA47
:10B75000EDFA00220121402005F0D3F910490860DC :10B7500000220121402005F0D4F9114908600120A0
:10B76000012005F0BFF90F49086001220E490A487F :10B7600005F0C0F90F49086001220F490A48FEF7A9
:10B77000FEF7A2FA1C2168460170032141700121E5 :10B77000A3FA1C21684601700321417001218170E8
:10B780008170FDF729FF01210348FEF7BFFA0BB0D6 :10B78000FDF72AFF01210448FEF7C0FA0BB000BD07
:10B7900000BD0000000C01400038014008000240DC :10B79000000C014040420F00003801400800024008
:10B7A0002C290020302900202505000070B5054611 :10B7A0002C290020302900202505000070B5054611
:10B7B0000C460F480068002800D170BD601C0028AE :10B7B0000C460F480068002800D170BD601C0028AE
:10B7C00001D1401E07E07D21C900614308467D216B :10B7C00001D1401E07E07D21C900614308467D216B

View File

@ -3,7 +3,7 @@
<title>Static Call Graph - [.\Objects\embeddedSrc.axf]</title></head> <title>Static Call Graph - [.\Objects\embeddedSrc.axf]</title></head>
<body><HR> <body><HR>
<H1>Static Call Graph for image .\Objects\embeddedSrc.axf</H1><HR> <H1>Static Call Graph for image .\Objects\embeddedSrc.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Wed Sep 02 08:07:08 2026 <BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Wed Sep 02 08:52:56 2026
<BR><P> <BR><P>
<H3>Maximum Stack Usage = 840 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> <H3>Maximum Stack Usage = 840 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3> Call chain for Maximum Stack Depth:</H3>
@ -1428,7 +1428,7 @@ Global Symbols
<LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedTask <LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedTask
</UL> </UL>
<P><STRONG><a name="[111]"></a>bsp_usart_init</STRONG> (Thumb, 194 bytes, Stack size 48 bytes, bsp_usart.o(i.bsp_usart_init)) <P><STRONG><a name="[111]"></a>bsp_usart_init</STRONG> (Thumb, 192 bytes, Stack size 48 bytes, bsp_usart.o(i.bsp_usart_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = bsp_usart_init &rArr; xQueueCreateMutex &rArr; xQueueGenericCreate &rArr; prvInitialiseNewQueue &rArr; xQueueGenericReset &rArr; xTaskRemoveFromEventList <BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = bsp_usart_init &rArr; xQueueCreateMutex &rArr; xQueueGenericCreate &rArr; prvInitialiseNewQueue &rArr; xQueueGenericReset &rArr; xTaskRemoveFromEventList
</UL> </UL>
<BR>[Calls]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init <BR>[Calls]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init

View File

@ -1521,7 +1521,7 @@ I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x60DC5C76) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x60DC5C76)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x60DC5C76) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x60DC5C76)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x60DC5C77) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x60DC5C77)
I (..\app\bsp_usart.h)(0x6A96C2A9) I (..\app\bsp_usart.h)(0x6A977336)
F (..\app\ble\app_profile\app_cls.c)(0x6A96DD91)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\app -I ..\..\Boot\src -I ..\app\ble -I ..\app\ble\app_profile -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM0 -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble -ID:\Keil_v5\Arm\Packs\Nationstech\N32WB03X_DFP\1.4.0\firmware\CMSIS\device -ID:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="531" -DN32WB03x -DUSE_STDPERIPH_DRIVER -DN32WB03X -DUSE_STDPERIPH_DRIVER -o .\objects\app_cls.o --omf_browse .\objects\app_cls.crf --depend .\objects\app_cls.d) F (..\app\ble\app_profile\app_cls.c)(0x6A96DD91)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\app -I ..\..\Boot\src -I ..\app\ble -I ..\app\ble\app_profile -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM0 -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble -ID:\Keil_v5\Arm\Packs\Nationstech\N32WB03X_DFP\1.4.0\firmware\CMSIS\device -ID:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="531" -DN32WB03x -DUSE_STDPERIPH_DRIVER -DN32WB03X -DUSE_STDPERIPH_DRIVER -o .\objects\app_cls.o --omf_browse .\objects\app_cls.crf --depend .\objects\app_cls.d)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api\rwip_config.h)(0x68CD0B3B) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api\rwip_config.h)(0x68CD0B3B)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\n32wb03x.h)(0x68CD0B30) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\n32wb03x.h)(0x68CD0B30)
@ -1773,14 +1773,14 @@ I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x60DC5C76) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x60DC5C76)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x60DC5C76) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x60DC5C76)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x60DC5C77) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x60DC5C77)
I (..\app\bsp_usart.h)(0x6A96C2A9) I (..\app\bsp_usart.h)(0x6A977336)
I (..\app\bsp_led.h)(0x6A96BAAF) I (..\app\bsp_led.h)(0x6A96BAAF)
I (..\app\app_tasks.h)(0x6A96C2F1) I (..\app\app_tasks.h)(0x6A96C2F1)
I (..\app\app_cli.h)(0x6A96C353) I (..\app\app_cli.h)(0x6A96C353)
I (..\app\ble\app_ble.h)(0x6A96E55A) I (..\app\ble\app_ble.h)(0x6A96E55A)
I (..\app\app_version.h)(0x6A96CB6E) I (..\app\app_version.h)(0x6A96CB6E)
F (..\app\bsp_usart.c)(0x6A96C2D9)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\app -I ..\..\Boot\src -I ..\app\ble -I ..\app\ble\app_profile -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM0 -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble -ID:\Keil_v5\Arm\Packs\Nationstech\N32WB03X_DFP\1.4.0\firmware\CMSIS\device -ID:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="531" -DN32WB03x -DUSE_STDPERIPH_DRIVER -DN32WB03X -DUSE_STDPERIPH_DRIVER -o .\objects\bsp_usart.o --omf_browse .\objects\bsp_usart.crf --depend .\objects\bsp_usart.d) F (..\app\bsp_usart.c)(0x6A977348)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ..\app -I ..\..\Boot\src -I ..\app\ble -I ..\app\ble\app_profile -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM0 -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec -I ..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble -ID:\Keil_v5\Arm\Packs\Nationstech\N32WB03X_DFP\1.4.0\firmware\CMSIS\device -ID:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="531" -DN32WB03x -DUSE_STDPERIPH_DRIVER -DN32WB03X -DUSE_STDPERIPH_DRIVER -o .\objects\bsp_usart.o --omf_browse .\objects\bsp_usart.crf --depend .\objects\bsp_usart.d)
I (..\app\bsp_usart.h)(0x6A96C2A9) I (..\app\bsp_usart.h)(0x6A977336)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\n32wb03x.h)(0x68CD0B30) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\n32wb03x.h)(0x68CD0B30)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cm0.h)(0x5FA56A96) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cm0.h)(0x5FA56A96)
I (D:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5EC775FC) I (D:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5EC775FC)
@ -1880,7 +1880,7 @@ I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\n32wb03x_keyscan.h)(0x68CD0B36) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\n32wb03x_keyscan.h)(0x68CD0B36)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\n32wb03x_qflash.h)(0x68CD0B36) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\n32wb03x_qflash.h)(0x68CD0B36)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\misc.h)(0x68CD0B30) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\misc.h)(0x68CD0B30)
I (..\app\bsp_usart.h)(0x6A96C2A9) I (..\app\bsp_usart.h)(0x6A977336)
I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5EC775FC) I (D:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5EC775FC)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x60DC5C77) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x60DC5C77)
I (D:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x5EC775FC) I (D:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x5EC775FC)
@ -1897,7 +1897,7 @@ F (..\app\app_cli.c)(0x6A96E473)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O0 --
I (..\app\app_cli.h)(0x6A96C353) I (..\app\app_cli.h)(0x6A96C353)
I (..\app\cli_core.h)(0x6A96E3D4) I (..\app\cli_core.h)(0x6A96E3D4)
I (D:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5EC775FC) I (D:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5EC775FC)
I (..\app\bsp_usart.h)(0x6A96C2A9) I (..\app\bsp_usart.h)(0x6A977336)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\n32wb03x.h)(0x68CD0B30) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\n32wb03x.h)(0x68CD0B30)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cm0.h)(0x5FA56A96) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cm0.h)(0x5FA56A96)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cmInstr.h)(0x5FA56A96) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cmInstr.h)(0x5FA56A96)
@ -1940,7 +1940,7 @@ F (..\app\cli_core.c)(0x6A96E429)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O0 -
I (..\app\cli_core.h)(0x6A96E3D4) I (..\app\cli_core.h)(0x6A96E3D4)
I (D:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5EC775FC) I (D:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5EC775FC)
I (..\app\app_version.h)(0x6A96CB6E) I (..\app\app_version.h)(0x6A96CB6E)
I (..\app\bsp_usart.h)(0x6A96C2A9) I (..\app\bsp_usart.h)(0x6A977336)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\n32wb03x.h)(0x68CD0B30) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\n32wb03x.h)(0x68CD0B30)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cm0.h)(0x5FA56A96) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cm0.h)(0x5FA56A96)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cmInstr.h)(0x5FA56A96) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core\core_cmInstr.h)(0x5FA56A96)
@ -2057,4 +2057,4 @@ I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\n32wb03x_keyscan.h)(0x68CD0B36) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\n32wb03x_keyscan.h)(0x68CD0B36)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\n32wb03x_qflash.h)(0x68CD0B36) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\n32wb03x_qflash.h)(0x68CD0B36)
I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\misc.h)(0x68CD0B30) I (..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc\misc.h)(0x68CD0B30)
I (..\app\bsp_usart.h)(0x6A96C2A9) I (..\app\bsp_usart.h)(0x6A977336)

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +1,12 @@
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin' *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin'
Build target 'N32WB03X' Build target 'N32WB03X'
compiling app_ota.c... compiling main.c...
compiling cli_core.c... compiling cli_core.c...
compiling n32wb03x_it.c...
compiling bsp_usart.c...
compiling app_cli.c...
compiling app_tasks.c...
compiling app_ble.c...
linking... linking...
Program Size: Code=38080 RO-data=6932 RW-data=10600 ZI-data=33056 Program Size: Code=38080 RO-data=6932 RW-data=10600 ZI-data=33056
FromELF: creating hex file... FromELF: creating hex file...

View File

@ -17,7 +17,7 @@ static QueueHandle_t s_rxQueue = NULL;
static SemaphoreHandle_t s_txMutex = NULL; static SemaphoreHandle_t s_txMutex = NULL;
/** /**
* @brief Initialize USART1 (115200 8N1) on PB6(TX)/PB7(RX), * @brief Initialize USART1 (1000000 8N1) on PB6(TX)/PB7(RX),
* DMA TX channel and the RX interrupt queue. * DMA TX channel and the RX interrupt queue.
*/ */
void bsp_usart_init(void) void bsp_usart_init(void)

View File

@ -1,7 +1,7 @@
/** /**
* @file bsp_usart.h * @file bsp_usart.h
* @brief USART1 support: printf retarget (polling TX), DMA TX, RX interrupt queue. * @brief USART1 support: printf retarget (polling TX), DMA TX, RX interrupt queue.
* TX=PB6, RX=PB7, 115200 8N1. * TX=PB6, RX=PB7, 1000000 8N1 (APB2=64MHz, divider=4.0, 0% error).
*/ */
#ifndef __BSP_USART_H__ #ifndef __BSP_USART_H__
#define __BSP_USART_H__ #define __BSP_USART_H__
@ -20,7 +20,7 @@ extern "C" {
#define BSP_USART_RX_PIN GPIO_PIN_7 #define BSP_USART_RX_PIN GPIO_PIN_7
#define BSP_USART_TX_GPIO_AF GPIO_AF4_USART1 #define BSP_USART_TX_GPIO_AF GPIO_AF4_USART1
#define BSP_USART_RX_GPIO_AF GPIO_AF4_USART1 #define BSP_USART_RX_GPIO_AF GPIO_AF4_USART1
#define BSP_USART_BAUDRATE 115200 #define BSP_USART_BAUDRATE 1000000
/* USART1 TX DMA channel (remap required on this chip) */ /* USART1 TX DMA channel (remap required on this chip) */
#define BSP_USART_TX_DMA_CH DMA_CH1 #define BSP_USART_TX_DMA_CH DMA_CH1

View File

@ -456,3 +456,32 @@ ISR 内不得调用 FreeRTOS FromISR API(本工程 BLE 事件均在 BLE 任务
全空/乱码。这是"简单"换来的取舍。 全空/乱码。这是"简单"换来的取舍。
- **在板子上烧过其他 0x01000000 起步的程序(SDK 例程 / mcm-ddc-ble)会覆盖 Boot 和 - **在板子上烧过其他 0x01000000 起步的程序(SDK 例程 / mcm-ddc-ble)会覆盖 Boot 和
bootsetting**,恢复方法:`tools\flash_package.bat tools\out\caiic_full.bin` 重烧整片包。 bootsetting**,恢复方法:`tools\flash_package.bat tools\out\caiic_full.bin` 重烧整片包。
---
日期:2026-09-02
## 20. 串口波特率提升到 1Mbps
### 20.1 可行性核实
- USART1 挂 APB2=64MHz(`n32wb03x_usart.c` 中 USART1 取 Pclk2),波特率发生器为
16 倍过采样 + 小数分频(同 STM32F1 算法)。
- 1Mbps 分频值 = 64MHz / (16 × 1M) = **4.0,误差 0%**(2M/4M 同样零误差)。
- 驱动断言上限 `IS_USART_BAUDRATE` = 4Mbps(`n32wb03x_usart.h`),1Mbps 远在范围内。
### 20.2 改动
- `bsp_usart.h`:`BSP_USART_BAUDRATE` 115200 → **1000000**,相关注释与 AGENTS.md 同步。
- 构建 0E0W(`Code=38080 RO-data=6932 RW-data=10600 ZI-data=33056`)。
- 注意:串口助手需切到 1000000;USB 转串口适配器需支持 1Mbps(CH340/CH343/FTDI 均可)。
### 20.3 决策:RX 暂不切 DMA
评估了 RX 由 RXDNE 逐字节中断改为 DMA 循环缓冲 + IDLE 中断的方案,结论**维持现状**:
- CLI 是人工输入速度,1Mbps 下逐字节中断负载可忽略;RX DMA 的收益只在串口灌大数据
(有线烧录/批量注入)时才存在,属出现需求后再做。
- DMA RX 引入循环缓冲管理、IDLE 中断、4 通道合一的 DMA IRQ 与 FromISR 优先级约束等
新出错点;现 RXDNE 方案已上板验证。
- 对 CLI 语义无影响(保持 `bsp_usart_read_byte()` 字节流接口即可),但无收益不改动。