如何将 ARM 编译器命令翻译成 gcc 交叉编译工具链?

How to translate ARM compiler commands to gcc cross compile toolchain?

我有很多 armcc 命令,我喜欢将其转换为 gcc 选项。该代码最初用于不同的环境。我确实查看了 gcc --help,但没有看到相同的选项,例如 --cpu。有人可以帮忙吗?以下是命令:

del .\obj\*.o

armcc  -c --debug --cpu=Cortex-A9.no_neon.no_vfp -O1 -o ./obj/foo     ./src/foo.c
armcc  -c --debug --cpu=Cortex-A9.no_neon.no_vfp -O1 -o ./obj/bar ./src/bar.c 

armasm    --debug --cpu=Cortex-A9.no_neon.no_vfp     -o ./obj/buz.o  ./src/buz.s
armasm    --debug --cpu=Cortex-A9.no_neon.no_vfp     -o ./obj/58

armlink   --scatter=scatter_foo.txt --entry=fooStart -o foo.axf ./obj/foo  ./obj/bar ./obj/buz.o ./obj/58

fromelf --bin -o foo.bin foo.axf

del .\obj\*.o

armcc  -c --debug --cpu=Cortex-A9.no_neon.no_vfp -I ./headers/ -O1 -o ./obj/foo.o     ./src/foo.c
armcc  -c --debug --cpu=Cortex-A9.no_neon.no_vfp -I ./headers/ -O1 -o ./obj/bar.o ./src/bar.c
armcc  -c --debug --cpu=Cortex-A9.no_neon.no_vfp -I ./headers/ -O1 -o ./obj/buz.o      ./src/buz.c

armasm    --debug --cpu=Cortex-A9.no_neon.no_vfp                        -o ./obj/bar.o  ./src/bar.s
armasm    --debug --cpu=Cortex-A9.no_neon.no_vfp --diag_suppress=A1786W -o ./obj/bar.o         ./src/bar.s
armasm    --debug --cpu=Cortex-A9.no_neon.no_vfp                        -o ./obj/58

armlink   --scatter=foo.txtt  -o example.axf --entry=bar --keep=bar.o(NORMAL_IMAGE) ./obj/foo.o  ./obj/bar.o ./obj/startup.o ./obj/58

您使用 gcc --help 获得的选项并未列出所有选项(只有很多选项)。而是阅读应列出所有选项的在线文档。此外,汇编器、链接器和对象转储器(用于从 ELF 文件创建二进制文件)不是 GCC 的一部分,而是 GNU binutils 包的一部分。 – 来自 Joachim Pileborg