Other Parts Discussed in Thread: AM3359, SYSBIOS, TEST2
Tool/software: TI C/C++ Compiler
Setup:
AM3359 ICEv2 application
Compiler version TI v5.1.11
XDC 3.25.4.88
SYSBIOS 6.35.4.50
Industrial SDK: am335x_sysbios_ind_sdk_1.1.0.4
Hi, I am working on moving some critical section sysbios (KNL and HWI APIs) from DDR to SRAM as mentioned in this Wiki link (attached new linker command)
With these changes app.out works OK, size is ~3.3MB, and I can download it and run it via CCS+JTAG.
However, I need to test my changes using an SD card (customer's test application requires multiple resets). When running postbuild scripts the final binary is huge, about 1GB! .
I have been trying different settings for stripping unnecessary information and debug information but the size is mainly the same. Below examples of what I have tried:
Test1: arm-none-eabi-objcopy.exe -O binary -R .ARM.exidx -R .ARM.extab -R .debug_aranges -R .debug_info -R .debug_abbrev -R debug_pubnames -R debug_aranges -R debug_pubtypes -R .debug_line -R .debug_frame -R .debug_str -R .debug_loc -R .debug_ranges app.out app.bin
Test2: arm-none-eabi-objcopy.exe -O binary --strip-all --strip-debug --strip-unneeded app.out app.bin
Test3: arm-none-eabi-objcopy.exe -O binary -j .init -j ti.sysbios.family.arm.a8.mmuTableSection -j .knl -j .hwi -j .sysbios -j .stack -j .bss -j .neardata -j rodata -j .cinit -j .args -j .vecs -j xdc.meta -j .text -j .const.1 -j cost.2 -j .data app.out app.bin
I read online that the issue is the "hole" between memory sections in this case DDR and SRAM.
Question to the compiler experts:
- Is there any trick that I can use in order to take out the "hole"?
- is there any objcopy configuration that I can try?
- Any other idea is also welcome =)
Thank you,
Paula