Thread 中讨论的其他器件:SYSBIOS
您好!
因此我知道这个程序"arm-none-eabi-objcopy"旨在将 ELF 可加载格式转换为可直接放入存储器的映像。
但有些东西不会累加...
给定典型示例项目"GPIO_LedBlink_bbbAM335x_armTestProject" 使用 PdkAppImageCreate.bat 将其作为"构建步骤"进行调用。
它找到了具有$TI_PDK_INSTALL_DIR...的 ARM-NONE - eabi-objcopy 在我可以找到的环境中的任何位置都不存在... 仅存在"com_TI_pdk_install_DIR"。 (典型的不一致材料、没有人可以向我解释)
但是、此页面: https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_tiobj2bin_failed.html 告诉您使用项目设置(但更不一致的材料...)调用它。 但至少它是被调用的相同可执行文件。
生成的发布版本为 GPIO_LedBlink_bbbAM335x_armTestProject.out、即890K。 转换会将其减小为 GPIO_LedBlink_bbbAM335x_armTestProject.bin、即96K。
到目前为止还可以……
我要从 TI 编译器转换为 GNU 编译器的大型工程无法正确生成 bin 文件。
新的 GNU 编译生成一个*。out 文件、该文件为29、759K。 它比我在下面描述的 TI 版本小、但这可以更好地进行链接、生成代码、等等...
当调用可执行文件 arm-none-eabi-objcopy 以生成 *。bin 文件时、它为1、048、955K!!! 这超过了1 GB 的内存!
(TI 编译*。out 文件为51、761K、 当使用 tiobj2bin.bat 文件时、它会调用 armhex.exe 和 mkhex4bin.exe [我 无法确定 哪个可执行文件进行转换...] 生成的 bin 文件现在为12、475K。 这似乎是一个适当的减少,类似于示例)
为什么生成的 bin 文件要大35倍?
生成的命令只是"C:/ti/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-objcopy.exe -O 二进制 "Project.out" "Project.bin"、在示例和这个大工程之间是相同的。 然而,像往常一样,玩具示例起作用,但现实世界的项目却不起作用。
有人建议从何处开始寻找解决方案?
-CSW