您尚未登录。

楼主 #1 2018-01-10 09:26:28

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

关于ESP32的flash擦写

请问各位大神有没有关于ESP32的flash的例程提供下呢?

离线

#2 2018-01-10 09:43:47

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,244
积分: 9197

Re: 关于ESP32的flash擦写

你是想整块读写还是索引读写?
索引读写我记得examples目录下面有例程。





离线

楼主 #3 2018-01-10 09:52:16

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

Re: 关于ESP32的flash擦写

应该是整块读写,就是类似STM32读写flash一样,我想保存些参数到ESP32的flash里面去,下次启动后可以读出flash的参数

离线

#4 2018-01-10 10:05:50

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,244
积分: 9197

Re: 关于ESP32的flash擦写

LAQ 说:

应该是整块读写,就是类似STM32读写flash一样,我想保存些参数到ESP32的flash里面去,下次启动后可以读出flash的参数

那没必要整块读写了。
examples里面的nvs例程适合你。





离线

楼主 #5 2018-01-10 10:18:35

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

Re: 关于ESP32的flash擦写

如果使用例程里面的spi-flash这里不行吗

离线

#6 2018-01-10 10:30:13

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,244
积分: 9197

Re: 关于ESP32的flash擦写

可以, 这里有一个demo, 你可以试一试 https://github.com/igrr/esp32-spi-flash-example/blob/master/main/app_main.c

不过要自己处理擦除问题,感觉不如nvs来得方便直接。





离线

楼主 #7 2018-01-10 14:22:23

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

Re: 关于ESP32的flash擦写

你能不能提供下spi-flash的擦写函数的驱动文件?

离线

#8 2018-01-10 14:31:08

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,244
积分: 9197

Re: 关于ESP32的flash擦写

LAQ 说:

你能不能提供下spi-flash的擦写函数的驱动文件?

上面链接已经有了。





离线

楼主 #9 2018-01-10 15:03:25

LAQ
会员
注册时间: 2017-09-20
已发帖子: 38
积分: 38

Re: 关于ESP32的flash擦写

这个函数SPIParamCfg(0x1540ef, 4*1024*1024, 64*1024, 4096, 256, 0xffff);是调用那个头文件的呢,为什么我在我的工程上面编译会报错
error: implicit declaration of function 'SPIParamCfg' [-Werror=implicit-function-declaration]

离线

#10 2018-01-10 15:10:41

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,244
积分: 9197

Re: 关于ESP32的flash擦写

https://github.com/Nicholas3388/LuaNode/issues/12

@mandoyj Hi, I think you should use esp_rom_spiflash_config_param instead of SPIParamCfg for ESP32





离线

#11 2018-01-10 15:40:49

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,244
积分: 9197

Re: 关于ESP32的flash擦写

/* ESP32 API compatibility */

#define esp_rom_spiflash_unlock SPIUnlock
#define esp_rom_spiflash_erase_sector SPIEraseSector
#define esp_rom_spiflash_erase_block SPIEraseBlock
#define esp_rom_spiflash_erase_chip SPIEraseChip
#define esp_rom_spiflash_read SPIRead
#define esp_rom_spiflash_write SPIWrite
#define esp_rom_spiflash_config_param SPIParamCfg


https://github.com/cesanta/mongoose-os/blob/master/common/platforms/esp8266/stubs/rom_functions.h





离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn