U-boot版本:2020/5/2
编译环境:Ubuntu 16.04
arm-none-eabi-gcc version 4.9.3 20150529 (prerelease) (15:4.9.3+svn231177-1)
运行环境:mini2440(s3c2440,arm920t)
代码仓库:git@github.com:JingyeLi/u-boot_2440.git
commit hash:45516b370859b022b9bf2c9fb87318b1fa2d34a3
GitHub上下载最新的u-boot
git@github.com:u-boot/u-boot.git
实际上最新的u-boot(好像是从2017年开始),已经删除了对s3c系列的支持,虽然说基于新版本移植更加吃力,但是从一个芯片BSP开发的角度,这样更接近于将U-boot移植到一颗新芯片上,更有实践价值。
从Makefile下手
- 使用crosscompile
Makefile中有一处地方可以设置gcc,这里我们使用arm公版的cross compile,可以从arm官网下载得到。
diff --git a/Makefile b/Makefile
index 6bb9cf5..ceaad9a 100644
--- a/Makefile
+++ b/Makefile
@@ -259,8 +259,10 @@ export HOSTARCH HOSTOS
#########################################################################
# set default to nothing for native builds
-ifeq ($(HOSTARCH),$(ARCH))
-CROSS_COMPILE ?=
+$(warning "HOSTARCH $(HOSTARCH), ARCH $(ARCH)")
+ifneq (