【u-boot-2018.05】移植到S3C2440

  • 文章链接:https://blog.csdn.net/q_z_r_s

机器感知

一个专注于SLAM、机器视觉、Linux 等相关技术文章分享的公众号
 

因为u-boot-2018.05并不支持S3C2440,所以先在以前的版本中寻找我们所需要的代码,我这里以MINI2440为例。详细信息请参考

之所以想要把u-boot-2018.05移植到S3C2440,主要是想了解一下u-boot的新特性(其实在u-boot-2014.10中就已经引入了)Kconfig,不料在编译的时候提示GCC版本低于6.0,而我用的GCC是4.4.3的,想了想为了编译u-boot还要再自制一个交叉编译器,想想还是算了吧,干脆找个相对较新的且带有Kconfig的u-boot,而且4.4.3的编译器也能支持的版本,于是u-boot版本改为了u-boot-2015.10

首先是把u-boot-2013.10中的代码copy到u-boot-2015.10中

cp ~/u-boot-2013.10/include/configs/mini2440.h include/configs/mini2440.h
cp ~/u-boot-2013.10/board/friendlyarm/mini2440/mini2440.c board/samsung/mini2440/mini2440.c
cp ~/u-boot-2013.10/board/friendlyarm/mini2440/mini2440.h board/samsung/mini2440/mini2440.h

由于Kconfig的原因,这里需要在mini2440文件夹中添加Kconfig文件

if TARGET_MINI2440

config SYS_BOARD
         default "mini2440"

config SYS_VENDOR
        default "samsung"

config SYS_SOC
        default "s3c24x0"

config SYS_CONFIG_NAME
        default "mini2440"

endif

接下来就是修改arch/arm/Kconfig,添加如下代码

config TARGET_MINI2440
        bool "Support mini2440"
        select CPU_ARM920T

source "board/samsung/mini2440/Kconfig"

另一处需要修改的就是在mini2440.h中添加一个宏定义

#define CONFIG_SYS_GENERIC_BOARD

在configs目录下添加mini2440_defconfig文件

CONFIG_ARM=y
CONFIG_TARGET_MINI2440=y
CONFIG_SYS_PROMPT="u-boot-2015.10 # "

最后,在u-boot-2015.10根目录下输入

make mini2440_defconfig && make

等编译完毕之后就可以看到已经有可以正常运行的u-boot.bin生成了,有一点就是在编译的过程中会出现很多重复定义的警号提示,不过这些都是小case了^_^.

 

 

 

你可能感兴趣的:(u-boot)