Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI-RTOS
I'm working on a basic application to run on an IPU core that handles UART communications and then passes data to the main Linux OS via IPC. The IPU will be running SYS/BIOS. I have set up the following RTSC packages in CCS 7.1.0 (all from RTOS SDK 4.0.0.1):
- EDMA3 v2.12.4
- IPC 3.46.0.02
- SYS/BIOS 6.46.5.55
- am57xx PDK v1.0.7
I've set up my app.cfg, config.bld, etc. based on examples that come with the SDK.
I've also set up RTSC options as follows:
- Target: ti.targets.arm.elf.M4
- Platform: ti.platforms.evmDRA7XX:ipu1
If I use XDCtools 3.32.1.22, the build gets to the link step and then fails:
"configPkg/linker.cmd", line 246: error #10099-D: program will not fit into available memory. run placement with alignment fails for section ".data" size 0x100138e . Available memory ranges:
EXT_DATA size: 0x200000 unused: 0x1fedb7 max hole: 0x1fedb7
I have no idea why the linker comes up with such a huge section size; I tried looking through the .map file that gets generated but it offers no help. I see a .data.1 section that is 0x01000018 bytes in length, but I have no idea what the linker is trying to place there; all I get is a "FAILED TO ALLOCATE" message, which obviously isn't very helpful. The module summary in the .map file is similarly unhelpful; it reports a "grand total" code size of 87978 bytes, ro data size of 21159 bytes, and rw data size of 484963 bytes, none of which even come close to the reported data section size.
For additional information, here's the offending part of the "SEGMENT ALLOCATION MAP"
run origin load origin length init length attrs members
---------- ----------- ---------- ----------- ----- -------
00000000 00000000 01000018 00000000 rw- .data.1
And my MEMORY CONFIGURATION:
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------