$ ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
CFG u-boot.cfg
GEN include/autoconf.mk
GEN include/autoconf.mk.dep
CFG spl/u-boot.cfg
GEN spl/include/autoconf.mk
CHK include/config/uboot.release
CHK include/generated/version_autogenerated.h
CHK include/generated/timestamp_autogenerated.h
UPD include/generated/timestamp_autogenerated.h
CC lib/asm-offsets.s
arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv5
arm-linux-gnueabihf-gcc: note: valid arguments are: armv4 armv4t armv5t armv5te armv5tej armv6 armv6j armv6k armv6z armv6kz armv6zk armv6t2 armv6-m armv6s-m armv7 armv7-a armv7ve armv7-r armv7-m armv7e-m armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a armv8.5-a armv8.6-a armv8-m.base armv8-m.main armv8-r armv8.1-m.main iwmmxt iwmmxt2; did you mean ‘armv4’?
arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’
make[1]: *** [Kbuild:44: lib/asm-offsets.s] Error 1
make: *** [Makefile:1259: prepare0] Error 2
离线
编译环境使用的是Ubuntu22.04
离线
先创建一个打印 hello world 的 c 文件,然后用 arm-linux-gnueabihf-gcc -march=armv5 去编译这个文件你就知道原因了。
$ arm-linux-gnueabihf-gcc -S -o test.s test.c -march=armv5
arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv5
arm-linux-gnueabihf-gcc: note: valid arguments are: armv4 armv4t armv5t armv5te armv5tej armv6 armv6j armv6k armv6z armv6kz armv6zk armv6t2 armv6-m armv6s-m armv7 armv7-a armv7ve armv7-r armv7-m armv7e-m armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a armv8.5-a armv8.6-a armv8-m.base armv8-m.main armv8-r armv8.1-m.main iwmmxt iwmmxt2; did you mean ‘armv4’?
arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’
貌似错误是一样的
离线