FreeRTOS Labs: FreeRTOS+FAT Status

Hello All, What is the current status of the FAT file system in FreeRTOS labs? Is there a SD driver available? Thanks, John W.

FreeRTOS Labs: FreeRTOS+FAT Status

Hi John, FreeRTOS does not develop SD-card drivers as such. Most MCU’s come with a ready-made driver for their memory card slots. What FreeRTOS will provide is a module like :
FreeRTOS-Plus-FAT/portable/<platform>/ff_sddisk.c
where ‘<platform>‘ can be Zynq, STM32F4xx, LPC18xx, etc. This source file connects the hardware driver with the +FAT library, by defining 2 block drivers:
int32_t sdFFRead( uint8_t *pucBuffer, uint32_t ulSectorNumber,
    uint32_t ulSectorCount, FF_Disk_t *pxDisk );
int32_t sdFFWrite( uint8_t *pucBuffer, uint32_t ulSectorNumber,
    uint32_t ulSectorCount, FF_Disk_t *pxDisk );
and some other helping functions. It always takes a lot of care (time, effort) to prepare a public software release. But if you contact FreeRTOS directly (see website), you can ask for a kind of pre-release. What hardware platform were you thinking of? If you have enough RAM, you can already try-out the RAM disk driver. Regards, Hein

FreeRTOS Labs: FreeRTOS+FAT Status

Hello Hein, OK – I have run the CLI + FAT demo that runs on windows. That is interesting how it communicates via UDP using a ramdisk as storage. There is plenty on this subject regarding MMC/SD/etc. file systems – probably one of the most popular is the code posted here: http://elm-chan.org/fsw/ff/00indexe.html and here: http://elm-chan.org/fsw/ff/00indexp.html – the latter being geared more for light-weight embedded systems. And the guys here have made theirs available: https://github.com/ibexuk/CMemorySDCardFAT_Driver And this site is worth mentioning: http://siwawi.bauing.uni-kl.de/avrprojects/armprojects/arm_memcards/ And so is this one: /fr-content-src/uploads/2019/07/index.html I thought by posting my OP that was asking status and for a possible pre-release if one is available; since this is the official forum for that. Does anyone know when the FreeRTOS+FAT code is going to pop out of the lab? I have some hardware I’d like to test drive it on. Thanks, John W.

FreeRTOS Labs: FreeRTOS+FAT Status

I have run the CLI + FAT demo that runs on windows. That is interesting how it communicates via UDP using a ramdisk as storage
It doesn’t use UDP but it is a complete FTP server.
There is plenty on this subject regarding MMC/SD/etc. file systems probably one of the most popular is the code posted here…
As usual, there are many roads leading to Rome. I tried several factory-provided SD/MMC card drivers and I liked them, their quality seemed OK. FreeRTOS+FAT is a driver for the FAT (32/16/12) file system, just like ChaN’s FS is. Once again: if you want to try-out a pre-release of the +FAT drivers, please write an email to FreeRTOS, so we can send it to you directly.
when the FreeRTOS+FAT code is going to pop out of the lab?
I have been using +TCP/+FAT in projects for a long time already: an embedded jquery webserver and an FTP server. But more testing never hurts and also we’d like to know your experience with the source code: is everything clear? Is it easy enough to configure? Are there any pitfalls? Thanks.

FreeRTOS Labs: FreeRTOS+FAT Status

Hello Again Hein, OK – please reference this page: http://www.freertos.org/FreeRTOS-Plus/FreeRTOSPlusFATSL/Demos/FileSystemWin32Simulator_demo.shtml Clearly, UDP ports 5001 and 5002 are used. I am not using the FTP server demo. So, you work for Wittenstein, Real-Time Engineers, or FreeRTOS then? I just tried the online contact form – the captcha phrase came back as incorrect even though I tried it several times and typed in the correct phrase – so that seems to be broke. I have Richard’s e-mail – I guess I will try that. Regards, John

FreeRTOS Labs: FreeRTOS+FAT Status

Morning John,
Clearly, UDP ports 5001 and 5002 are used. I am not using the FTP server demo.
Ah sorry, we were writing about different things. “FreeRTOS+FAT SL” (Super Lean) already exists for quite some time, and it is not in the Labs section. Recently FreeRTOS came up with the fairly new “FreeRTOS+FAT”, in which all functions start with a double ff :
ff_fopen()    ff_fread()     ff_fwrite()
ff_fgetc()    ff_fputc()     ff_truncate()
ff_fclose()   ff_rename()    ff_remove()
ff_fseek()    ff_rewind()    ff_ftell()
ff_stat()     ff_feof()      ff_seteof()
ff_mkdir()    ff_chdir()     ff_getcwd
ff_rmdir()    ff_fprintf()   ff_findfirst()
ff_findnext() ff_filelength()
“FreeRTOS+FAT” can have multiple volumes / drives, mapped into a single directory structure. For example :
/       ( Root directory on SD-card )
/ram    ( RAM disk driver )
/flash  ( FLASH memory driver )
“FreeRTOS+FAT” can be found in the Labs: http://www.freertos.org/fat FreeRTOS+TCP has been extended with new protocols : a web server and an FTP server. These servers use “FreeRTOS+FAT” for their file access. In case you want to try-out “FreeRTOS+FAT”, it is useful to write Richard and ask for a particular hardware driver that you need (if available). Thanks, Hein