2016-06-07 12:04 AM
Hello,
Is is possible to use FATFS file system on QSPI Flash with STM32F7 series microcontrollers? I couldn't find any example code about it.2016-06-07 12:34 AM
ONLY for read, for write you need flash file system, ot FTL (flash transiction layer).
ONLY read version make no sense.2016-12-14 03:56 PM
Hi,
I would like to do the same thing - use FAtFs on QSPI Flash - are there any examples or QSPIFlash_diskio.c driver available?
Thanks
2016-12-14 05:13 PM
Ok, so assuming such code is code isn't falling out of a Google search you might need to take some code that supports QSPI read/write and mapping that into the simple blocking strategy the DISKIO layer implements.
Prove to yourself you can read 512 byte blocks, then review what the block erase size is, and how you might need to read-erase-write to commit the changes back. Optimization might lead you to a lazy writer caching implementation.
2016-12-14 07:55 PM
Thanks for the pointers – I will try to implement the diskio layer – doesn’t look too difficult.
________________ Attachments : image001.jpg : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HyhG&d=%2Fa%2F0X0000000bFg%2Fzn5X1uRuf0o2Zi16NHYMZc2cd3_wma1y9tDcNfSdmag&asPdf=false2016-12-15 12:15 PM
Hi Clive,
You mentioned reading 512 byte blocks , why 512?
Thanks
Imtiaz
________________ Attachments : image001.jpg : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006Hyzk&d=%2Fa%2F0X0000000bFd%2F8p1WALO4iuAoX8JKpZZQk.rORbESdUttELylz4C4Y00&asPdf=false2016-12-15 01:49 PM
It is the sector size that FatFs expects to be working with, and the minimum size read/write unit the DISKIO layer is expected to handle transparently.
You might want to review mass storage devices used in the last several decades to put that in some context. Specifically rotating magnetic media use on IBM PC type systems.
2016-12-15 04:53 PM
Hi Clive,
Do you see any issues if I just make the BLOCK_SIZE to 4096 , which is my minimum erase size for the SPI flash?
Thanks , Much appreciated
________________ Attachments : image001.jpg : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006Hz2X&d=%2Fa%2F0X0000000bFe%2F8GlBlRVbw43OOGg4gYQPFAOh4UrMVhz1YM11aEaw.Cg&asPdf=false2016-12-22 01:50 PM
Just to close out this thread - I implemented the Disk IO layer for the external flash on the F769 Discovery. I took the easy option and used the 4096 byte sector size corresponding to the minimum sector erase on the flash chip. All works fine. It takes around 600mSec to write and read back 64K - which is quite slow. Fatfs has to do a read - erase - write for each write and a sector erase takes minimum 43 msec .
2017-02-19 08:57 AM
Hi imtiaz,
would you be willing to provide some code of your implementation? (FatFs config, VFS, HAL Init)?
Best regards
Lars