S3C6410移植u-boot-2013.01


 1、下载uboot

U-Boot源代码下载地址


  2、解压文件
 
tar xvf u-boot-latest.tar.bz2
  3、进入uboot根目录、接着开始修改文件
 
  4、创建板级文件目录
 
cd /borad/samsung
mkdir smdk6410
  5、复制smdk6400文件到创建的文件目录
 

cp smdk6400/* smdk6410/
  6、修改目录下的文件名
 
cd smdk6410
mv smdk6400.c smdk6410.c
mv smdk6400_nand_spl.c smdk6410_nand_spl.c
  7、修改板级文件内容
 

 

vim smdk6410.c

:%s/smdk6400/smdk6410/g
:wq

vim Makefile

:%s/smdk6400/smdk6410/g
:wq


  8、添加smdk6410配置头文件
 
  进入目录/include/configs
 
cp smdk6400.h smdk6410.h
  9、修改根目录Makefile
 
  修改交叉编译器为
 
CROSS_COMPILE ?= arm-linux-
  添加smdk6410配置项
 
  首先找到smdk6400配置项,复制出一段然后将复制出来的段落中的smdk6400修改为smdk6410
 


#########################################################################
smdk6410_noUSB_config  \
smdk6410_config :      unconfig
        @mkdir -p $(obj)include $(obj)board/samsung/smdk6410
        @mkdir -p $(obj)nand_spl/board/samsung/smdk6410
        @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
        @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
        @if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then                      \
                echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
        else                                                                            \
                echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
        fi
        @$(MKCONFIG) smdk6410 arm arm1176 smdk6410 samsung s3c64xx
        @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
#########################################################################


  10、添加bords.cfg
 
  找到arm1176的芯片相关,添加一行
 
smdk6410  arm  arm1176  smdk6410  linxarm  s3c64x0
  11、制作uboot
 
$ sudo make smdk6410_config
$ sudo make
  最终出现了如下错误
 
u-boot.lds:19: syntax error
  google后在mail list上知道smkd6400系列的已经不支持新版本的uboot矩阵了,并且很可能在下个版本就被移除。

u-boot Makefile完全解读

U-Boot中的date命令

U-Boot源代码下载地址

U-Boot下的两个重要数据:bd_t和gd_t

U-Boot中的version命令

U-Boot中的usb命令

本文永久更新链接地址:

相关内容