U-BOOT移植之初次编译uboot

U-BOOT

一、NXP官方uboot编译与测试

 1.将NXP提供的uboot拷贝到ubuntu中。
 2.解压uboot文件 ;tar -vxjf ......
 3.为了和NXP有区分,进行重命名;mv []  []
 4.编译,在编译之前先配置
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-  distclean   //先清理工程
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-  mx6ull_14x14_evk_emmc_defconfig   //配置NXP官方的文件
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- V=1 -j12    //编译(显示编译详细信息)
   ==第四步:也可以用自己编写的shell脚本代替;vim  mx6ull_14x14_evk_emmc.sh==
5.到此,官方uboot编译成功!

一个开发板要运行Uboot,首先DDR或DRAM,串口,SD,EMMC,NAND得存在。重点是板子要正常工作

二、在NXP官方的uboot中添加自己的板子

1.添加开发板默认配置文件

    借鉴NXP官方的6ull evk开发板,默认配置文件也用官方的;configs/mx6ull_14x14_evk_emmc_defconfig
     a. cp mx6ull_14x14_evk_emmc_defconfig    mx6ull_super_emmc_defconfig
     b.复制已经自定义过的shell脚本,并修改里面的内容与之匹配;编译 mx6ull_super_emmc_defconfig  
     c.修改 mx6ull_super_emmc_defconfig文件里面的内容与之匹配;

2.添加板子对应的头文件

不同的板子需要配置一些信息,一般都是在一个头文件里面配置;而这个头文件都是每个板子有一个;
而对于NXP官方的6ullevk开发板,这个头文件就是 include/configs/mx6ullevk.h
a.拷贝cp  mx6ullevk.h    mx6ull_super_emmc.h
b.修改 mx6ull_super_emmc.h的内容与之匹配; 

3.添加开发板对应的板级文件夹

每个板子都有特有的板级文件,这里我们将6ullevk的板级文件直接拷贝过来; board/mx6ullevk
a.复制mx6ullevk;cp mx6ullevk  mx6ull_super_emmc
b.cd  mx6ull_super_emmc  
c.mv  mx6ullevk.c  mx6ull_super_emmc.c
d.修改同级的Makefile、imximage.cfg(34行)、Kconfig、MAINTAINERS

4.修改uboot的配置界面

    arch/arm/cpu/armv7/mx6/Kconfig
    a.  在207行加入:
        config TARGET_MX6ULL_SUPER_EMMC
		bool "Support mx6ull_super_emmc"
		select MX6ULL
		select DM
		select DM_THERMAL
    b.在末尾endif之前加入:
        source "board/freescale/mx6ull_super_emmc/Kconfig"

5.用之前自定义的shell脚本 进行编译;

编译是否成功就看:board/freescale/mx6ull_super_emmc文件夹下面有没有mx6ull_super_emmc.o 这个文件
看mx6ull_super_emmc.h 文件是否被多个文件引用;执行grep -nR "mx6ull_super_emmc.h"

到此 初步移植uboot成功,下来就是修改有关驱动!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值