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 petalinux中读写NVME固态硬盘_第1张图片

ZYNQ petalinux中读写NVME固态硬盘_第2张图片

ZYNQ petalinux中读写NVME固态硬盘_第3张图片

ZYNQ petalinux中读写NVME固态硬盘_第4张图片

7,命令配置Linux内核: petalinux-config -c kernel

    我们使用内核配置菜单来启用PCI支持并为NVMExpress设备启用驱动程序:

(1)启用:总线选项-> PCI支持

         启用:总线选项-> PCI支持->消息信号中断(MSI和MSI-X)

         启用:总线选项-> PCI支持->启用PCI资源重新分配检测 

  • ZYNQ petalinux中读写NVME固态硬盘_第5张图片
  • ZYNQ petalinux中读写NVME固态硬盘_第6张图片
  •  (2)启用:总线选项-> PCI支持-> PCI主机控制器驱动程序-> Xilinx AXI PCIe主机桥支持
  • ZYNQ petalinux中读写NVME固态硬盘_第7张图片
  • (3)启用:设备驱动程序->块设备-> NVM Express块设备
  • ZYNQ petalinux中读写NVME固态硬盘_第8张图片
  • ZYNQ petalinux中读写NVME固态硬盘_第9张图片

7,要配置Linux根文件系统,请运行以下命令: petalinux-config -c rootfs

   (1)配置根文件系统以包括一些实用程序,我们将需要设置NVMe PCIe SSD:
· 启用PCI utils(用于lspci):文件系统包->控制台/ utils-> pciutils-> pciutils

ZYNQ petalinux中读写NVME固态硬盘_第10张图片

ZYNQ petalinux中读写NVME固态硬盘_第11张图片

ZYNQ petalinux中读写NVME固态硬盘_第12张图片

ZYNQ petalinux中读写NVME固态硬盘_第13张图片

ZYNQ petalinux中读写NVME固态硬盘_第14张图片

(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 petalinux中读写NVME固态硬盘_第15张图片

ZYNQ petalinux中读写NVME固态硬盘_第16张图片

ZYNQ petalinux中读写NVME固态硬盘_第17张图片

(3)配置根文件 e2fsprogs

  文件系统软件包->base-> e2fsprogs-> e2fsprogs
· 文件系统软件包->base-> e2fsprogs-> e2fsprogs-mke2fs

ZYNQ petalinux中读写NVME固态硬盘_第18张图片

ZYNQ petalinux中读写NVME固态硬盘_第19张图片

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 petalinux中读写NVME固态硬盘_第20张图片

9,在PetaLinux中设置NVME SSD

  使用命令检查SSD是否已被识别为块设备:lsblk

ZYNQ petalinux中读写NVME固态硬盘_第21张图片

使用以下命令在SSD上创建分区fdisk /dev/nvme0n1

ZYNQ petalinux中读写NVME固态硬盘_第22张图片

具体分区步骤可以参考:https://blog.csdn.net/wangjie36/article/details/104740448

· 键入n以创建一个新分区
· 然后输入p,然后1创建一个新的主分区

   然后键入w以将数据写入磁盘

ZYNQ petalinux中读写NVME固态硬盘_第23张图片

使用命令在新分区上创建文件系统mkfs -t ext2 /dev/nvme0n1p1

ZYNQ petalinux中读写NVME固态硬盘_第24张图片

挂载使用:可以使用vi编辑器存写文本。

你可能感兴趣的:(ZYNQ,PS_AXI_PL)