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下载版本选择链接
petalinux版本选择
2.进入PetaLinux - Installation Files - 2018.3 选项界面下
在这里插入图片描述

点击PetaLinux 2018.3 Installer(TAR/GZIP-6.17G)下载
在这里插入图片描述
需要AMD账号,自行注册完成后,填写必要信息,即可下载
在这里插入图片描述
3.将下载的
petalinux-v2018.3-final-installer.run
文件迁移到ubuntu18.04系统下,执行命令
(注:<your_user_name>就是你ubuntu的用户名)

sudo chmod +x petalinux-v2018.3-final-installer.run
sudo mkdir -p /opt/pkg/petalinux
sudo chown <your_user_name> /opt/pkg/
sudo chgrp <your_user_name> /opt/pkg/
sudo chgrp <your_user_name> /opt/pkg/petalinux/
sudo chown <your_user_name> /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 使用的文件
在这里插入图片描述
2.把“design_1_wrapper_hw_platform_0”目录复制到ubuntu18.04自己的工程目录下
在这里插入图片描述
3.设置 petalinux 环境变量,执行命令

source /opt/pkg/petalinux/settings.sh

在这里插入图片描述
4.设置 vivado 环境变量,执行命令

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

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

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

在这里插入图片描述

步骤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 可以设置系统分配大小和启动方式
在这里插入图片描述
2.选择进入Subsystem AUTO Hardware Settings 菜单选项,在选择Flash Settings进行分配linux系统boot,kernel的所占空间大小
在这里插入图片描述
进入Flash Settings后,根据自己的flash大小和FPGA工程师给分配的boot和kernel大小来填写转换的十六进制数值(我分配的Boot是5Mb,kernel是10Mb: 5x1024x1024转换十六进制为0x500000,10x1024x1024转换十六进制为0xA00000)
在这里插入图片描述

3.返回进入Subsystem AUTO Hardware Settings 菜单选项,再选择 Advanced bootable images storage Settings 选项进入配置菜单
在这里插入图片描述

分别进入boot image settingsu-boot env partition settingskernel image settings 选择启动方式为flash
在这里插入图片描述
在这里插入图片描述
4.全部配置完成之后,保存设置
在这里插入图片描述
然后退出配置界面,等待编译完成
在这里插入图片描述

步骤3:配置linux内核

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

petalinux-config -c kernel

在这里插入图片描述
2.在选项Device Drivers 配置驱动,选择进入配置菜单选项,然后选择 Network device support 进入配置菜单选项,再选择PHY Device support and infrastructure 进入配置菜单选项,选中 Micrel PHYs,按 “Y” 键表示加载此选项

在这里插入图片描述
然后保存并退出,等待编译完成

步骤4:配置根文件系统

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

petalinux-config -c rootfs

在这里插入图片描述
根据自己需求更改配置,此处我没做修改,保存退出等待编译完成即可

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

petalinux-build

在这里插入图片描述

步骤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

在这里插入图片描述

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

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

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值