westmorelandeng wrote on Thursday, May 28, 2015:
Hello All,
What is the current status of the FAT file system in FreeRTOS labs?
Is there a SD driver available?
Thanks,
John W.
westmorelandeng wrote on Thursday, May 28, 2015:
Hello All,
What is the current status of the FAT file system in FreeRTOS labs?
Is there a SD driver available?
Thanks,
John W.
heinbali01 wrote on Thursday, May 28, 2015:
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
westmorelandeng wrote on Thursday, May 28, 2015:
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/00index_e.html and here:
http://elm-chan.org/fsw/ff/00index_p.html - the latter being geared more for light-weight embedded systems.
And the guys here have made theirs available:
https://github.com/ibexuk/C_Memory_SD_Card_FAT_Driver
And this site is worth mentioning:
http://siwawi.bauing.uni-kl.de/avr_projects/arm_projects/arm_memcards/
And so is this one:
http://www.roland-riegel.de/sd-reader/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.
heinbali01 wrote on Thursday, May 28, 2015:
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.
westmorelandeng wrote on Thursday, May 28, 2015:
Hello Again Hein,
OK - please reference this page:
http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_FAT_SL/Demos/File_System_Win32_Simulator_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
heinbali01 wrote on Friday, May 29, 2015:
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: FreeRTOS+FAT DOS Compatible Embedded FAT File System
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