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

目录

官方说明连接:https://china.xilinx.com/support/answers/66636.html

描述

解决方案


官方说明连接:https://china.xilinx.com/support/answers/66636.html


描述

我在Linux上运行Zynq UltraScale + MPSoC,我需要访问32位应用程序。是否可以在此平台上运行multiarch Linux?

解决方案

以下过程描述了如何在ZCU102评估平台上引导64位Ubuntu Core根文件系统。

以下详细步骤分为三个基本阶段:

  1. 使用Xilinx Vivado和PetaLinux工具配置硬件平台和基本引导附件,如ARM可信固件,U-Boot,设备树和Linux内核。
  2. 下载并配置公共可用的Ubuntu Core根文件系统,使其驻留在SD卡上的专用ext3分区中。
  3. 配置apt-get软件包管理器以允许安装32位应用程序

 

由此产生的系统可以作为开发更强大的基于Ubuntu的系统的起点,该系统适合于给定系统的特定需求。

在继续之前,请确保应用“链接的项目”部分中列出的修补程序。

XILINX建立步骤 

本节中的步骤是标准的PetaLinux构建步骤。有关此处引用的命令的更多详细信息,请参阅(UG1144)。


创建面向Zynq UltraScale + MPSoC的Vivado 2015.4项目,确保项目语言设置为Verilog。ZCU102评估平台基于XCZU9EG-FFVB1156-2I器件。

使用附加的Tcl文件为此平台生成Vivado IP Integrator框图。

创建程序框图后,为其生成HDL包装程序并通过实施设计阶段运行项目。

实施后,将HDF文件导出到磁盘上的已知位置。通常,最简单的方法是将HDF导出到与Vivado项目相同的目录中。

使用zynqMP模板获取PetaLinux设计工具并创建PetaLinux项目:

$ petalinux-create -t​​ project --template zynqMP -n <your_project_name>

创建PetaLinux项目后,使用Vivado生成的HDF文件对其进行初始化:

$ petalinux-config --get-hw-description = <path_to_HDF>

项目初始化后,PetaLinux将自动启动系统级menuconfig界面。现在,只需退出界面并返回终端提示即可。

使用petalinux-build命令构建Linux项目。这将构建一个使用INITRAMFS根文件系统的Linux映像。

$ petalinux-build

构建完成后,Linux映像附件将位于<PETALINUX_PROJECT_ROOL / images / linux中。

使用petalinux-package命令创建标准Zynq UltraScale + MPSoC启动映像(称为boot.bin):

$ petalinux-package --boot --format BIN --u-boot -o BOOT.BIN

将boot.bin文件复制到其他位置以便安全保存。

将image.ub文件重命名为initramfs.ub并将其复制到其他位置以便安全保存。

使用petalinux-config命令返回PetaLinux系统级menuconfig:

$ petalinux-config

配置项目,以便从ext3 SD卡分区/ dev / mmcblk0p2引导平台。 

此选项位于<菜单顶部> - >图像打包配置 - >根文件系统类型。确保“SD设备的设备节点”选项反映/ dev / mmcblk0p2分区。

 

 

 

 

退出配置菜单并使用petalinux-build命令重建PetaLinux项目:

$ petalinux-build

构建完成后,Linux映像附件将位于<PETALINUX_PROJECT_ROOL / images / linux中。

将image.ub文件重命名为sdcard.ub并将其复制到其他位置以便安全保存。

使用标准分区工具(如gparted或fdisk),对SD卡进行分区,使其具有一个大小为128MB的FAT32分区和一个大小为4GB或更大的ext3分区。

如果操作系统未自动完成此操作,请装入刚刚创建的分区。

将先前创建的boot.bin和.ub文件复制到SD卡的FAT32分区。

 

UBUNTU核心配置步骤

http://cdimage.ubuntu.com/ubuntu-core/releases/14.04/release/ubuntu-core-14.04.3-core-arm64.tar.gz下载64位ARM版Ubuntu Core 14.04的副本

将下载的tarball复制到SD卡的ext3分区,并使用标准Linux tar命令将其解压缩。以root身份(或使用sudo提升)运行此命令非常重要,这样可以创建根文件系统的某些部分。

$ sudo tar xvfz ubuntu-core-14.04.3-core-arm64.tar.gz

解压缩后,将附加的ttyPS0.conf和ttyPS1.conf文件复制到/ etc / init目录。这将确保在引导后显示登录提示。

为了正确启动,Ubuntu要求文件系统中至少存在一个非root用户。要执行此操作,请使用先前创建的initramfs.ub内核映像进行引导。

在SD卡的FAT32分区上,将initramfs.ub映像文件复制(或重命名)为image.ub。

卸载FAT32分区和ext3分区,然后从主机弹出SD卡。

将SD卡插入ZCU102板的SD卡插槽,并将其配置为从SD卡启动。

使用TeraTerm或PuTTY等工具打开终端窗口。终端输出将显示在UART接口0上。具体的COM端口因计算机而异。

 





打开电路板并等待系统引导至Linux登录提示。默认用户名和密码组合为root / root。

 

登录后,将目录更改为Linux文件系统的根目录:

#cd /

创建可用于chroot命令的临时工作目录:

#mkdir / chroot_mnt

将ext3分区挂载到chroot挂载点:

#mount / dev / mmcblk0p2 / chroot_mnt

使用chroot命令切换到Ubuntu根文件系统:

#chroot / chroot_mnt

进入chroot环境后,使用adduser命令为Ubuntu Core环境添加新用户:

#adduser ubuntu 
#addgroup ubuntu adm 
#addgroup ubuntu sudo

为了使网络自动工作,请在/etc/network/interfaces.d/中创建网络配置脚本

此答复记录附有名为eth0的示例脚本。

使用exit命令退出chroot环境。

从挂载点卸载ext3分区:

#umount / chroot_mnt

关闭ZCU102单板电源,将SD卡从单板上拔出。

将SD卡重新插入主机。

从主计算机,导航到SD卡的FAT32分区。

将sdcard.ub映像文件复制(或重命名)为image.ub

从主计算机中弹出SD卡,然后将其重新插入ZCU102。再次打开电路板并监控终端输出。

 

设置32位存储库

 

在此引导期间,Zynq UltraScale + MPSoC器件将引导到位于SD卡的ext3分区上的根文件系统,而不是INITRAMFS。

出现登录提示时,请使用上面为“ubuntu”用户创建的凭据。

登录系统后。使用以下命令添加32位CPU目标:

sudo dpkg --add-architecture armhf

使用以下命令更新包列表:

sudo apt-get -y update

您应该看到armhf版本现在可用。armhf封装是32位封装,而arm64封装是64位封装。

现在可以使用终端提示符中的标准apt-get方法安装32位应用程序。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zynq Ultrascale+ ZCU106是一款由赛灵思(Xilinx)推出的高性能嵌入式开发平台。它集成了一颗Zynq Ultrascale+ MPSoC芯片,该芯片拥有高性能的ARM Cortex-A53和ARM Cortex-R5处理器核心,以及FPGA可编程逻辑资源。ZCU106开发板以其强大的计算能力和灵活的可编程性,适用于多种应用领域。 在ZCU106资料中,我们可以找到以下内容: 1. 芯片手册和技术参考手册:这些手册提供了关于Zynq Ultrascale+ MPSoC芯片架构、性能特性和配置选项的详细说明。它们指导开发人员正确使用芯片并充分发挥其能力。 2. 开发板用户指南:该指南介绍了ZCU106开发板的硬件设计、接口定义和连接方式。它还包含了开发板的使用说明和调试技巧,帮助使用者快速上手并进行开发。 3. 软件开发工具:赛灵思提供了一系列软件开发工具,包括Xilinx SDK、Vivado Design Suite和PetaLinux等。这些工具可以帮助开发者进行FPGA设计、ARM嵌入式软件开发和系统集成等任务。 4. 示例设计和应用笔记:赛灵思为ZCU106开发板提供了丰富的示例设计和应用笔记,涵盖了各种应用场景,如图像处理、视频编解码、机器学习等。这些示例设计和应用笔记提供了具体的实现代码和使用说明,帮助开发者快速上手并进行自己的定制开发。 总之,Zynq Ultrascale+ ZCU106资料提供了全面灵活的参考资源,帮助开发者理解和使用ZCU106开发板以及其搭载的Zynq Ultrascale+ MPSoC芯片,进行高性能嵌入式系统的设计和开发。无论是初学者还是经验丰富的开发者,都可以通过这些资料获得所需的指导和帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值