移植Linux到ZYNQ

博客说明

撰写日期 2019.09.06
完稿日期 2019.09.06
最近维护 暂无
本文作者 multimicro
联系方式 multimicro@qq.com
资料链接 本文无附件资料
GitHub https://github.com/wifialan/
原文链接 https://blog.csdn.net/multimicro/article/details/100585223

开发环境

环境说明 详细信息 备注信息
操作系统 Windows_x64、Manjaro18.04 KDE、Debian
Vivado版本 2018.3 官网地址
开发板型号 ZYNQ7010(米联客 MiZ701N 黑色版本)
编译器版本 gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf 官网地址
编译器路径 /opt/toolschain/linaro/bin/arm-linux-gnueabihf- 绝对路径
Xilinx uboot版本 u-boot-xlnx-v2018.3 官网地址
Xilinx kernel版本 linux-xlnx-v2018.3 官网地址
文件系统 linaro-precise-ubuntu-desktop-20121124-560 官网地址
SD卡型号 SanDisk C10 A1至尊高速移动版 16GB 参考链接

0. SD卡制作

参考ZYNQ的Linux Linaro系统镜像制作SD卡启动

1. 移植u-boot

1.1 流程概述

网上移植u-boot的教程比较多,这里仅说明一下u-boot的编译流程,本博客采用的是2018.3版本。

  1. 打开vivado 2018.3,按照ZYNQ开发_Vivado_裸机开发流程建立起一个工程,由于本博客是要求从SD卡启动,所以,在ZYNQ的IP内需要勾选上SD卡外设。然后编译工程,产生bit文件。
  2. 提前说一下这一步,从vivado内打开Xilinx SDK工具,记得导入bit文件。然后建立u-boot所需要的FSBL工程,详情参考ZYNQ的Linux Linaro系统镜像制作SD卡启动,最终生成的BOOT.bin文件默认在此文件夹下:
    在这里插入图片描述
  3. 编译uboot工程,产生u-boot.elf文件,供给步骤2所需

1.2 编译uboot

git 下来Xilinx公司提供的uboot工程:

proxychains4 git clone https://github.com/Xilinx/u-boot-xlnx.git

前面的proxychains4是走的终端代理,不走代理的话,直接克隆即可。走代理的方式详情参考重装Ubuntu18.04后的系统配置工作总结里面内容。
在这里插入图片描述
根据自己使用的vivado版本进行检出对应的tag文件,不清楚tag名称的,可以使用git tag命令查看
*
然后检出tag文件内容使用

git checkout xilinx-v2018.3
git checkout -b xilinx-v2018.3

在这里插入图片描述
此时的uboot版本和vivado版本一致,可以进行后续工作。
在此之前要更改一个配置文件

vim configs/zynq_zc702_defconfig

在这里插入图片描述
禁掉此行,否则uboot会在FLASH里面读取配置文件。然后

vim arch/arm/dts/zynq-zc702.dts

更改频率,这个频率就是在vivado建立工程时的晶振频率50MHz
在这里插入图片描述
然后在终端里面

make CROSS_COMPILE=/opt/toolschain/linaro/bin/arm-linux-gnueabihf- ARCH=arm zynq_zc702_defconfig

在这里插入图片描述

make CROSS_COMPILE=/opt/toolschain/linaro/bin/arm-linux-gnueabihf- ARCH=arm menuconfig
make CROSS_COMPILE=/opt/toolschain/linaro/bin/arm-linux-gnueabihf- ARCH=arm -j8

最后产生了u-boot文件
在这里插入图片描述
执行命令,生成elf文件

cp u-boot u-boot.elf

然后用此u-boot.elf完成上述步骤2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值