ZYNQ7045从flash启动linux

1.准备工具

自行安装linux版本的vivado,和xilinx开发环境。linux版本我选择的是Ubuntu18.04,ubuntu系统下xilinx开发环境我安装的是vivado 2018.3(安装时候要记得勾选SDK),安装好vivado后也就包含了xilinx的ARM部分交叉编译器。

2.Petalinux 工具安装

petalinux 并不是一个特殊 Linux 内核,而是一套开发环境配置的工具,降低 uboot、内核、根文件系统的配置的工作量,可以从 Vivado 的导出硬件信息自动完成相关软件的配置,安装版本为 petalinux-v2018.3

注:vivado配置zynq硬核配置部分参考ZYNQ7045从flash启动linux vivado配置

步骤1:安装必要的库,执行命令

sudo apt-get install tofrodos gawk xvfb git libncurses5-dev tftpd zlib1g-dev zlib1g-dev:i386 libssl-dev flex bison chrpath socat autoconf libtool texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev screen pax

步骤2:安装Petalinux
1.先下载自己需要的Petalinux版本,Petalinux下载版本选择链接
ZYNQ7045从flash启动linux_第1张图片
2.进入PetaLinux - Installation Files - 2018.3 选项界面下
ZYNQ7045从flash启动linux_第2张图片

点击PetaLinux 2018.3 Installer(TAR/GZIP-6.17G)下载
ZYNQ7045从flash启动linux_第3张图片
需要AMD账号,自行注册完成后,填写必要信息,即可下载
ZYNQ7045从flash启动linux_第4张图片
3.将下载的
petalinux-v2018.3-final-installer.run
文件迁移到ubuntu18.04系统下,执行命令
(注:就是你ubuntu的用户名)

sudo chmod +x petalinux-v2018.3-final-installer.run
sudo mkdir -p /opt/pkg/petalinux
sudo chown  /opt/pkg/
sudo chgrp  /opt/pkg/
sudo chgrp  /opt/pkg/petalinux/
sudo chown  /opt/pkg/petalinux/
sudo ./petalinux-v2018.3-final-installer.run /opt/pkg/petalinux/

执行上述命令之后,petalinux开始安装,根据提示,按回车查看协议内容后,按 q 退出协议内容,按 y 同意协议内容,在安装过程中会弹出 License,按“q”退出,然后按“y”同意,至此,Petalinux安装完成。

3.使用 Petalinux 定制 Linux 系统

首先FPGA工程师根据Vivado 软件把硬件信息配置完成编译导出(内存,时钟,qspi,需要的基本外设等等)成工程文件,然后 Petalinux 根据这些信息来配置 uboot,内核、文件系统等

步骤1:搭建工程环境

1.在 vivado 导出硬件配置的工程目录下会有一个***.sdk** 的目录,下面有一个“design_1_wrapper_hw_platform_0”文件夹,这个文件夹就包含了 petalinux 使用的文件
ZYNQ7045从flash启动linux_第5张图片
2.把“design_1_wrapper_hw_platform_0”目录复制到ubuntu18.04自己的工程目录下
ZYNQ7045从flash启动linux_第6张图片
3.设置 petalinux 环境变量,执行命令

source /opt/pkg/petalinux/settings.sh

ZYNQ7045从flash启动linux_第7张图片
4.设置 vivado 环境变量,执行命令

source /opt/Xilinx/Vivado/2018.3/settings64.sh

5.创建一个 petalinux 工程,工程名自己命名即可,我自己工程创建一个名为petlinux_config的工程,执行命令

petalinux-create --type project --template zynq --name petalinux_config

ZYNQ7045从flash启动linux_第8张图片

步骤2:配置linux系统启动参数

1.进入自己的工程目录下,配置硬件信息,“…/design_1_wrapper_hw_platform_0”目录就是 vivado 导出的硬件信息

cd ./petalinux_config
petalinux-config --get-hw-description ../design_1_wrapper_hw_platform_0

弹出linux配置窗口,进行配置 petalinux 工程,下图的 Subsystem AUTO Hardware Settings 可以设置系统分配大小和启动方式
ZYNQ7045从flash启动linux_第9张图片
2.选择进入Subsystem AUTO Hardware Settings 菜单选项,在选择Flash Settings进行分配linux系统boot,kernel的所占空间大小
ZYNQ7045从flash启动linux_第10张图片
进入Flash Settings后,根据自己的flash大小和FPGA工程师给分配的boot和kernel大小来填写转换的十六进制数值(我分配的Boot是5Mb,kernel是10Mb: 5x1024x1024转换十六进制为0x500000,10x1024x1024转换十六进制为0xA00000)
ZYNQ7045从flash启动linux_第11张图片

3.返回进入Subsystem AUTO Hardware Settings 菜单选项,再选择 Advanced bootable images storage Settings 选项进入配置菜单
ZYNQ7045从flash启动linux_第12张图片

分别进入boot image settingsu-boot env partition settingskernel image settings 选择启动方式为flash
ZYNQ7045从flash启动linux_第13张图片
ZYNQ7045从flash启动linux_第14张图片
4.全部配置完成之后,保存设置
ZYNQ7045从flash启动linux_第15张图片
然后退出配置界面,等待编译完成
ZYNQ7045从flash启动linux_第16张图片

步骤3:配置linux内核

1.配置linux内核,执行命令,等待kernel配置界面出现

petalinux-config -c kernel

ZYNQ7045从flash启动linux_第17张图片
2.在选项Device Drivers 配置驱动,选择进入配置菜单选项,然后选择 Network device support 进入配置菜单选项,再选择PHY Device support and infrastructure 进入配置菜单选项,选中 Micrel PHYs,按 “Y” 键表示加载此选项

ZYNQ7045从flash启动linux_第18张图片
然后保存并退出,等待编译完成

步骤4:配置根文件系统

1.配置linux文件系统,执行命令,等待文件系统配置界面出现

petalinux-config -c rootfs

ZYNQ7045从flash启动linux_第19张图片
根据自己需求更改配置,此处我没做修改,保存退出等待编译完成即可

步骤5:编译 uboot、内核、根文件系统、设备树等,执行命令,等待编译完成即可

petalinux-build

ZYNQ7045从flash启动linux_第20张图片

步骤6:生成Boot 文件,执行命令
备注:可在自己工程目录下的design_1_wrapper_hw_platform_0文件夹下复制design_1_wrapper.bit文件到petalinux_config/images/linux

petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga ./images/linux/design_1_wrapper.bit --u-boot --force

ZYNQ7045从flash启动linux_第21张图片

4.烧录linux系统配置文件,启动板卡

编译完成后生成配置文件,将自己工程文件目录下petalinux_config/images/linuxBOOT.BINimage.ubzynq_fsbl.elf发送给FPGA工程师,基于vivado使用JATG连接自己的板卡,将相应的文件烧录到flash即可
ZYNQ7045从flash启动linux_第22张图片
烧录完成后,连接rs232调试串口,打开串口终端,重新上电启动自己的zynq7045-ps端linux系统

你可能感兴趣的:(ZYNQ,linux,arm开发,ubuntu,fpga开发)