我在 OSX 上构建了一个交叉编译工具链:binutils-2.23.52 gcc-4.6.4 gcc-core-4.6.4 gcc-g++-4.6.4 gdb-7.6.1 gmp-4.3.2 mpc-1.0.1 mpfr -2.4.2 newlib-2.0.0 用于目标 EFM32,它是 ARM Cortex-m3,因此 gcc 目标是 arm-none-eabi。全部编译好。但是使用像 blink.c 这样的工具链制作程序实际上并不能在 EFM32 板上运行。我检查了眨眼.bin,我用一个 IAR 商业工具链创建的二进制文件在 energymicro 的演示中提供,也是基于 gcc 的,它们在内部看起来非常不同(正如预期的那样:)。那么我的工具链是否有错误的库/版本,或者仅仅是 gcc/ld/ar 开关错误的问题,系统分析的步骤是什么?