Page 1 of 1

在外部FLASH中挂载FATFS出现错误

Posted: Mon Feb 26, 2024 6:04 am
by Alica-king
版本为5.1.2
模组型号为ESP32-S3-WROOM-1-N16R8
环境:Windows
IDE:VSCODE
参考的历程是example里面的ext_flash_fatfs实例
操作过程:在VSCODE内使用命令“ESP-IDF:show examples projects”创建的文件
创建之后配置号COM和目标芯片之后,直接进行的烧录,对menuconfig没有更改
代码的修改是:
在main.c的119行的结构体初始化中,将
.quadhd_io_num =PIN_HD,
.quadwp_io_num = PIN_WP,
更改为
.quadhd_io_num = -1,
.quadwp_io_num = -1,



外部FLSAH型号为W25Q128,使用标准SPI通讯。
接线方式为
CS GPIO10
DO GPIO13
CLK GPIO12
DI GPIO11
但运行之后出现错误,错误输出在附件中。
希望能够给出解决办法

Re: 在外部FLASH中挂载FATFS出现错误

Posted: Wed Feb 28, 2024 2:09 am
by blurryface
模组已经自带一个外部flash,是不是又自己加了一个flash?例程只注册了一个分区,你研究一下
https://docs.espressif.com/projects/esp ... fatfs.html
如果目标逻辑驱动上不存在该文件系统,f_mount() 将调用失败并报告 FR_NO_FILESYSTEM 错误。此时,应首先调用 f_mkfs(),在驱动上创建新的 FatFS 结构体,然后重新调用 f_mount()。

Re: 在外部FLASH中挂载FATFS出现错误

Posted: Wed Feb 28, 2024 11:53 am
by Alica-king
模组本身就有16MB的FLASH,现在需要再挂载一个16MB的FLASH,使用的SPI2总线,我看程序,第二步就是注册了分区,是将SPI2总线下的FLSAH注册为分区,所以我认为和只注册一个分区关系不大,并且我也尝试将模组内部的FLASH和外部的FLASH都注册了一下,但是内部的成功了,外部的不行,我怀疑是引脚的问题,所以我准备尝试将剩下两个引脚也连接上试一试。

Re: 在外部FLASH中挂载FATFS出现错误

Posted: Tue Mar 05, 2024 10:13 am
by blurryface
这两个flash是独立的,并没有合并,所以我寻思应该各自注册一个分区来使用吧

Re: 在外部FLASH中挂载FATFS出现错误

Posted: Tue Mar 05, 2024 4:38 pm
by Alica-king
有注册分区的,历程里面用的是动态挂载,但是分区表中没有写这部分分区,但是历程打印分区信息的时候有打印动态挂载的分区,
而且我用qio的模式也是不能成功挂载分区,就很奇怪,
而且我也用历程中使用的32mb flash,可结构还是不可以