移植u-boot

本文以ubuntu16、MobaXterm超级终端,以及fs6818开发板为例

准备移植

    • 在家目录下创建bootloader。

mkdir ~/bootloader
    • 拷贝压缩文件到bootloader中。

在这我用到共享文件夹,也可以直接从window下拖到Ubuntu下,压缩包要放在ubuntu下解压。
cp /共享文件夹路径/u-boot-2014.07.tar.bz2 ~/bootloader
压缩包可以去官网下载,我在这里放一个我用的。
链接: https://pan.baidu.com/s/1UNuF7NqKWp3acLBF74v_bg?pwd=fjbs
提取码:fjbs

3、解压缩

tar -vxf u-boot-2014.07.tar.bz2

开始移植

    • 配置交叉编译工具链

打开u-boot源码顶层目录的Makefile

vi Makefile

修改内容

修改为

    • 删除u-boot源码中间文件

make disclean/clean
个人理解:diaclean与clean的区别就是一个清除的干净点,一个没有那么干净,我用的clean完全可以。
    • 配置u-boot源码支持开发板(我用的是fs6818)

我这有一个优化过后的fs6818的u-boot源码
链接: https://pan.baidu.com/s/1hGH-xp34GxgDcCLAJdX9cw?pwd=ejhg
提取码:ejhg
make <board_name>_config //通用
make fs6818_config

如果打印以下信息表示成功:

Configuring for fs6818 board...

如果打印以下信息表示u-boot不支持此开发板:

make: *** No rule to make target `maxiaoli_config'. Stop.

make: *** [maxiaoli_config] Error 1

    • 编译u-boot源码,生成ubootpak.bin

make/make all (编译时间较长)

若编译出现以下问题

打开Makefile,修改:

    • 将生成的ubootpak.bin文件下载到开发板中,测试是否可以用。

我用的超级终端:(超级终端使用方法自行学习)

链接:https://pan.baidu.com/s/1dpB2yTFgv9NMtlRbefx5sw?pwd=6qbc

提取码:6qbc

  1. 通过SD卡的方式启动uboot,进入FS6818#的界面

b. 拷贝 ubootpak.bin到tftpboot路径下

cd bootloader/u-boot-2014.07-fs6818
cp ubootpak.bin ~/tftpboot

c.将ubootpak.bin使用tftp命令烧写到内存中

d.updata mmc

update_mmc <dev no> <type> <mem> <addr> <length>
    - type :  2ndboot | boot | raw | part 
    <dev no>:flash设备编号 EMMC:2
    <type>:类型  2ndboot 
    <mem>:uboot在内存中的起始地址,以字节为单位
    <addr>:flash的起始地址:以块为单位
    <length>:往flash中下载多少块空间
    Bytes transferred = 352296 (56028 hex)上一步烧写大小,要留够空间
    一块的大小是512字节
    length的大小 > 352296 / 512        
    fastboot=flash=mmc,
    2:ubootpak:2nd:0x200,0x78000;          
  flash=mmc,2:2ndboot:2nd:0x200,0x4000;    

在超级终端输入命令

打印以下信息表示成功:

head boot dev = 2

update mmc.2 type 2ndboot = 0x200(0x1) ~ 0x78000(0x3c0): Done

e.测试是否更新ubootpak.bin到EMMC中

开发板断电,设置拨码开关,切换到EMMC模式。

开发板重新上电。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值