Other Parts Discussed in Thread: SYSCONFIG
What's up TI!
I'm having some issues compiling the MCU+ SDK hello world example from following the AM62x Academy's training located on this page.
The error I'm seeing is:
Linking: am62x:m4fss0-0:freertos:ti-arm-clang hello_world.release.out ...
"linker.cmd", line 25: error: 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. run placement with alignment fails for section
".bss" size 0x87fa6. Available memory ranges:
M4F_DRAM size: 0x10000 unused: 0xe650 max hole: 0xe650
error: errors encountered during linking; "hello_world.release.out" not built
tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
make: *** [makefile:182: hello_world.release.out] Error 1
The steps I have taken to get to this state are as follows:
- Start with fresh clone of MCU+ sdk am62x 9.1.00.39
- Navigate to the SDK directory
- Apply the AM62x-SDK-9.0-add-Linux-IPC-to-Sysconfig.patch (I cannot utilize sysconfig gui, as I am developing in a devcontainer. So I am relying on patches)
- Apply the
AM62x-SDK-9.0-add-linker.cmd-file.patch
(Note: The actual file downloaded is not the same name as the provided link in the documentation) - Attempt to build the example using make
make -s -C examples/hello_world/am62x-sk/m4fss0-0_freertos/ti-arm-clang/ PROFILE=release
Am I missing a step somewhere? I recognize that the linker file is adding a .resource_table section to the DDR_0 chunk of mem, but I don't how the linker file is wrong out of the box? I have to be missing something. If not, is it as simple as increasing the Length of M4F_DRAM? I'm afraid to do that however, as linux might be unhappy with that.
Thank you for any help / information!