我用的是zc706不是zed

基本思路是:

1.安装交叉编译工具(见 https://www.cnblogs.com/idyllcheung/p/10532654.html

2.下载xilinx uboot源码 git clone https://github.com/xilinx/u-boot-xlnx.git

3.编译

make zynq_zc706_defconfig

make CROSS_COMPILE=arm-xilinx-linux-gnueabi-

出现如下错误:

*** Your GCC is older than 6.0 and is not supported
arch/arm/config.mk:66: recipe for target 'checkgcc6' failed
make: *** [checkgcc6] Error 1

修改以下部分:

vim ./arch/arm/config.mk

64行左右:

############# old ##############

else
archprepare: checkgcc6
endif

checkgcc6:
    @if test "$(call cc-name)" = "gcc" -a \
            "$(call cc-version)" -lt "0600"; then \
        echo '*** Your GCC is older than 6.0 and is not supported'; \
        false; \
    fi
############# old ##############

改为:

########### new ###############
#else
#archprepare: checkgcc6
endif

#checkgcc6:
#    @if test "$(call cc-name)" = "gcc" -a \
#            "$(call cc-version)" -lt "0600"; then \
#        echo '*** Your GCC is older than 6.0 and is not supported'; \
#        false; \
#    fi
########### new ###############

就是将checkgcc6目标去除,和交叉编译器版本有关

make CROSS_COMPILE=arm-xilinx-linux-gnueabi-

将u-boot.elf拷贝出来,并不是u-boot

然后在sdk中生成BOOT.bin(BOOT.bin可以直接烧到qspi中,不需要BOOT.mcs

从SDK中将上述fsbl.elf、硬件的.bit文件、u-boot.elf打包成BOOT.bin。

拷贝到sd卡里,将启动方式设置为sd卡启动,上电后就可以看到u-boot命令行,hooray,恭喜自己吧。

Zynq ZC706 传统方式移植Linux -- 编译u-boot的更多相关文章

  1. Zynq ZC706 传统方式移植Linux -- 编译kernel 文件系统 devicetree

    1.kernel 实际操作时候,下面两条命令就够了. make ARCH=arm xilinx_zynq_defconfig make ARCH=arm CROSS_COMPILE=arm-xilin ...

  2. ZYNQ跑系统 系列(二) petalinux方式移植linux

    三.搭建petalinux工程 0.定位目录    先在shell中找一个准备存放工程的地方,(我的是home/hlf/PRO),命令行cd home/hlf/PRO 1.定位编译链    根据安装p ...

  3. ZYNQ跑系统 系列(二) petalinux方式移植linux petalinux-config遇到问题

    petalinux-config --get-hw-description=. 报错 [INFO] sourcing bitbakeERROR: Failed to source bitbakeERR ...

  4. ZYNQ FLASH+EMMC手动移植LINUX启动

    前言 虽可使用Petalinux进行移植,简单方便,但为了更清楚明白的了解整个流程,还是尝试了一波手动移植. 参考资料 ZYNQ Linux 移植:包含petalinux移植和手动移植debian9 ...

  5. linux 编译内核 /boot空间不足?

    /boot空间一般分配100M的空间,本来是够用的,由于频繁的更新导致旧的不再使用的内核文件也保留在boot空间里,占着位置,所以把这些不用的内核文件下载掉boot空间就能释放出一部分, 具体做法为 ...

  6. Linux编译移植Qt5的环境_Xillinx的ZYNQ平台

    Linux编译Qt环境 2017年的十一假期,足不出户,一个人在教研室里面搞Qt的移植.我手里面有Samsung的CortexA8,Samsung的 CortexA53还有Ti的Sitara系列的AM ...

  7. Linux编译移植Qt4的环境_在OMAPL138平台

    Linux编译Qt4的环境_OMAPL138 手里有一块创龙OMAPL138的板子,我要在上面成功移植Qt环境和触摸屏幕,这是我第二次进行Linux的Qt环境移植,发现了很多问题,需要重新整理. 我编 ...

  8. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  9. 嵌入式Linux下ALSA音频架构ALSA-lib移植与编译心得

    **************************************************************************************************** ...

随机推荐

  1. vue mounted中监听div的变化

    vue mounted中监听div的变化 <div style="width:200px;height:30px;background: #0e90d2" id=" ...

  2. [js]js的表单验证

    http://uule.iteye.com/blog/2183622 表单验证类 <form class="form" method="post" id= ...

  3. Python Socket通信黏包问题分析及解决方法

    参考:http://www.cnblogs.com/Eva-J/articles/8244551.html#_label5 1.黏包的表现(以客户端远程操作服务端命令为例) 注:只有在TCP协议通信的 ...

  4. 解读经典面试题for循环console.log

    for (var i = 1; i <= 5; i++) { setTimeout(function () { console.log(i) },1000)} 会打印出5个6,这是why 因为 ...

  5. cocos2d-x JS 利用重复动作实现动画播放(实现倒计时)

    cocos2d-js: cc.delayTime() and cc.repeatForever() don't work together in cc.sequence() this.numm = 1 ...

  6. 办法总比困难多--JMeter压测小记

    标签: JMeter, 代理接口 前段时间溢+支付接口慢,有商户直接反映掉单严重.这时,我接到了压测溢+支付接口的任务.JMeter我并不熟悉,公司也没有搞自动化测试的QA,一开始team里的一个同学 ...

  7. MySQL报错

    1,使用mysqldump导出数据报错: mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when d ...

  8. 《大话设计模式》c++实现 建造者模式

    一.UML图 关键词:Subject维护一个Observer列表,Subject执行Notify()时就执行列表中的每个Observer的Update(). 二.概念 观察者模式:定义了一种一对多的依 ...

  9. 09 查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素

    li = ["alex"," aric","Alex","Tony","rain"]for i in ...

  10. spring 的核心类JdbcTemplate 方法

    2018-11-29  10:28:02