“Thread:AM3359, SysBIOS”中讨论的其它部件
工具/软件:TI C/C++编译器
设置:
AM3359 ICEv2应用程序
编译器版本TI v 5.1 ................................................................11.
XDC 3.25 .4.88
SysBIOS 6.35 .4.50
工业SDK:1.1 0.4
大家好,我正在努力将 一些重要的SysBIOS部分(KNL和HWI API)从DDR移至SRAM,如本 Wiki链接( 附加的新链接器命令)中所述
通过这些更改,app.out可以正常工作,大小为~3.3 MB ,我可以下载它并通过CCS+JTAG运行它。
但是,我需要使用 SD卡测试我的更改(客户的测试应用程序需要多次重置)。 运行后构建脚本时,最终的二进制文件是巨大的,关于1 GB ! 。
我一直在尝试不同的设置来剥离不必要的信息和调试信息,但大小基本相同。 下面是我尝试过的示例:
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_app -R .debug -r .debug .debug范围-R .debug_app.debug .debug -r -r -r .debug .r.debug .r.debug 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二进制-j .init -j ti.Sysbios.family.arm.a8.muTableSection -j .KNL -j .hwi -j .SysBIOS -j .stack -j .bss -j .neardata -j rodata -j .cinit -j .args -j .vectra -j xdc.meta -j -j .text out -j app.bin -const .j
我在网上看到问题是内存部分之间的“孔”,在这种情况下是DDR和SRAM。
向编译器专家提出的问题:
我有没有任何技巧可以用来钻出“洞”?
有没有可以尝试的objcopy配置?
-欢迎提出任何其他想法=)
谢谢!
Paula