ZYNQ - 嵌入式Linux开发 -06- petalinux设计流程

简介: ZYNQ - 嵌入式Linux开发 -06- petalinux设计流程

写在前面


本文主要对petalinux设计流程进行简略介绍。

petalinux设计流程介绍


PetaLinux 工具提供了在 Xilinx 处理系统上自定义、 构建和部署嵌入式 Linux 解决方案所需的功能。 一般的设计流程如下:

  1. 通过 Vivado 创建硬件平台,得到 hdf 硬件描述文件;
  2. 设置Petalinux 环境变量
  3. 创建一个petalinux工程;
  4. 需要将hdf文件导入到petalinux工程(将vivado设计工程应用到petalinux工程);
  5. 配置petalinux工程(其中就包括配置内核、配置U-Boot以及根文件系统);
  6. 编译petalinux工程(U-Boot镜像、内核镜像以及rootfs,bitstream,fsbl镜像文件);
  1. 启动开发板。

petalinux设计流程


设置 Petalinux 环境变量


现在进入到 Ubuntu 系统中,打开终端,以普通用户运行即可,不需要使用 root 用户。在使用 petalinux工具之前,需要先设置 petalinux 的作环境,在终端输入如下命令即可:

sptl

image.png

创建一个petalinux工程


在linux终端中输入petalinux再按tab键,将会弹出所有和petalinux有关的指令。

image.png

所以在系统中创建一个名为“demo_ptlinux”的 Petalinux 工程,只需要在终端中输入如下命令:

petalinux-create -t project --template zynq -n demo_ptlinux

配置 petalinux 工程


移动到工程文件夹下,然后导入hdf文件,这里为了方便直接把hdf文件移动到petalinux 工程路径下,然后进行配置导入。首次配置 Petalinux 工程是将 hdf 硬件描述文件文件导入到 Petalinux 工程中, Petalinux 工具会解析 hdf文件并弹出配置窗口。 在终端中输入如下命令配置 Petalinux 工程:

petalinux-config --get-hw-description <hdf文件的路径>

导入完成后会弹出下面的界面:

image.png

通过键盘上的“↑”和“↓”键来选择要配置的菜单,按下“Enter”键进入子菜单。菜单中高亮的字母就是此菜单的热键,在键盘上按下此高亮字母对应的键可以快速选中对应的菜单。

这里暂时保持默认。

如果需要单独打开petalinux工程的配置界面,可以在终端中输入:

petalinux-config

在终端中输入petalinux-config并加上后缀可以对不同部分进行单独配置。

u-boot配置:

petalinux-config -c u-boot

Linux内核配置:

petalinux-config -c kernel

rootfs (根文件系统)配置:

petalinux-config -c rootfs

编译petalinux工程


编译petalinux工程,可以使用petalinux-build,进行整体编译,也可以对每一部分进行单独编译。

编译整个petalinux工程(U-boot、kernel和设备树、rootfs、fsbl、bit文件)

petalinux-build

单独编译u-boot、kernel、rootfs

petalinux-build -c u-boot //编译U-boot
petalinux-build -c kernel //编译内核
petalinux-build -c rootfs //编译根文件系统rootfs

编译成功后终端显示如下:

image.png

启动开发板


对于启动开发板,需要制作一个启动镜像文件:BOOT.BIN,可以使用petalinux-package进行生成相应的BOOT.BIN。

petalinux-package --boot --fsbl --fpga --u-boot --force
--boot:我们要通过petalinux-package命令生成BOoT.BIN启动镜像文件
--fsbl:用于指定fsbl镜像文件路径
--fpga:用于指定bitstrram文件路径
--u-boot:用于指定u-boot文件路径(用户程序镜像)
--force:强制覆盖

对于ZYNQ硬件平台来说启动嵌入式Linux系统需要这些文件:

fsbl镜像文件、bitstream文件、U-Boot、kernel和设备树、rootfs

BOOT.BIN包含了 fsbl镜像文件、bitstream文件、U-Boot。

image.ub包含了kernel和设备树、rootfs。

编译完工程,会在工程路径下多一个images文件夹,终端进入该文件夹下的linux文件夹,

image.png

然后执行上述petalinux-package操作,生成BOOT.bin和image.ub。

image.png

将生成的BOOT.bin和image.ub拷贝到SD卡下,板卡设置sd卡模式启动。

image.png

打开板卡,在putty中打开终端,即可看到板卡正在启动,打印信息。

image.png

login选择输入root,密码也是root。即可登录制作好的pt工程。

image.png

成功进入系统。

目录
相关文章
|
4天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
22天前
|
JSON 机器人 Linux
推荐一款嵌入式Linux开源框架与封装-cpp-tbox
推荐一款嵌入式Linux开源框架与封装-cpp-tbox
52 3
|
10天前
|
Linux 编译器 测试技术
嵌入式 Linux 下的 LVGL 移植
嵌入式 Linux 下的 LVGL 移植
|
10天前
|
Linux 内存技术 Perl
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
|
10天前
|
Ubuntu Linux 测试技术
【ZYNQ】简单几步,教你使用 Petalinux 定制 Linux
【ZYNQ】简单几步,教你使用 Petalinux 定制 Linux
|
20天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
37 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
23天前
|
Linux
嵌入式Linux系统(NUC980)tf卡出错处理errors=remount-ro改为errors=continue
嵌入式Linux系统(NUC980)tf卡出错处理errors=remount-ro改为errors=continue
7 1
|
23天前
|
安全 Linux
嵌入式Linux系统关闭串口调试信息的输出
嵌入式Linux系统关闭串口调试信息的输出
17 1
|
23天前
|
Linux 编译器 网络安全
嵌入式Linux移植dropbear
嵌入式Linux移植dropbear
19 3
|
23天前
|
存储 Ubuntu Linux
制作一个嵌入式Linux的应用程序升级文件
制作一个嵌入式Linux的应用程序升级文件
12 2