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.

TMS320F28069M: Cannot compile Flash_API example for F28069M

Part Number: TMS320F28069M
Other Parts Discussed in Thread: CONTROLSUITE

Hello,

I am trying to get the Flash API to work on F280609M. Before integrating the API in my project, I decided to try a known working configuration to check that the Flash API can reproduce some sort of EEPROM emulation.

To that extent, I imported the project in C:\ti\controlSUITE\device_support\f2806x\v151\F2806x_examples_ccsv5\flash_programming into CCS7, added Flash2806x_API_V100.lib to the project as instructed and tried to build the Debug configuration.

It fails with a linker error. Here is the console output:

**** Build of configuration Debug for project Example_2806xFlashProgramming ****

"C:\\ti\\ccsv7\\utils\\bin\\gmake" -k all
'Building target: Example_2806xFlashProgramming.out'
'Invoking: C2000 Linker'
"C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=softlib --vcu_support=vcu0 --define=_DEBUG --define=FLASH_F28069 --define=LARGE_MODEL -g --diag_suppress=10063 --diag_warning=225 --issue_remarks --quiet -z -m"Example_2806xFlashProgramming.map" --stack_size=0x200 --warn_sections -i"C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.1.LTS/lib" --priority --reread_libs --xml_link_info="Example_2806xFlashProgramming_linkInfo.xml" --entry_point=code_start --rom_model -o "Example_2806xFlashProgramming.out" "C:/ti/controlSUITE/device_support/f2806x/v151/F2806x_common/lib/2806x_BootROM_API_TABLE_Symbols.lib" "../Flash2806x_API_V100.lib" "./Example_Flash2806x_API.obj" "./Example_Flash2806x_CsmKeys.obj" "./F2806x_CSMPasswords.obj" "./F2806x_CodeStartBranch.obj" "./F2806x_GlobalVariableDefs.obj" "../28069_RAM_lnk.cmd" "C:/ti/controlSUITE/device_support/f2806x/v151/F2806x_headers/cmd/F2806x_Headers_nonBIOS.cmd" -lrts2800_ml.lib -llibc.a
remark: --buffer_diagnostics is deprecated and will be removed in a subsequent
release. The default behavior is to line buffer diagnostics.
remark: automatic RTS selection: linking in "rts2800_ml.lib" in place of index
library "libc.a"

>> Compilation failure
makefile:148: recipe for target 'Example_2806xFlashProgramming.out' failed
warning: creating output section "csmpasswds" without a SECTIONS specification
warning: creating output section "csm_rsvd" without a SECTIONS specification

undefined first referenced
symbol in file
--------- ----------------
_RamfuncsLoadEnd ./Example_Flash2806x_API.obj
_RamfuncsLoadStart ./Example_Flash2806x_API.obj
_RamfuncsRunStart ./Example_Flash2806x_API.obj

error: unresolved symbols remain
error: errors encountered during linking; "Example_2806xFlashProgramming.out"
not built
gmake: *** [Example_2806xFlashProgramming.out] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

I know that I am probably doing something wrong, as other people got this project to compile, link and run before: https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/318444