PetaLinux

petaLinux常用命令汇总

1
Create a new project from a reference BSP file.
$ petalinux-create -t project -s
用于从官方下载的BSP中抽取数据产生工程。

2
Create a new project based on the MicroBlaze™ template.
$ petalinux-create -t project -n –template microblaze
用于让petalinux工具包,从系统中抽取模板,产生工程。

3
Initialize a PetaLinux project within the project directory with an external HDF.
$ petalinux-config –get-hw-description=
用于指定一个位于工程目录之外的包含HDF的文件夹用于搜索。

4
Initialize a PetaLinux project from within the directory containing an HDF.

Petalinux常用命令记录

前提: petalinux开发环境安装好:
1) source命令加载成功,可利用echo $PETALINUX验证。
2) 检查统计信息是否关闭
petalinux-util --webtalk off
INFO: Turn off webtalk feature!

一、建立工程
1) 根据BSP包建立工程
在当前工程路径下有xilinx-zc706-v2016.4-final1.bsp,指定工程名为zc706
petalinux-create -t project -s xilinx-zc706-v2016.4-final1.bsp -n zc706

2) 自定义建立工程
此时需要考虑结合自己的hdf文件建立工程,有各种办法
petalinux-create -t project --template zynq -n zc706
cd
petalinux-config --get-hw-desription=

//或者
cd
petalinux-config --get-hw-desription -p ../emioled

二、工程内的各种配置操作
切换到Petalinux工程根目录。

petalinux工程创建

Petalinux建立有两种方式方法:
1、使用官方提供的BSP(板级支持包)建立。
2、使用vivado生成的xxxx.sdk文件,创建工程。

开发工具版本要求:vivado2016.4、Petalinux2016.4、*普通用户。(星号为重点)

第一种方法:使用官方提供的BSP建立工程

连接:https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/

embedded-design-tools/2016-4.html

这里以xilinx-zc706-v2016.4-final1.bsp为例子,进行工程建立讲解。使用普通用户打开终端,建

立一个目录用于存放BSP文件和工程,方法和命令如下图:

petalinux-build命令

petalinux-build可以build整个linux系统,也可以指定某个组件。

该工具提供了一个单一的工作流。可以petalinux-build -c and petalinux-build -x。

-c, --component
COMPONENT可以是:

all
bootloader
kernel
u-boot
rootfs

====================================

-x, --execute

MAKE-TARGET指定执行的GNU Makefile命令可以是:

build
clean
distclean
all
install
package

具体来说 -c 选项

-c 项build系统的指定模块,如果不指定,petalinux-build build整个工程。用户自定义的root filesystem模块,如apps libs modules,可以 通过指定名称的方式build,格式为-c rootfs/).

具体来说 -x 选项

clean- 清除 目标模块的数据,必须和-c l选项连用,但是-c all 无效。

distclean-直接删掉
/build目录;

ZYNQ跑系统系列(二) petalinux方式移植linux

移植linux之petalinux
之前一篇博文中,提到了一种通用的传统移植方式,将linux移植到ZYNQ中的ARM芯片中。本文将针对xilinx的专用开发环境petalinux,进行入门和开发,本文petalinux的运行环境依然在虚拟机的linux系统里,即将体验petalinux相对于传统方式的便捷和强大之处

一、安装petalinux
-1.安装虚拟机,在虚拟机里安装linux系统(ubuntu16)

  • 虚拟机里磁盘尽量留大点,建议60G,我的是80G
  • sudo passwd命令,设置超级用户su时的密码
  • 建议安装VMware Tools
  • 开发工具:vivado2017.1(Windows下) + petalinux 2017.1(Linux下)
  • 0.更新apt-get(可选,加速用,同传统方式移植那篇文章的第二节)

    1.安装petalinux的依赖环境
    安装petalinux的必要依赖环境,直接复制粘贴下面的命令行到shell中,系统自动下载安装下面的工具:
    sudo apt-get install build-essential vim tofrodos \

    petalinux基本命令

    1,df命令
    -a或--all:包含全部的文件系统;
    --block-size=<区块大小>:以指定的区块大小来显示区块数目;
    -h或--human-readable:以可读性较高的方式来显示信息;
    -H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
    -i或--inodes:显示inode的信息;
    -k或--kilobytes:指定区块大小为1024字节;
    -l或--local:仅显示本地端的文件系统;
    -m或--megabytes:指定区块大小为1048576字节;
    --no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
    -P或--portability:使用POSIX的输出格式;
    --sync:在取得磁盘使用信息前,先执行sync指令;
    -t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
    -T或--print-type:显示文件系统的类型;
    -x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
    --help:显示帮助;
    --version:显示版本信息。

    2、mount命令

    读懂 PetaLinux:让 Linux 在 Zynq 上轻松起“跑”

    对于Zynq这样一个“ARM+可编程逻辑”异构处理系统我们已经不陌生,其创新性大家也有目共睹。不过想要让更多的应用享受到这一“创新”带来的红利,让其真正“落地”则需要大量系统性的工作,去营造一个完善的生态系统。从之前几篇文章中,我们已经看到Xilinx在这方面做出的努力,特别是不断迭代的先进的硬件开发(Vivado)和软件开发(Xilinx SDK)工具。而在嵌入式开发中,还有一个非常重要的环节需要关注,这就是操作系统。

    对于日益智能和复杂的嵌入式系统来说,通过一个嵌入式操作系统来统领软硬件资源的调度和控制是必然之选,如果需要更为全面的功能,开发者就要考虑嵌入式Linux这样体量更“大”更复杂的OS。而面对Zynq这样一个大家都想“尝鲜”的创新硬件处理平台,如果能有一种便捷的方式,让嵌入式Linux在它上面“跑”起来,当然是开发者的福利。

    图1,基于Zynq平台的嵌入式系统结构

    petalinux添加AD9361驱动

    petalinux添加AD9361驱动
    需要
    petalinux2016.2
    包含AD9361驱动的Linux内核(xcomm_zynq_4_4)

    添加内核到petalinux

    准备工具
    ADI提供的AD9361Linux驱动:
    https://wiki.analog.com/resources/tools-software/linux-drivers/iio-trans...

    源码链接,注意内核版本,这里我们选择xcomm_zynq_4_4:
    https://github.com/analogdevicesinc/linux/tree/xcomm_zynq_4_4

    petalinux2016.2官方链接
    http://www.xilinx.com/support/download/index.html/content/xilinx/en/down...

    本文介绍在 Vivado 2016.4 - 2017.2 工具中,在 PetaLinux 和独立操作系统下如何使用 MPSoC 器件运行 USB2.0 标准接口。

    使用 Zynq UltraScale+ MPSoC,该 USB 接口就有两个 USB 2.0/3.0 控制器(USB0 和 USB1)。

    USB0 和 USB1 都可以在 USB 2.0 中工作,无需使用 USB 3.0 外部 PHY 硬件,也无需在 SoC 处理器配置向导 (PCW) 中更新内部 GTR 设置。

    启动 USB 2.0 标准接口,不强制 Vivado 软件启用 USB 3.0 处理器配置向导 (PCW) IP 设置。

    这就意味着如果 USB0/1 接口没有使用物理 USB 3.0 接口,就可以禁用 GTR。

    在 Vivado 2016.4、2017.1 和 2017.2 版本中,在处理器配置向导 (PCW) IP 设置中禁用或不从 PCW GUI 中选择 USB3.0 GTR 时,USB2.0 就不起作用。

    这个问题与 Vivado 软件针对 USB3.0 和 USB2.0 禁用 PIPE3 时钟并将硬件设计 (HDF) 导出至 SDK 软件有关。

    这是一个 Vivado 软件设置问题,在 2017.3 版 Vivado 软件中已修复。

    PetaLinux启动过程解析

    1、BootROM部分

    在器件上电运行后,处理器自动开始Stage-0 Boot,也就是执行片内BootROM中的代码

    BootROM会初始化CPU和一些外设,以便读取下一个启动阶段所需的程序代码,FSBL(First

    2、BOOT.bin部分

    BootROM会去读取MIO[2..8],从而确定启动设备方式(Zynq支持多种启动设备方式,可以使用跳线帽设置),将选定设备的头192Kbyte内容,也就是FSBL,复制到OCM(On Chip Memory)中,并将控制器交给FSBL。

    FSBL部分

    FSBL启动时可以使用整块256Kb的OCM,当FSBL开始运行后,器件就正式由开发者或用户控制了。Xilinx提供了一份FSBL代码,如果没什么特殊要求,可以直接使用。

    嵌入式系统系统启动一般都是在 nor flash (NOR flash 可以直接运行程序,NAND flash需要将程序加载到内存运行,和 BIOS 很类似,nor flash 成本很高)。

    BIOS是(Basic Input Output System)"基本输入输出系统"

    同步内容