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

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

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Zynq UltraScale MPSoc采用axi iic设计3个通路出来意味着使用该芯片可以通过axi iic总线协议设计出三个独立的通路。axi iic是一种串行通信总线协议,用于在集成电路芯片内部或外部连接器件之间传输数据。通过这种设计,可以实现在Zynq UltraScale MPSoc内部不同组件之间进行高速、可靠的数据传输,使得整个系统更加灵活高效。 ### 回答2: Zynq UltraScale MPSoc 是一款由赛灵思公司设计的集成了处理器系统和可编程逻辑的芯片。该芯片具有许多功能模块,其中之一就是axi iic接口模块。 axi iic 是一种用于硬件通信的接口协议,用于实现I2C总线控制器的功能。在采用Zynq UltraScale MPSoc设计中,通过axi iic接口模块可以实现3个通路的设计。 首先,需要了解I2C总线的概念。I2C是一种串行总线协议,可以实现多个设备之间的通信。在Zynq UltraScale MPSoc设计中,axi iic接口模块可以作为I2C总线控制器,连接多个外部设备。 通过axi iic接口模块,可以将Zynq UltraScale MPSoc与外围设备进行通信。这三个通路可以分别连接到不同的外部设备,实现数据的传输和控制。例如,可以将一个通路连接到温度传感器,用于读取温度数据;另一个通路可以连接到触摸屏控制器,用于控制触摸屏的操作;第三个通路可以连接到LED灯,用于控制灯的状态。 通过这种设计,可以将Zynq UltraScale MPSoc与多个外围设备进行通信和控制,实现更丰富的功能。而axi iic接口模块则提供了实现这种通信的能力,是Zynq UltraScale MPSoc设计中重要的一部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kevin的学习站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值