基于官方 u-boot-2016.09.y 分支修改:
1、读取配置:
make tq2440_defconfig
tq2440_defconfig是新增文件,主要描述TQ2440这块板子需要配置的配置项。内容上移植smdk2410,最终将写入“.config”文件。
2、需修改、新增的目录和文件:
3、从step1开始读取配置文件会设置CPU架构(arm920t),会配置target,后续根据target进行相应配置设置。
/u-boot/configs/tq2440_defconfig
/u-boot/arch/arm/Kconfig
记得要在文件底部添加更新:source "board/samsung/tq2440/Kconfig",否则会报错
include/config.h:5:22: error: configs/.h: No such file or directory
/home/zhangqing/u-boot/include/configs/tq2440.h 内定义的宏影响要编译进bin的选项
/u-boot/board/samsung/tq2440/Kconfig
/u-boot/arch/Kconfig
可见配置会决定make编译目录
4、make 试试,记得艮makefile文件内设置架构和交叉编译工具,否则可能告警:
error: bad value (armv4t) for -march=
5、链接出问题了,告警:
arm-linux-gnueabi-ld.bfd: u-boot: Not enough room for program headers, try linking with -N
arm-linux-gnueabi-ld.bfd: final link failed: Bad value
可以参考 https://blog.csdn.net/u010632165/article/details/94402146 ,在makefile添加脚本
6、重新make 即可编译成功。
7、readelf -h 可以看看生成的目标文件是不是arm的了。
8、done 下次看针对板子需要修改点