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’