电子说
目前网络上的许多项目都是2019 年之前的版本,使用2022.1 版遇到各种小问题。这里使用一下petalinux工具。vivado,vitis HLS 都安装在windows 下,而petalinux 必须安装在linux 下,尝试安装在windows 10的wsl 上失败了 只能找个ubuntu PC 来安装。
petalinux 是什么?
PetaLinux 是一套直接构建在 Yocto 项目顶层的定制工具,用于实现与赛灵思平台的集成。因此,在某种意义上 PetaLinux 仍属于 Yocto。但赛灵思更进一步,通过提供一套额外的工具,简化了开发流程,使新手使用起来及其方便。
petalinux是xilinx zynq 的嵌入式Linux 软件开发工具(SDK)。它用来裁剪和生成zynq’ 的操作系统。他并不是linux 本身。
petalinux 包含了下面几部分:
Yocto Extensible SDK (eSDK )
XSCT (Xilinx Software Command-Line Tool) and toolchains
PetaLinux CLI tools
petalinux 的命令工具
petalinux-create
petalinux-config
petalinux-build
petalinux-util
petalinux-package
petalinux-upgrade
petalinux-devtool
petalinux-boot
petalinux 的安装
可以将vivado和petalinux 按照在同一个电脑上,也可以分开安装。我目前是在windows PC上安装了vivado,vitis 工具,而在另外一个ubuntu 电脑上安装了petalinux工具。安装没有太多的障碍,只是缺什么,装什么就可以了。
petallinux 设计流程
准备工作
为linux 配建硬件平台
开始做petalinux 设计之前,需要使用vivado 工具完成zynq 的硬件设计。完成以后,点击 File- ->Export-->Export Hardware,点击 OK。导出硬件设计文件XXX.xsa,
注意:以前的文件扩展名是hdf。老版本的项目需要升级成新的版本,输出xsa文件
执行下列命令,使 PetaLinux 工具可以使用
$source ~/petalinux/2022.1/settings.sh
建立petalinux新项目
建立一个petalinux_proj 文件夹,进入该文件夹
$ petalinux-create --type project --template
其中:
versal (for Versal ACAP)
zynqMP (for Zynq UltraScale+ MPSoC)
zynq (for Zynq-7000 devices)
microblaze (for MicroBlaze? processor)
例如:
petalinux-create --type project --template zynq --name z7nano
导入硬件平台
2019 年前的版本使用system.hdf 文件,而以后的版本使用system.xsa 文件,这需要将老版本的项目转换称为新版本的项目,或者重新建立一个项目,File- ->Export-->Export Hardware,点击 OK,产生xsa 文件
petalinux-config --get-hw-description
如果xsa 文件在当前目录中,输入下面的命令:
$ petalinux-config --get-hw-description=.
运行了一段时间后,出现system configuration menu.
构建image
$ petalinux-build 完成之后,images –linux 目录中包含了下列文件:
BOOT.bin 文件打包
使用petalinux-package``命令
petalinux-package --boot --fsbl ./images/linux/zynqmp_fsbl.elf --u-boot --force
使用``vivado``工具
准备sd卡
可以参照下面的文章
How to format SD card for SD boot
首先,linux 的boot sdcard 需要有两个分区:
Boot 分区
Root 分区
其次,要将BOOT.BIN image.ul 和boot.scr(2020.1 和以后版本)。如果简单地将BOOT.BIN和image.ul 拷贝到Boot 分区是不行的。这和z7nano 的文档有区别。国内公司的文档基本停留在2019 年之前。更新太慢。给学习者带来不便。
我简单粗暴地将images 中的内容都拷贝到boot 分区。插入开发板成功了。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !