Part Number: TMDS64EVM
Other Parts Discussed in Thread: SYSCONFIG,
I am building my application on top of one of the light weight TI sample R5F projects based on NoRTOS. After adding all of my code files, I am getting the below error when trying to link everything during the build process:
Building target: "ArmR5F_core0_stub.out"
Invoking: Arm Linker
"C:/ti/ti_cgt_armllvm_4.0.3.LTS/bin/tiarmclang.exe" -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -DSOC_AM64X -DOS_NORTOS -D_DEBUG_=1 -g -Wall -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-function -Wl,-m"empty_pru_io.Debug.map" -Wl,-i"C:/ti/mcu_plus_sdk_am64x_11_02_00_24/source/kernel/nortos/lib" -Wl,-i"C:/ti/mcu_plus_sdk_am64x_11_02_00_24/source/drivers/lib" -Wl,-i"C:/ti/mcu_plus_sdk_am64x_11_02_00_24/source/board/lib" -Wl,-i"C:/ti/mcu_plus_sdk_am64x_11_02_00_24/source/pru_io/lib" -Wl,-i"C:/ti/ti_cgt_armllvm_4.0.3.LTS/lib" -Wl,--reread_libs -Wl,--diag_suppress=10063 -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--gen_xml_func_hash -Wl,--xml_link_info="ArmR5F_core0_stub_linkInfo.xml" -Wl,--ram_model -o "ArmR5F_core0_stub.out" <<REDACTED LIST OF *.O FILES>> -Wl,-l"syscfg/linker.cmd" -Wl,-lnortos.am64x.r5f.ti-arm-clang.debug.lib -Wl,-ldrivers.am64x.r5f.ti-arm-clang.nortos.debug.lib -Wl,-lboard.am64x.r5f.ti-arm-clang.nortos.debug.lib -Wl,-llibc.a -Wl,-llibsysbm.a
makefile:192: recipe for target 'ArmR5F_core0_stub.out' failed
"syscfg/linker.cmd", line 74: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section, or the section contains padded functions. run placement with alignment fails for section "GROUP_4" size 0x2e9762. Available memory ranges:
MSRAM size: 0x140000 unused: 0x11eb80 max hole: 0x11eb78
error #10010: errors encountered during linking; "ArmR5F_core0_stub.out" not built
tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [ArmR5F_core0_stub.out] Error 1
gmake: *** [all] Error 2
makefile:188: recipe for target 'all' failed
I am using the default sysconfig file that came with the TI project import (attached - example_syscfg.txt ), therefore default settings for where "text" is being written to MSRAM. Only change I made is to extend the "Region size" parameter to 0x140000 per: sysconfig > Memory Configurator > Memory Region > MSRAM region > Region size (bytes).
Based on what the map file is showing (top portion of .map output also attached - memory_map.txt), the MSRAM region is large enough to fit the code that I am building, so I am not sure I understand what the linker error is actually complaining about. Can someone help me understand?

