Description/说明

PetaLinux版本:2016.4

操作系统版本:Ubuntu 16.04(如使用Ubuntu,墙裂建议使用16.04,其他版本官方手册并没有标明支持,可能会出现莫名其妙的问题)

参考文件来源:UG1144

Introduction/介绍

PetaLinux is an Embedded Linux System Development Kit specifically targeting FPGA-based System-on-Chip designs. This guide helps the reader to familiarize with the tool enabling overall usage of PetaLinux.

PetaLinux是专门针对基于FPGA进行嵌入式Linux系统设计的开发套件。本指南帮助读者熟悉该工具的整体使用。

Installation/安装

Installation Requirements/安装需求

PetaLinux requires a number of standard development tools and libraries to be installed on your Linux host workstation.

PetaLinux需要"/bin/sh" is bash,如果使用Ubuntu系统,需要进行切换。

PetaLinux需要在Linux主机工作站上安装许多标准的开发工具和库。比如python dos2unix ip gawk xvfb-run gcc git make...等,详见资料UG1144,只有按照要求安装好这些开发工具和库后,后面安装才不会出现问题,这里给出安装命令。

$ sudo dpkg-reconfigure bash

$ sudo apt install chrpath socat autoconf libtool git texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev xvfb libssl-dev libncurses5-dev zlib1g:i386 diffstat build-essential

Installation Steps/安装步骤

You can download PetaLinux installer from PetaLinux Downloads.

第一步下载PetaLinux 2016.4(根据你的Vivado版本进行下载,此处以2016.4为例)安装包,到官网登录你的Xilinx账号进行下载,下载文件大小8G以上。

  1. 将下载好的文件petalinux-v2016.4-final-installer.run放到Linux系统的工作目录里面
  2. 给文件增加可执行权限:$ chmod 777 petalinux-v2016.4-final-installer.run
  3. 打开文件进行安装:$ ./petalinux-v2016.4-final-installer.run /home/user/Xilinx/petalinux

这里将petalinx安装到了目录:/home/user/Xilinx/petalinux里面,安装过程中需要先按回车键,然后按键盘q,按y进行协议许可确认;然后按键盘q,按y进行协议许可确认;然后按键盘q,按y进行协议许可确认;(不能有误,否则退出安装,共3遍)。

Environment Setup/环境配置

$ source /home/user/Xilinx/petalinux/settings.sh

$ echo $PETALINUX

进行环境配置需要运行上面的命令,之后运行下面一句命令,如果打印出你的petalinux安装目录出来,表示安装成功。(在系统重启后需要重新运行第一条命令进行环境配置)

如果在上面步骤中有任何报错,请检查Installation Requirements/安装需求里面的开发工具和库是否已经安装,只有在输入命令后打印出下面所示的文字时才不缺少开发工具和库,否则请根据所使用的操作系统安装(不要根据打印出的缺少的名称安装,找到UG1144表格中的名称安装)。

PetaLinux environment set to ' /home/user/Xilinx/petalinux '

INFO: Checking free disk space

INFO: Checking installed tools

INFO: Checking installed development libraries

INFO: Checking network and other services

WARNING: No tftp server found - please refer to "PetaLinux SDK Installation Guide"

for its impact and solution

Use/使用

创建一个工程

$ petalinux-create -t project --template zynq --name test

导入硬件配置文件

将Vivado工程产生的.hdf文件(需要的文件只有这一个,产生bit、BOOT.BIN、内核、设备树、文件系统等文件)复制到工程目录中(这里以~/Desktop/test文件夹为例):

$ petalinux-config --get-hw-description=/home/user/Desktop/test

弹出配置界面:

将选项:Subsystem AUTO Hardware Settings -> Advanced bootable images storage Settings -> boot image settings 中 ‘image storage media’ 更改为 ‘primary sd’;

将选项:Subsystem AUTO Hardware Settings -> Advanced bootable images storage Settings -> kernel image settings 中 ‘image storage media’ 更改为 ‘primary sd’;

将选项:Subsystem AUTO Hardware Settings -> Advanced bootable images storage Settings -> dtb image settings 中 ‘image storage media’ 更改为 ‘primary sd’

将选项:Image Packaging Configurations 中 ‘Root filesystem type’ 更改为 ‘SD card’

配置内核

$ petalinux-build -c kernel

配置文件系统

$ petalinux-config -c rootfs

编译

$ petalinux-build

该步骤需要的时间较长(根据PC性能有所不同),需要耐心等待。。。

最后打印:[INFO] successfully built project,表示成功完成。

查看目录中,多了image/linux文件夹:

image.ub rootfs.cpio rootfs.tar.gz System.map.linux u-boot.elf zImage
test_wrapper.bit rootfs.cpio.gz system.dtb u-boot.bin vmlinux zynq_fsbl.elf

里面并没有BOOT.BIN,我们需要手工生成。

生成BOOT.BIN

首先进入./image/linux文件夹,通过下面的命令生成BOOT.BIN:

$ petalinux-package --boot --format BIN --fsbl ./images/linux/zynq_fsbl.elf --fpga ./images/linux/test_wrapper.bit --u-boot

该命令将zynq_fsbl.elf、test_wrapper.bit、u-boot.elf三个文件合成一个BOOT.BIN,方法类似于在SDK中生成BOOT.BIN。

至此,我们有了以下文件:

BOOT.BIN:包含 FSBL BIT U-BOOT三合一;

image.ub:内核文件;

system.dtb:设备树文件;

将以上3个文件复制到SD卡的BOOT分区;

文件系统

虽然image/linux文件夹中生成了文件系统,但是我们需要更多功能的文件系统,比如Ubuntu或Linaro:

http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/

将文件系统烧写到SD卡的rootfs分区;

启动

设置你手中的板卡从SD卡启动,连接串口即可看到使用petalinux生成的Linux系统启动过程。

PetaLinux安装及使用的更多相关文章

  1. MPSOC之2——ubuntu环境配置及petalinux安装

    MPSOC的linux开发需要使用petalinux,选择Ubuntu操作系统. 1.Ubuntu 1.1. Ubuntu安装 版本16.04.03 vmare版本:12.0 安装时注意选择" ...

  2. MPSOC之3——centos环境配置及petalinux安装及使用

    ubuntu虽然能正常安装,但是build时会出现闪退情况,闪退后一切归零,没啥错误提示,改用centos来安装petalinux. 0.环境 vmware pro 14,centos 7.3 pet ...

  3. 【Xilinx-Petalinux学习】-01-开发环境搭建与PetaLinux的安装

    开发环境 VMware12, Ubuntu 16.04 64 bit 在VMware中安装Ubuntu,用户名:xilinx-arm 密码:root step1: VMware Tools问题 不知道 ...

  4. ZCU104搭建Ubuntu桌面系统-1安装Petalinux

    参考教程: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841948/Zynq+UltraScalePlus+MPSoC+-+Ubu ...

  5. VNware上安装虚拟机Ubuntu16.10 并安装petalinux

    1.下载 VMware VMware-workstation-full-15.0.0-10134415.exe 自己寻找激活码 Ubuntu镜像 UG1144 PetaLinux Tools Docu ...

  6. VNware上安装虚拟机Ubuntu16.10 并安装petalinux(版本问题的坑 弃帖 另开一帖)

    1.下载Ubuntu镜像文件 最新版本:https://ubuntu.com/download/desktop 老版本:http://old-releases.ubuntu.com/releases/ ...

  7. 嵌入式开发之zynqMp ---Zynq UltraScale+ MPSoC 图像编码板zcu102

    1.1 xilinx zynqMp 架构 1.1.1 16nm 级别工艺 Zynq UltraScale+  MPSoC架构 Xilinx新一代Zynq针对控制.图像和网络应用推出了差异化的产品系,这 ...

  8. ubuntu16.4 环境移植ubuntu到zynqMp_zcu102

    安装petalinux 下载petalinux https://www.xilinx.com/support/download 下载 zcu102 ZCU102 BSP 安装petaLinux 把sh ...

  9. AXU2CGB开发板验证Vitis加速基本平台创建

    Vitis 加速基本平台创建 1.Vivado 工程创建,硬件平台bd 图如下所示 1.1.双击Block图中ZYNQ核,配置相关参数 1.1.1.Low Speed 配置,在 I/O Configu ...

随机推荐

  1. MVC与WebApi中的异常过滤器

    一.MVC的异常过滤器   1.自定义MVC异常过滤器 创建一个类,继承HandleErrorAttribute即可,如果不需要作为特性使用直接实现IExceptionFilter接口即可, 注意,该 ...

  2. 乘风破浪:LeetCode真题_012_Integer to Roman

    乘风破浪:LeetCode真题_012_Integer to Roman 一.前言 经过了前面的思维训练,我们在某些方面有了一定的提高,但是对于实际的问题,要在短时间内得到答案,还是需要我们多多的练习 ...

  3. 沉淀再出发:jvm的本质

    沉淀再出发:jvm的本质 一.前言 关于jvm,使用的地方实在是太多了,从字面意思上我们都能明白这也是一个虚拟机,那么其他的虚拟机都会用来运行别的操作系统的,而jvm却是实现了可以在不用的操作系统之上 ...

  4. August 27th 2017 Week 35th Sunday

    You can't be brave if you've only had wonderful things happen to you. 人生若只是有美好的境遇,那你也没办法学会勇敢. Wherea ...

  5. December 14th 2016 Week 51st Wednesday

    Everything has its time and that time must be watched. 万物皆有时,时来不可失. Everything has its time, and I r ...

  6. System.Buffer 以字节数组(Byte[])操作基元类型数据

    1. Buffer.ByteLength:计算基元类型数组累计有多少字节组成. 该方法结果等于"基元类型字节长度 * 数组长度" , , }; , , }; , , }; Cons ...

  7. Java 运算符(引用和对象)

    1. 算数运算符 就是+.-.*./.%.++.--这些,没什么好说的,稍微强调下自加,自减: 前缀自增自减法(++i,--i): 先进行自增或者自减运算,再进行表达式运算. 后缀自增自减法(i++, ...

  8. BZOJ3174:[TJOI2013]拯救小矮人(DP)

    Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口.对于每一个小矮人, ...

  9. Hadoop学习之路(二十六)MapReduce的API使用(三)

    影评案例 数据及需求 数据格式 movies.dat 3884条数据 1::Toy Story (1995)::Animation|Children's|Comedy 2::Jumanji (1995 ...

  10. Kali-linux使用NVIDIA计算机统一设备架构(CUDA)

    CUDA(Compute Unified Device Architecture)是一种由NVIDIA推出的通用并行计算架构,该架构使用GPU能够解决复杂的计算问题.它包含了CUDA指令集架构(ISA ...