Compiling Error During Using FreeRTOS-FAT-SL

paultsai111 wrote on Thursday, 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,

gl_volume,_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(user_main.o):(.text._f_stepnextsector+0x0): undefined reference to gl_volume' user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x4): undefined reference to gl_file’
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0xc): undefined reference to gl_file' user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x14): undefined reference to _f_alloccluster’
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x18): undefined reference to _f_getclustervalue' user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x1c): undefined reference to _f_clustertopos’
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x20): undefined reference to _f_setclustervalue' user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text._f_stepnextsector+0x24): undefined reference to _f_writefatsector’
user/.output/eagle/debug/lib/libuser.a(user_main.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 to _f_alloccluster’
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.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 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 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 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 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 to _f_writefatsector’
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference to gl_sector' user/.output/eagle/debug/lib/libuser.a(user_main.o): In function _f_writeglsector’:
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference to _f_getcurrsector' user/.output/eagle/debug/lib/libuser.a(user_main.o): In function _f_extend’:
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference to _f_getcurrsector' user/.output/eagle/debug/lib/libuser.a(user_main.o): In function _f_fseek’:
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.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 to _f_clustertopos’
user/.output/eagle/debug/lib/libuser.a(user_main.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 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 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 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 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 to _f_setword’
user/.output/eagle/debug/lib/libuser.a(user_main.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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 to _f_getlong’
user/.output/eagle/debug/lib/libuser.a(user_main.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 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 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 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 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 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 to _f_getlong' user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x0): undefined reference to gl_file’
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0xc): undefined reference to gl_file' user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x10): undefined reference to _f_getdecluster’
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x14): undefined reference to _f_createfullname' user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x18): undefined reference to _f_addentry’
user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x8a): undefined reference to _f_setfsname' user/.output/eagle/debug/lib/libuser.a(user_main.o):(.text.fn_open+0x99): undefined reference to _f_checknamewc’
user/.output/eagle/debug/lib/libuser.a(user_main.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 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 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 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 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 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 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 to _f_createfullname’
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.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 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 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 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 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 to _f_addentry’
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.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 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 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 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 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 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 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 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 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 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 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 to _f_addentry’
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference to f_filechangedevent' user/.output/eagle/debug/lib/libuser.a(user_main.o): In function fn_close’:
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference to _f_getvolume' user/.output/eagle/debug/lib/libuser.a(user_main.o): In function fn_read’:
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.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 to _f_getcurrsector’
/home/esp8266/ESP8266_RTOS_SDK_V1.4.0//include/lwip/ipv4/…/…/freertos-fat-sl/fat_sl/common/f_lock.c:642: undefined reference to `_f_getcurrsector’

rtel wrote on Thursday, 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/FreeRTOS_Plus_FAT_SL/Demos/File_System_Win32_Simulator_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/FreeRTOS_Plus_TCP/TCP_FAT_demo_projects.html