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

成功进入系统。

目录
相关文章
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
5645 77
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
592 32
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
951 15
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
810 13
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
977 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
10月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
1031 1
二、Linux文本处理与文件操作核心命令
|
10月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
672 137
|
10月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1633 58
|
9月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1513 2