ZYNQ|ZYNQ petalinux中读写NVME固态硬盘

1,安装Petalinux插件:将所需的依赖库都先安装(参考UG1144文档要求)
sudo apt-get install tofrodos iproute2 gawk
sudo apt-get install gcc git make
sudo apt-get install xvfb
sudo apt-get install net-tools libncurses5-dev tftpd
sudo apt-get install zlib1g-dev zlib1g-dev:i386 libssl-dev flex bison libselinux1
sudo apt-get install gnupg wget diffstat chrpath socat xterm
sudo apt-get install autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev
sudo apt-get install screen pax gzip tar
sudo apt-get install openssl
2,Ubuntu系统默认的/bin/sh是dash,而PetaLinux要求的是bash在终端中,执行:sudo dpkg-reconfigure bash
3,进入.run文件的目录,修改其执行属性:chmod +x petalinux-v2017.4-final-installer.run
4,安装PetaLinux
因为安装PetaLinux时不能用root权限,所以先在非root目录下创建一个文件夹,并且修改权限为:755
mkdir -p /home/alinx/linux-xlnx-xilinx-v2017.4
chmod 755 /home/alinx/linux-xlnx-xilinx-v2017.4
在/home目录下创建petalinux文件夹,并且修改权限为755.
进入.run文件所在的目录,执行安装命令。
./petalinux-v2017.4-final-installer.run /home/alinx/linux-xlnx-xilinx-v2017.4
等待一段时间.run安装包的校验、提取,然后出现许可文件的阅读,按Enter回车键阅读,按Q键退出,按Y键接受许可,需要操作3次,然后等待PetaLinux安装结束。
INFO: Checking installer checksum...
INFO: Extracting PetaLinux installer...
LICENSE AGREEMENTS
PetaLinux SDK contains software from a number of sources.Please review
the following licenses and indicate your acceptance of each to continue.
You do not have to accept the licenses, however if you do not then you may
not use PetaLinux SDK.
Use PgUp/PgDn to navigate the license viewer, and press 'q' to close
Press Enter to display the license agreements
Do you accept Xilinx End User License Agreement? [y/N] > y
Do you accept Webtalk Terms and Conditions? [y/N] > y
Do you accept Third Party End User License Agreement? [y/N] > y
5,验证PetaLinux安装成功
(1)先设置环境变量
source /opt/Xilinx/Vivado/2017.4/settings64.sh
source /opt/pkg/petalinux/settings.sh
(2)验证环境变量设置成功
echo $PETALINUX
如果出现安装路径,则表示成功。
/home/alinx/linux-xlnx-xilinx-v2017.4
导入硬件
petalinux-config --get-hw-description ../linux_base.sdk
ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

7,命令配置Linux内核: petalinux-config -c kernel
我们使用内核配置菜单来启用PCI支持并为NVMExpress设备启用驱动程序:
(1)启用:总线选项-> PCI支持
启用:总线选项-> PCI支持->消息信号中断(MSI和MSI-X)
启用:总线选项-> PCI支持->启用PCI资源重新分配检测

  • ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
    文章图片
  • ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
    文章图片
  • (2)启用:总线选项-> PCI支持-> PCI主机控制器驱动程序-> Xilinx AXI PCIe主机桥支持
  • ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
    文章图片
  • (3)启用:设备驱动程序->块设备-> NVM Express块设备
  • ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
    文章图片
  • ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
    文章图片
7,要配置Linux根文件系统,请运行以下命令: petalinux-config -c rootfs
(1)配置根文件系统以包括一些实用程序,我们将需要设置NVMe PCIe SSD:
· 启用PCI utils(用于lspci):文件系统包->控制台/ utils-> pciutils-> pciutils
ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

(2)为lsblk,fdisk,mkfs,blkid启用必需的软件包:
· 文件系统软件包-> base-> util-linux-> util-linux
· 文件系统软件包->base-> util-linux-> util-linux-blkid
· 文件系统软件包-> base-> util-linux-> util-linux-fdisk
· 文件系统软件包->base-> util-linux-> util-linux-mkfs
· 文件系统软件包->base-> util-linux-> util-linux-mount
ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

(3)配置根文件 e2fsprogs
文件系统软件包->base-> e2fsprogs-> e2fsprogs
· 文件系统软件包->base-> e2fsprogs-> e2fsprogs-mke2fs
ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

8,使用命令构建PetaLinux: petalinux-build
(方法1)生成启动文件:petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force
(方法2)我们先加载比特流,然后加载内核:
· petalinux-boot --jtag --fpga --bitstream ../impl_1/design_1_wrapper.bit
·petalinux-boot --jtag --kernel
通过JTAG传输内核将需要几分钟。等待命令行返回,然后可能还要花10到20秒钟,可以在Putty终端上看到系统启动打印:
ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

9,在PetaLinux中设置NVME SSD
使用命令检查SSD是否已被识别为块设备:lsblk
ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

使用以下命令在SSD上创建分区fdisk /dev/nvme0n1
ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

具体分区步骤可以参考:https://blog.csdn.net/wangjie36/article/details/104740448
· 键入n以创建一个新分区
· 然后输入p,然后1创建一个新的主分区
然后键入w以将数据写入磁盘
ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

使用命令在新分区上创建文件系统mkfs -t ext2 /dev/nvme0n1p1
ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

挂载使用:可以使用vi编辑器存写文本。
【ZYNQ|ZYNQ petalinux中读写NVME固态硬盘】ZYNQ|ZYNQ petalinux中读写NVME固态硬盘
文章图片

    推荐阅读