This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/F28M35H52C: Updating FatFs from v0.04b to 0.13b

Part Number: F28M35H52C

Tool/software: TI C/C++ Compiler

I got the sd_card_m3 example code running on my hardware which is similar to the ControlCard but uses SSI2 instead of SSI0 for the SD card.  I'm trying to incorporate the SD card code into another project that I have riunning but I also wanted to update FatFs from v0.04b to v0.13b because of the many bug fixes and updates.  I've got to the point that there are just 3 undefined symbols that are stopping compilation which are:

undefined first referenced
symbol in file
--------- ----------------
ff_oem2uni ./ff.obj
ff_uni2oem ./ff.obj
ff_wtoupper ./ff.obj

I've updated ff.c, ff.h, ffconf.h from v0.04b to v0.13b 

ff.c #includes ff.h

ff.h #includes ffcond.h

the option FF_USE_LFN = 1 is set on line 100 of ffcond.h as follows

#define FF_USE_LFN 1

in ff.h, line 314 shows the 3 symbols above as active (not grayed out) as follows:

/* LFN support functions */
#if FF_USE_LFN >= 1 /* Code conversion (defined in unicode.c) */
WCHAR ff_oem2uni (WCHAR oem, WORD cp); /* OEM code to Unicode conversion */
WCHAR ff_uni2oem (DWORD uni, WORD cp); /* Unicode to OEM code conversion */
DWORD ff_wtoupper (DWORD uni); /* Unicode upper-case conversion */
#endif

ff.c uses the 3 symbols ff_oem2uni, ff_uni2oem, ff_wtoupper and they are not highlighted in the ff.c file as not found, they do appear at the end of a compile attempt as unfound symbols though...

**** Build of configuration Flash-Standalone for project CPS_DSTR_m3 ****

"C:\\ti\\ccs_700\\ccsv7\\utils\\bin\\gmake" -k all 
'Building file: C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/setup_m3.c'
'Invoking: ARM Compiler'
"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/bin/armcl" -mv7M3 --code_state=16 -me --include_path="C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/include" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/ccs" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/MWare" -g --c99 --gcc --define="_FLASH" --define="_STANDALONE" --define=ccs --define=UART_BUFFERED --diag_suppress=10199 --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="DSTR_m3.d"  "C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/setup_m3.c"
"C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/setup_m3.c", line 209: warning: function "disk_timerproc" declared implicitly
'Finished building: C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/setup_m3.c'
' '
'Building file: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/utils/cmdline.c'
'Invoking: ARM Compiler'
"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/bin/armcl" -mv7M3 --code_state=16 -me --include_path="C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/include" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/ccs" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/MWare" -g --c99 --gcc --define="_FLASH" --define="_STANDALONE" --define=ccs --define=UART_BUFFERED --diag_suppress=10199 --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="cmdline.d"  "C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/utils/cmdline.c"
'Finished building: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/utils/cmdline.c'
' '
'Building file: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/third_party/fatfs_v13/src/ff.c'
'Invoking: ARM Compiler'
"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/bin/armcl" -mv7M3 --code_state=16 -me --include_path="C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/include" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/ccs" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/MWare" -g --c99 --gcc --define="_FLASH" --define="_STANDALONE" --define=ccs --define=UART_BUFFERED --diag_suppress=10199 --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="ff.d"  "C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/third_party/fatfs_v13/src/ff.c"
'Finished building: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/third_party/fatfs_v13/src/ff.c'
' '
'Building file: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/third_party/fatfs_v13/port/mmc-concerto.c'
'Invoking: ARM Compiler'
"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/bin/armcl" -mv7M3 --code_state=16 -me --include_path="C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/include" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/ccs" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/MWare" -g --c99 --gcc --define="_FLASH" --define="_STANDALONE" --define=ccs --define=UART_BUFFERED --diag_suppress=10199 --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="mmc-concerto.d"  "C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/third_party/fatfs_v13/port/mmc-concerto.c"
"C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/third_party/fatfs_v13/port/mmc-concerto.c", line 96: warning: variable "PowerFlag" was set but never used
'Finished building: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/third_party/fatfs_v13/port/mmc-concerto.c'
' '
'Building file: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/board_drivers/set_pinout_f28m35x.c'
'Invoking: ARM Compiler'
"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/bin/armcl" -mv7M3 --code_state=16 -me --include_path="C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/include" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/ccs" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/MWare" -g --c99 --gcc --define="_FLASH" --define="_STANDALONE" --define=ccs --define=UART_BUFFERED --diag_suppress=10199 --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="set_pinout_f28m35x.d"  "C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/board_drivers/set_pinout_f28m35x.c"
'Finished building: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/board_drivers/set_pinout_f28m35x.c'
' '
'Building file: C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/startup_ccs.c'
'Invoking: ARM Compiler'
"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/bin/armcl" -mv7M3 --code_state=16 -me --include_path="C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/include" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/ccs" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/MWare" -g --c99 --gcc --define="_FLASH" --define="_STANDALONE" --define=ccs --define=UART_BUFFERED --diag_suppress=10199 --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="startup_ccs.d"  "C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/startup_ccs.c"
'Finished building: C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/startup_ccs.c'
' '
'Building file: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/utils/uartstdio.c'
'Invoking: ARM Compiler'
"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/bin/armcl" -mv7M3 --code_state=16 -me --include_path="C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/include" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/ccs" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/MWare" -g --c99 --gcc --define="_FLASH" --define="_STANDALONE" --define=ccs --define=UART_BUFFERED --diag_suppress=10199 --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="uartstdio.d"  "C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/utils/uartstdio.c"
'Finished building: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/utils/uartstdio.c'
' '
'Building file: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/utils/ustdlib.c'
'Invoking: ARM Compiler'
"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/bin/armcl" -mv7M3 --code_state=16 -me --include_path="C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/include" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/F28M35x_examples_Control/setup_m3/m3/ccs" --include_path="C:/ti/controlSUITE/device_support/f28m35x/v220/MWare" -g --c99 --gcc --define="_FLASH" --define="_STANDALONE" --define=ccs --define=UART_BUFFERED --diag_suppress=10199 --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual --preproc_with_compile --preproc_dependency="ustdlib.d"  "C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/utils/ustdlib.c"
'Finished building: C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/utils/ustdlib.c'
' '
'Building target: DSTR_m3.out'
'Invoking: ARM Linker'
"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/bin/armcl" -mv7M3 --code_state=16 -me -g --c99 --gcc --define="_FLASH" --define="_STANDALONE" --define=ccs --define=UART_BUFFERED --diag_suppress=10199 --diag_warning=225 --gen_func_subsections=on --abi=eabi --ual -z -m"DSTR_m3.map" --stack_size=256 --heap_size=0 -i"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/lib" -i"C:/ti/ccs_700/ccsv7/tools/compiler/ti-cgt-arm_16.9.0.LTS/include" --reread_libs --warn_sections --xml_link_info="setup_m3_linkInfo.xml" --rom_model -o "DSTR_m3.out" "./setup_m3.obj" "./cmdline.obj" "./ff.obj" "./mmc-concerto.obj" "./set_pinout_f28m35x.obj" "./startup_ccs.obj" "./uartstdio.obj" "./ustdlib.obj" "../F28M35x_Headers_nonBIOS.cmd" "C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/driverlib/ccs/Debug/driverlib.lib"  -lrtsv7M3_T_le_eabi.lib -l"C:/ti/controlSUITE/device_support/f28m35x/v220/MWare/cmd/F28M35x_generic_M3_FLASH.cmd" 
<Linking>

 undefined   first referenced
  symbol         in file     
 ---------   ----------------
 ff_oem2uni  ./ff.obj        
 ff_uni2oem  ./ff.obj        
 ff_wtoupper ./ff.obj        

error: unresolved symbols remain

error: errors encountered during linking; "DSTR_m3.out" not built
>> Compilation failure
makefile:149: recipe for target 'DSTR_m3.out' failed
gmake: *** [DSTR_m3.out] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

Any ideas what's wrong?