5、赛灵思-Zynq UltraScale+ MPSoC学习笔记:Petalinux 的设计流程及定制Linux系统

声明:本文是学习赛灵思 Zynq UltraScale+ MPSoC 5EV过程中写的笔记,便于以后复习,参考《 ug1144-petalinux-tools-reference-guide》、黑金Zynq UltraScale+ MPSoC 5EV开发板资料。

5.1、Petalinux 的设计流程概述

一般的设计流程如下:

1.通过 Vivado 创建硬件平台,得到 hdf 硬件描述文件;

2.运行 source <petalinux 安装路径>/settings.sh,设置 Petalinux 运行环境;

3.通过 petalinux-create -t project 创建 petalinux 工程;

4.使用 petalinux-config --get-hw-description,将 hdf 文件导入到 petalinux 工程当中并配置 petalinux 工程;

5.使用 petalinux-config -c kernel 配置 Linux 内核;

6.使用 petalinux-config -c rootfs 配置 Linux 根文件系统;

7.配置设备树文件;

8.使用 petalinux-build 编译整个工程;

9.使用 petalinux-package --boot 制作 BOOT.BIN 启动文件;

10.制作 SD 启动卡,将 BOOT.BIN 和 image.ub 以及根文件系统部署到 SD 卡中;

11.将 SD 卡插入开发板,并将开发板启动模式设置为从 SD 卡启动;

12.开发板连接串口线并上电启动,串口上位机打印启动信息,登录进入 Linux 系统。

5.2、使用 Petalinux 定制 Linux 系统

5.2.1、Petalinux 建立工程

1.在用户目录下,创建一个工作目录;

mkdir -p /home/peta_prj/linuxPsBase/hrd

2.将 vivado 导出 xsa 文件拷贝到 hrd文件夹下;

3.进入工程目录;路径中“~”表示用户 home 路径,等效于/home/peta_prj

cd ~/peta_prj/linuxPsBase

4.设置 petalinux 环境变量,运行下面命令,环境变量只在当前终端中有效,所以后面和 petalinux 相关的命令都要在当前终端中输入,关闭后需要重新运。

source /opt/pkg/petalinux/settings.sh

设置打开终端及开启环境变量配置

echo "source" /opt/pkg/petalinux/settings.sh" >> ~/.bashrc

5.创建 petalinux 工程,名称为“petalinux”,类型为“project”,使用 zynqMP 模板

petalinux-create -t project -n petalinux --template zynqMP

6.使用命令进入petalinux目录

cd petalinux

7.配置 Petalinux 工程的硬件信息,硬件信息目录里只能能有一个 xsa 文件

petalinux-config --get-hw-description ../hardware/

8.在赛灵思官网下载Linux内核和uboot

GitHub地址:

Linux内核:GitHub - Xilinx/linux-xlnx: The official Linux kernel from Xilinx

uboot:GitHub - Xilinx/u-boot-xlnx: The official Xilinx u-boot repository

9.弹出工程配置项界面,如下图,在“Auto Config Settings”选项中勾选“Device tree autoconfig”、“kernel autoconfig” “u-boot autoconfig”,然后“Save”、接着“Exit”

10.弹出是否保存配置界面,选择 ,回车

11.等待配置完成

5.3、离线编译

5.3.1、配置u-boot 和 kernel

进入内核和uboot配置界面:点击Linux components selection -> u-boot (u-boot-xlnx) -> ext-local-src 选完之后退出到 Linux components selection 下面会多一个选项 External u-boot local source path (NEW)

然后将u-boot的路径添加进去;

赛灵思 uboot 下载地址:GitHub - Xilinx/u-boot-xlnx: The official Xilinx u-boot repository

master 下选择自己需要的坂本 版本需跟petalinux 版本一致;

Linux内核下载地址:GitHub - Xilinx/linux-xlnx: The official Linux kernel from Xilinx

需要将下载好的u-boot 和 内核拷贝到 工程目录下。

将uboot 路径添加进配置文件

同理进入 linux-kernel (linux-xlnx) - > ext-local-src 退出后进入 External linux-kernel local source path (NEW)

然后在 auto config settings 下的 kernel autoconfigu-boot autoconfig 勾选。

5.3.2、配置离线包

①、petalinux 编译过程中会需要下载 许多包文件,如果网络环境差,编译会失败,因此选择直接下载好安装包,进入赛灵思官网:Xilinx -灵活应变. 万物智能.

②、点击 下载与许可 ,选择对应版本,需要和petalinux 版本一致,因此选择 2021.2

③、在petalinux 下的 工具中 下载 aarch64 sstate-cachedownload

④、进入petalinux 配置界面;去掉Enable Network sstate deeds *号

⑤、进入Local sstate feeds settings 配置 sstate_aarch64_2021.2 路径

保存退出!

⑥、进入Add pre-mirror url 删除原来的网站路径 ,添加自己的路径,注意路径前要加 file://

保存退出!

5.3.3、配置设备树文件

在工程目录下的 petalinux/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi 文件的内容修改为:

5.3.4、编译工程

5.4、生成 BOOT 文件

进入工程文件目录:petalinux/images/linux目录下;使用如下命令将u-boot依赖全部合成生成BOOT.BIN文件

petalinux-package --boot --u-boot --fpga --force

在目录下会生成BOOT.bin文件;可以将BOOT.bin、boot.scrimage.ub 拷贝入 SD 卡启动Linux系统。

使用用户 root,密码 root 登录

5.5、petalinux常用命令总结:

①、创建petalinux 工程

petalinux-create --type project --template <CPU_TYPE> --name <PROJECT_NAME>

<CPU_TYPE>可以是:zynqMP, zynq, microblaze

<PROJECT_NAME>就是工程名称

②、导入硬件信息

首先要切换到petalinux工程目录;再使用如下命令导入:

petalinux-config --get-hw-description ../hardware

hardware–是存放.xsa文件的目录

③、配置petalinux

petalinux-config -c u-boot  /* 配置petalinux u-boot */petalinux-config -c kernel  /* 配置petalinux 内核 */petalinux-config -c rootfs  /* 配置petalinux rootfs */

④、编译petalinux系统

petalinux-build

Please pay attention to obtain resources: Kevin的学习站,输入:057

5、赛灵思-Zynq UltraScale+ MPSoC学习笔记:Petalinux 的设计流程及定制Linux系统相关推荐

  1. 1、 赛灵思-Zynq UltraScale+ MPSoCs:产品简介

    目录 1. 赛灵思-Zynq UltraScale+ MPSoCs:产品简介 1.1.Zynq UltraScale+ MPSoCs简介 1.2.Zynq UltraScale+ MPSoC 处理系统 ...

  2. XILINX Zynq UltraScale+ MPSoC 在 4K 视频图像处理和会议系统的应用

    赛灵思 Zynq UltraScale+™ MPSoC EV 器件的 4K 视频处理功能.EV 器件具有继承的多标准视频编解码器,能够以 60帧/秒 的速度同步编码和解码. Arm 四核 Cortex ...

  3. Zynq UltraScale+ MPSoC智能视频平台1:Camera Link接收IP

    Camera Link是一种串行通信协议标准,基于美国国家半导体公司的Channel-link,设计用于摄像机接口应用,目的是规范科学和工业视频而设计的产品包括相机.电缆和框架.Camera Link ...

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

    嵌入式开发之zynqMp -Zynq UltraScale+ MPSoC 图像编码板zcu102 1.1 xilinx zynqMp 架构 1.1.1 16nm 级别工艺 Zynq UltraScal ...

  5. zynq+linux固化程序,如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计

    原标题:如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计 简介 作者: Alex He (何晔), 赛灵思高级嵌入式应用工程师 这里的 UIO 即 Userspa ...

  6. Xilinx Zynq UltraScale+ MPSoC 介绍

    文章目录 简介 软件架构 petalinux工具 开发环境搭建 简介 MYC-CZU3EG 是深圳市米尔科技有限公司推出的一款以 Xilinx XCZU3EG 作为核心的嵌入式核心板. 采用了 Xil ...

  7. Zynq UltraScale+ MPSoC EV系列VCU应用通路搭建

    ZCU106开发板VCU应用通路搭建 前言 编译换了台主机,果然快了很多,下面说一下VCU通路的搭建.其中最主要的是给VCU部分提供时钟,下面说一下 准备 1.petalinux 2.vivado 3 ...

  8. Zynq UltraScale+ MPSoC 在linux系统运行R5 裸机程序 remoteproc - R5

    参考文章: ultrascale学习笔记之remoteproc启动R5 ZYNQ UltraScale+ MPSoC Linux + ThreadX AMP玩法 Zynq UltraScale+ MP ...

  9. Zynq UltraScale + MPSoC示例设计 - 在64位Linux上执行32位应用程序

    目录 官方说明连接:https://china.xilinx.com/support/answers/66636.html 描述 解决方案 官方说明连接:https://china.xilinx.co ...

最新文章

  1. java crontab_(定时任务)crontab和cron 的用法
  2. VS中查看子类对象内存分布的方法
  3. x10i升级android4.0,升级Android 2.1改变归纳_索尼爱立信 X10i_手机Android频道-中关村在线...
  4. 计算机游戏和传统游戏的区别是什么,电竞显示器与普通显示器有什么区别-电脑自学网...
  5. 理解Prefix.pch文件
  6. LeetCode 面试题13. 机器人的运动范围
  7. linux 按照特定字符换行_在Linus Torvalds建议之后内核淘汰80个字符长度限制
  8. 选择WORD文档中的所有表格宏代码
  9. 2016.7.15 NOIP2014模拟试题解题报告(又名:方克顺和他的正余弦朋友们(
  10. IPv4子网划分基础
  11. 数据分析为周杰伦打榜的夕阳红老年团,告诉你他们真实年龄!
  12. Java8 Base64
  13. caffe FCN Ubuntu16.0
  14. 如何写一份竞品分析报告——产品经理养成路
  15. 计算机学科a类排名,哈工大17个学科排名位列A类
  16. 自然语言处理NLP星空智能对话机器人系列:NLP on Transformers 101 第16章:Kaggle BERT比赛CommonLit Readability Prize赛题解析
  17. 天影字幕_天影字幕(GeniusCG) V 12.50 官方版
  18. Jetson Xavier NX安装opencv3.4.5(小白教程)
  19. K8S DiskPressure造成pod被驱逐——筑梦之路
  20. 安卓开发中许多应用到的资源

热门文章

  1. 阿里云轻量级应用服务器部署环境
  2. KubeSphere研发总监周小四:在谈容器同质化之前,你得先理解工匠精神
  3. 罗马音平假字复制_五十音图的那些平假字和片假字有罗马音吗?
  4. ese如何实现支付 nfc_意法半导体David Renno:eSE融合NFC、eSIM、 TEE的安全移动支付方案...
  5. VK2C21C SOP20是低功耗抗干扰LCD液晶显示驱动芯片/段式LCD液晶驱动IC,完全兼容替代16C21,适用多种电气类LCD驱动面板
  6. 基于Matlab----多径衰落信道
  7. java反射一篇搞定
  8. linux挂载cifs磁盘_将SMB/CIFS网络硬盘永久的挂载到Ubuntu上
  9. 模型预测控制的缺点_华北电力大学 刘英培等:适用于风电并网的VSCHVDC系统模型预测控制...
  10. 关于分布式商城的项目讲解