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
被浏览
131
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

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览