ZYNQ-Linux学习笔记(1)-从零开始在MicroZed7020上使用PETALIUX tool工具创建Linux
前言实验平台安装依赖包安装PetaLinux修改dash->bash(如果需要)安装PetaLinux 2015.2通过VIVADO创建硬件平台新建工程配置芯片以及外设PetaLinux新建工程导入硬件配置配置内核,根文件系统编译以及启动总结前言经过很多天的摸索尝试各种方法,最后在自己的脑海中有了一个大体的...
前言
经过很多天的摸索尝试各种方法,最后在自己的脑海中有了一个大体的思路。之前尝试过直接用xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin文件去安装,安装完成后是可以在terminal中得到arm-xilinx-linux-gnueabi-gcc的版本,也可以用来编译,但是从xilinx官网上下载内核,u-boot下载老是不成功,也就放弃了。后来又尝试使用SDSoc,SDSoc的第一步搭建平台就没有成功过,我的硬件平台是MicroZed7020的芯片,所以就失败了。最后看到Petalinux tool,就按照UG1141(v2015.2)文档一步步去尝试,中间也有很多困难,但是最后是成功了,其中还有个小插曲,就是我的TF卡被我搞丢了,所以这里也费了些功夫把内核等放到flash中去运行。不过这边文章是通过SD卡启动的。
实验平台
Windows: WIN7 64位,VIVADO 2015.2,SDK 2015.2
Ubuntu:Ubuntu 16.04,Petalinux Tool
硬件平台:Microzed 7020,SD卡启动
安装依赖包
需要的东西:
1.ubuntu16.04
2.petalinux-v2015.2.1-final-installer.run文件
需要安装的依赖包
sudo apt-get install tofrodos
sudo apt-get install iproute
sudo apt-get install gawk
sudo apt-get install gcc
sudo apt-get install git-core
sudo apt-get install make
sudo apt-get install net-tools
sudo apt-get install ncurses-dev
sudo apt-get install libncurses5-dev
sudo apt-get install tftpd
sudo apt-get install zlib1g-dev
sudo apt-get install libssl-dev
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install lib32z1
sudo apt-get install lib32ncurses5
按照UG1141(v2015.2)文档安装lib32bz2-1.0这个库的时候会出错
sudo apt-get install lib32bz2-1.0
所以这里要更换成libbz2-1.0:i386安装
sudo apt-get install libbz2-1.0:i386
把剩下的装完
sudo apt-get install lib32stdc++6
sudo apt-get install libselinux1
总结一下需要安装的依赖包有一下,可以直接复制下面的进行安装:
tofrodos iproute gawk gcc git-core make net-tools ncurses-dev libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison lib32z1 lib32ncurses5 libbz2-1.0:i386 lib32stdc++6 libselinux1
安装PetaLinux
修改dash->bash(如果需要)
先查看当前状态
ls -l /bin/sh
结果是
/bin/sh -> dash
我们会发现Ubuntu默认采用的是 dash
如果要修改默认的sh,可以采用命令
sudo dpkg-reconfigure dash
然后选择【否】
成功后再执行ls -l /bin/sh 看看
结果是: /bin/sh -> bash
修改成功!
安装PetaLinux 2015.2
sudo mkdir /opt/pkg
新建文件夹用来安装
cd /tmp
定位到有安装文件的文件夹中
sudo ./petalinux-v2015.2.1-final-installer.run /opt/pkg
将安装包安装到目标文件夹
如果上面的依赖包都安装完成的话,那应该可以顺利安装完成
通过VIVADO创建硬件平台
新建工程
打开vivado 2015.2,新建工程
这里选择microzed 7020的板子
如果Board里没有这个选项的话就选择与板子相对应的7020的芯片
配置芯片以及外设
在左侧选择Create Block Design
新增一个IP
增加ZYNQ这个IP
点击Run Block Automation
之后双击IP模块,进行配置
配置完成之后对.bd文件右键Generate Output Products
在次右键选择Create HDL Wrapper
选择Generate Bitstream
最后在File->Export->Export Hardware
最终生成了.bit文件跟.hdf文件
PetaLinux新建工程
在根目录新建一个文件夹用来存放工程文件
sudo mkdir /Petalinux_Project
修改权限777
sudo chmod 777 /Petalinux_Project
进入到这个目录下
cd /Petalinux_Project
再新建一个mz_hdf文件夹用来存放.hdf文件,把刚才生成.hdf文件放到这个文件夹底下
sudo mkdir mz_hdf
保证当前目录是/Petalinux_Project
配置环境变量:
source /opt/pkg/petalinux-v2015.2.1-final/settings.sh
创建新工程名叫my_project
petalinux-create --type project --template zynq --name my_project
这时在工程文件夹底下就会出现新建的工程,将路径定位到到刚才新建的my_project文件里面
导入硬件配置
petalinux-config --get-hw-description=/Petalinux_Project/mz_hdf
这里可以取消tftpboot
配置内核,根文件系统
一般来说什么都不需要改
petalinux-config -c kernel
配置根文件系统,暂时默认
petalinux-config -c rootfs
编译以及启动
编译u-boot,kermel,rootfs,第一次编译比较长时间
petalinux-build
没有出错,编译成功,如下所示
这时我们可以在my_project/images/linux下看到我们编译好的文件
将这个文件夹下的u-boot.elf,zynq_fsbl.elf以及image.ub拷到window下,新建个文件夹叫做sd image。再把之前vivado生成的.bit文件同样放进来。打开SDK,选择xilinx tools->Create Zynq Boot Image
把sd image下的u-boot.elf,zynq_fsbl.elf,mz7020_base.bit文件按照如下的顺序放置
然后生成boot.bin
将boot.bin 跟image.ub拷到TF卡,上电microzed板,通过串口查看打印信息,登录名跟密码都是root
成功启动
总结
1.关于在VIVADO中ip的配置将会在另一片文章中说明,这里篇幅太长就不加入了
2.相关的文件可以再这里下载:链接:https://pan.baidu.com/s/1dospsRArIlMv-h3LcovNwA 密码:yqsj
3.有问题可以留言或者发邮件到839089604@qq.com
更多推荐
所有评论(0)