Compiling Error During Using FreeRTOS-FAT-SL
Posted by 
paultsai111 on July 28, 2016
Hi FreeRTOS Forum Members:
Here is one problems that encountered during the usage of FreeRTOS-FAT-SL
I download the source codes from the official web stie and try to do the simple file operation in FreeRTOS system.
However, I have the following compiling errors, I think I do not have those definitions(such as gl_file, 
glvolume,f_alloccluster……..), so where I can find these definition files, does freeRTOS provided? Beacuse I can 
not find on the google search engines !! 
the Free RTOS Source Code File is from: https://github.com/jameswalmsley/FreeRTOS/tree/master/FreeRTOS-Plus/Source/FreeRTOS-Plus-FAT-SL
user/.output/eagle/debug/lib/libuser.a(usermain.o):(.text.fstepnextsector+0x0): undefined reference to gl_volume'
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x4): undefined reference toglfile’
user/.output/eagle/debug/lib/libuser.a(usermain.o):(.text.fstepnextsector+0xc): undefined reference to gl_file'
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x14): undefined reference tofalloccluster’
user/.output/eagle/debug/lib/libuser.a(usermain.o):(.text.fstepnextsector+0x18): undefined reference to _f_getclustervalue'
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x1c): undefined reference tofclustertopos’
user/.output/eagle/debug/lib/libuser.a(usermain.o):(.text.fstepnextsector+0x20): undefined reference to _f_setclustervalue'
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x24): undefined reference tofwritefatsector’
user/.output/eagle/debug/lib/libuser.a(usermain.o): In function _f_stepnextsector':
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofalloccluster’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getclustervalue'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofclustertopos’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_setclustervalue'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetclustervalue’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_clustertopos'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofwritefatsector’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to gl_sector'
user/.output/eagle/debug/lib/libuser.a(user_main.o): In functionfwriteglsector’:
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getcurrsector'
user/.output/eagle/debug/lib/libuser.a(user_main.o): In functionfextend’:
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getcurrsector'
user/.output/eagle/debug/lib/libuser.a(user_main.o): In functionffseek’:
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getclustervalue'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofclustertopos’
user/.output/eagle/debug/lib/libuser.a(usermain.o): In function _f_readglsector':
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetdecluster’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_setlong'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofremovechain’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to f_igettimedate'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetword’
user/.output/eagle/debug/lib/libuser.a(usermain.o): In function _f_updatefileentry':
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetdecluster’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_setlong'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofremovechain’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_setdecluster'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetlong’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to f_igettimedate'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetword’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_setword'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetword’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_setfsname'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofchecknamewc’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getvolume'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference toffindpath’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_findfilewc'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofgetlong’
user/.output/eagle/debug/lib/libuser.a(usermain.o): In function fn_filelength':
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetfsname’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_checknamewc'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofgetvolume’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_findpath'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference toffindfilewc’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getlong'
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x0): undefined reference toglfile’
user/.output/eagle/debug/lib/libuser.a(usermain.o):(.text.fnopen+0xc): undefined reference to gl_file'
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x10): undefined reference tofgetdecluster’
user/.output/eagle/debug/lib/libuser.a(usermain.o):(.text.fnopen+0x14): undefined reference to _f_createfullname'
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x18): undefined reference tofaddentry’
user/.output/eagle/debug/lib/libuser.a(usermain.o):(.text.fnopen+0x8a): undefined reference to _f_setfsname'
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x99): undefined reference tofchecknamewc’
user/.output/eagle/debug/lib/libuser.a(usermain.o): In function fn_open':
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofgetvolume’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_findpath'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference toffindfilewc’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getdecluster'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofclustertopos’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getlong'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofcreatefullname’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_findfilewc'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofgetdecluster’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getlong'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofclustertopos’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_clustertopos'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofaddentry’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_clustertopos'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference toffindfilewc’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getdecluster'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetlong’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_setword'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetword’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to f_igettimedate'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetword’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_setword'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofsetword’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_removechain'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofaddentry’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to f_filechangedevent'
user/.output/eagle/debug/lib/libuser.a(user_main.o): In functionfnclose’:
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getvolume'
user/.output/eagle/debug/lib/libuser.a(user_main.o): In functionfnread’:
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to _f_getvolume'
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference tofgetcurrsector’
/home/esp8266/ESP8266RTOSSDKV1.4.0//include/lwip/ipv4/../../freertos-fat-sl/fatsl/common/flock.c:642: undefined reference to `fgetcurrsector’
Compiling Error During Using FreeRTOS-FAT-SL
Posted by 
rtel on July 28, 2016
I’m afraid we cannot provide support for files or projects you have not 
obtained from us.  If you are interested in FreeRTOS+FAT SL then we do 
have some pre-configured buildable examples in the main FreeRTOS download:
http://www.freertos.org/FreeRTOS-Plus/FreeRTOSPlusFATSL/Demos/FileSystemWin32Simulator_demo.shtml
You might also be interested in the FreeRTOS+FAT (without the ‘SL’, and 
a completely different code base to the ‘SL’ product) pre-configured 
examples:
http://www.freertos.org/FreeRTOS-Plus/FreeRTOSPlusTCP/TCPFATdemo_projects.html