nvs 和 ptb 报错, [E] (4) ptb: partition app exceeds flash size; [E] (6) nvs_pt: read pt nvs fail

发布于 2025-03-20 10: 14: 45

小白请教一下, 这个错误如何处理:

W806 方案, vscode 自动安装 wm iot sdk 和 wm dev suite.
creat empty project, menuconfig 中:
SOC configureation: W806
patition Table: Normal app
components configuration: COMPONENT_NVS_ENABLED=y
测试:
wm_iot_sdk/examples/storage/nvs/main/src/main. c

编译和刷入正常, 但运行报错如下:
[E] (4) ptb: partition app exceeds flash size
[E] (6) nvs_pt: read pt nvs fail
[I] (6) main: ver: 2. 3-beta. 2 build at Mar 20 2025 10: 02: 36
[I] (6) main: boot reason 0
[I] (6) main: heap size 273256 (266. 85KB)
[I] (7) main: flash size 0x100000 (1MB)
[I] (8) exam_pt: This example succeeds in running.
[E] (10) ptb: partition app exceeds flash size
[I] (10) exam_pt: Partition table init failed.

[I] (10) exam_pt: Get nvs failed, ret=-7

编译信息:
clean complete
PS D: temphelloword cd "d: temphelloword"; wm. py build
[2/3] show partition table

        name,             offset,     size,       flag
        ft,               0x0,        0x2000,     0x0
        bootloader,       0x2000,     0xC000,     0x0
        partition_table,  0xE000,     0x1000,     0x0
        app,              0xF000,     0x100000,   0x0
        nvs,              0x1F0000,   0x8000,     0x0

[3/3] Generate device table
[85/85] Linking C executable helloword. elf
Memory region Used Size Region Size %age Used

       FLASH:       172740 B      1023 KB     16. 49%
        SRAM:        12184 B       160 KB      7. 44%
        DRAM:           0 GB       128 KB      0. 00%

Creating w806 image. . .
Image created successfully
All build complete

to flash, run this command:

wm. py flash -p PORT

PS D: temphelloword cd "d: temphelloword"; wm. py guiflash
serial close
PS D: temphelloword cd "d: temphelloword"; wm. py guiflash
trying reset device. . .
wait serial sync. . .
serial sync sucess
trying baudrate 2000000. . .
start download image. . .
download partition_table. img. . .
download bootloader. img. . .
download helloword. img. . .
serial close
PS D: temphelloword cd "d: temphelloword"; wm. py guiconfig
Loaded configuration 'D: temphellowordbuildconfigwmsdk. config'
Traceback (most recent call last) :
File "d: WM-IDEwm_iot_sdktools/wm/kconfig. py", line 157, in module

menuconfig (kconfig) 

File "d: WM-IDEwm_iot_sdktoolswm/. . /Kconfiglibguiconfig. py", line 232, in menuconfig

_root. mainloop () 

File "d: WM-IDEwmtoolspythonlibtkinter__init__. py", line 1429, in mainloop

self. tk. mainloop (n) 

查看更多

关注者
0
被浏览
164
1 个回答
xingtang
xingtang 2025-03-20
这家伙很懒, 什么也没写!

找到答案了, sdk 中默认使用的 partition_table 不适用于 W806. app 分区的 size 默认大了, 需要修改总 size 不超过 1024k.

name, offset, size, flag

ft, 0x0, 0x2000, 0x0
bootloader, 0x2000, 0xC000, 0x0
partition_table, 0xE000, 0x1000, 0x0
app, 0xF000, 0xED000, 0x0
nvs, 0xFC000, 0x4000, 0x0

撰写答案

请登录后再发布答案, 点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览