发 帖  
【四旋翼飞行器】76小时吃透四轴算法!史上最强软硬结合实战项目,👉戳此立抢👈

[经验] Zynq UltraScale + MPSoC Ubuntu第1部分 - 运行预构建的Ubuntu映像和Power Advantage工具

2019-1-3 09:38:48  158 Zynq MPSoC ubuntu FPGA
分享
2
Zynq®UltraScale+™MPSoC提供前所未有的异构多处理级别,并结合了七个用户可编程处理器,包括四核ARM®Cortex™-A53应用处理单元(APU),双核32位ARM®Cortex™-R5实时处理单元(RPU)和ARM®Mali™-400 MP2图形处理单元(GPU)。它是业界首款多处理器SoC,可提供5倍系统级性能 - 每瓦特和任意对任意连接。

此演示展示了全功能桌面级操作系统,该系统在APU上的对称多处理(SMP)Linux和GPU上的图形渲染上运行多个应用程序。用户可以从开源安装和运行任何所需的应用程序。该演示还支持将基于Linux / Ubuntu Desktop的应用程序快速迁移到Zynq UltraScale + MPSoC。
  • SMP Linux上的Ubuntu桌面环境,内置多个应用程序; 并且可以灵活地在APU子系统上创建,下载和安装新应用程序。
  • Mandelbrot Xaos等多个基于telnet的应用程序正在APU子系统上的对称多处理(SMP)Linux上同时执行。
  • 演示自动Power Advantage工具,监控运行不同应用的Zynq UltraScale + MPSoC的运行时功耗。


图1:Zynq UltraScale + MPSoC框图,其中突出显示了本设计中使用的块


本演示中使用了以下Zynq®UltraScale+™MPSoC PS组件
  • 四核ARM®Cortex™-A53应用处理单元,
  • 图形处理单元
  • DDR控制器
  • UART
  • SD / eMMC接口
  • 千兆以太网
  • USB 3.0
  • DisplayPort的

用于此演示的软件堆栈
  • APU子系统上的SMP Linux。
  • Ubuntu Desktop根文件系统。
  • ARM-Mali,OpenGL ES2.0和Qt库。
  • 多个基于telnet的游戏,如Mandelbrot,Space Invaders,Matrix和2048。

提供的文件
zynqus_pwr_zcu102_20171220.zip
存档文件
包含以下文件/文件夹:
  • zynqus \ pwr \ sd:此文件夹包含用于SD卡以SD引导模式引导的Ubuntu Desktop Images文件
  • zynqus \ pwr \ ZynqUS_Demos:此文件夹包含Power Advantage Tool主机PC文件,包括GUI和自动脚本





要求:
  • Xilinx ZCU102评估套件带电源。
  • 10级SD卡(16 GB或更多)。
  • 以太网电缆,如果需要连接到Internet并使用apt-get实用程序安装软件包或想要尝试Web服务器演示。
  • Micro USB转标准USB线。
  • 4K或1080p显示端口监视器和DisplayPort电缆。
  • 4K或1080p HDMI监视器和HDMI电缆注:XaoS Mandelbrot不会在HDMI上显示。或者,使用mbrot.sh脚本。
  • USB 3.0连接器或USB 2.0微型电缆连接到标准USB母头适配器,USB Hub连接USB鼠标和USB键盘或连接USB键盘和鼠标集成等。

建立:Power Advantage工具的主机设置:
1.将下载的zcu102_ubuntu_pwr_demo_ <Timestamp> .zip文件(例如zynqus_pwr_zcu102_20171220.zip)解压缩到主机硬盘上。

2.将ZynqUS_Demos文件夹从解压缩的zip文件zynqus \ pwr \ ZynqUS_Demos复制到C:驱动器,如下所示。
C:\ ZynqUS_Demos

3.安装运行演示所需的安装文件。
注意:以下是主机的一次性安装。
如果已经安装并配置了Tera Term,Putty,AutoHotkey和CP210x驱动程序,则忽略“1”中

的步骤安装程序位于C:\ ZynqUS_Demos \ tools目录中
  • 双击teraterm-4.87.exe安装Tera Term终端应用程序
  • 双击AutoHotkey112203_Install.exe安装AutoHotkey应用程序,也可以在 - Autohotkey网页找到。
  • 按如下方式将CP210x USB安装到UART桥驱动程序:导航到C:\ ZynqUS_ Demos \ tools \ CP210x_VCP_Windows目录并安装CP210xVCPInstaller_x64.exe

注意:这可能会要求您重新启动计算机。在重新启动机器之前执行下一步

4.使用以下步骤将笔记本电脑以太网IP修改为“192.168.1.110”
  • 在Windows 7中,这可以通过控制面板>网络和Internet完成(在某些系统上,您可以在没有此步骤的情况下继续)>网络和共享中心>更改适配器设置(位于页面左侧)>右键单击本地连接>属性>是。
Windows LAN设置Page1


Windows LAN设置第2页


  • Internet协议版本4(TCP / IPv4)>属性>使用以下IP地址> IP地址:192.168.1.110(输入并使用默认子网掩码)>确定>关闭

静态IP地址设置


5.重新启动主机。

使用预先构建的映像准备SD卡:
1.解压缩“zynqus \ pwr \ sd”目录中的<Timestamp> _zcu102_ubuntu.zip(例如zynqus_pwr_zcu102_20171220.zip)。它包含需要提取到SD卡的<TimeStamp> _zcu102_ubuntu.img文件。可以使用Windows PC上的Win32DiskImager.exe工具或Linux PC上的Linux命令使用.img文件刻录SD卡。

2.安装Win32DiskImager.exe
工具可以从https://sourceforge.net/projects/win32diskimager/下载并安装该工具.3。SD

卡映像(<TimeStamp> _zcu102_ubuntu.img),可以写入16 GB卡(更大)设备是否有任何大小问题)通过以下方法
使用Win32磁盘映像编写器刻录此映像,
步骤1:如下所示,首先浏览<TimeStamp> _zcu102_ubuntu.img文件的路径
步骤2:在设备中选择SD卡分区(必须非常谨慎地选择此工具将格式化所选驱动器)和
步骤3 :选择写入“设备”选项中所选SD卡的选项。
用于将img文件写入SD卡的磁盘映像选择


4.在Linux PC上,我们可以使用DD命令

$ dd if = name.img of = / dev / sdb 将.img图像刻录到SD卡上
其中'if'指向Ubuntu桌面图像的name.img文件, 'of'指向必须提取图像的SD卡。

5.通过这样做,您应该在SD卡上有以下目录和图像。
  • boot.bin - 引导映像
  • Image.ub - 内核映像和设备树
  • GPU驱动程序

ZCU102主板设置:1.将Micro USB线连接到ZCU102板Micro USB端口J83,另一端连接到主机PC上的开放USB端口。该电缆将用于UART over USB通信。
2.将以太网电缆的一端连接到ZCU102连接器J73,另一端连接到主机的以太网插座。
3.将SD卡插入SD卡插槽J100。
4.如图所示设置SW6开关。这会将引导设置配置为从SD引导:
SD启动模式的开关选择


5.将12V电源连接到ZCU102 6针Molex连接器。

6.使用DisplayPort或HDMI电缆分别将显示器端口或HDMI监视器连接到U50或HDMI TX接口。

7.下图显示了与ZCU102板的连接。

ZCU102板连接



8.闪烁MSP430:
如果您已收到现有ZCU102板的新演示软件,则可能需要闪存板载MSP430以启用新功能。要使MSP430闪烁,请参阅附录A.


执行
1.在SW1(红色开关)上打开ZCU102板。

2.在几秒钟内,Ubuntu Desktop将启动,如下图所示。
ZCU102 Ubuntu欢迎屏幕





3.如下图所示,很少有像Qt cube demo,3D Car Model,Soft glMark2等定制的图标来执行Zynq UltraScale + MPSoC特定应用程序。


4.右键单击并打开应用程序,按照以下步骤说明上述每个图标。

5.使用“ifconfig”命令检查以太网端口是否已启动。使用2016.2工具版本映像ZC102以太网端口默认配置为eth4接口。
在终端中使用以下命令为板分配静态IP。

$“ifconfig eth4 192.168.1.112 up”

如果没有eth4接口,则尝试为从eth0到eth6的其他接口分配IP地址以启动以太网接口。
成功分配IP地址后启动Web服务器应用程序。

6.双击桌面上的Webserver图标,弹出如下窗口。此窗口显示ZCU102的IP地址,因此请在PC /笔记本电脑的Web客户端中使用此IP地址。

WebClient启动信息对话框



7.在主机PC或笔记本电脑中启动任何Web浏览器(如Chrome或Internet Explorer),然后在Web浏览器的地址栏中键入以下内容。
http://192.168.1.112
Web服务器应用程序


8。要启动OSG汽车演示,请选择“OSG汽车模型”图标。这将启动Car Demo,如下所示。
OSG Car Graphics由GPU渲染。




9.按住鼠标左键,将Car向任意方向拖动。
你应该看到汽车在窗户上旋转。

10.要最小化此窗口,请选择键:'Ctrl + Alt + D'。

11.运行Power Demo(没有推荐DP监视器的笔记本电脑终端):
  • 如果您在没有上述演示步骤的情况下直接运行Power演示,请确保您已完成上面列表中的步骤5,以确保将IP地址分配给以太网端口。电源演示中使用的所有终端应用程序都基于telnet,因此必须检查以太网端口是否已启动,已分配IP地址和功能。
  • 导航到C:\ ZynqUS_Demos。
  • 启动ZynqusPowerTool.exe,它将如下所示。
Power Advantage Tool GUI



  • 注意:运行以下脚本时,请勿使用鼠标或键盘

此时,请按照Zynq UltraScale + MPSoC Power Advantage Tool 2017.1的说明运行不同的应用程序,并观察Power Advantage工具上的功率读数。

你会观察到什么
  • SMP Linux在APU上启动Ubuntu Desktop。
  • 基于OpenGL ES 2.0的Qt应用程序由Linux在APU上启动,图形渲染由GPU完成
  • OSG应用程序
  • 多媒体应用
  • 从Ubuntu桌面手动启动程序:Soft glmark2等。所有都是Ubuntu风格的图形程序。
  • 第五个窗口显示Linux Top运行。观察到正在使用所有CPU内核。一个Soft glmark2将占用一个核心的100%。这显示为总系统(四个核心)利用率的25%。

Power Advantage工具演示
  • 像Xaos Fractal Zoomer一样推出的程序主要用于可视化显示端口或HDMI监视器不可用的功耗和设置,并展示了功耗优势工具
  • 其他程序,如Mandelbrot,Space Invaders,Matrix和2048.这些都是终端式图形程序,可用于演示显示端口监视器不可用的功耗和设置,并演示功耗优势工具
  • 第五个窗口显示Linux Top运行。观察到正在使用所有CPU内核。Mandelbrot消耗100%的一个核心。这显示为总系统(四个核心)利用率的25%



基于Telnet的游戏,其中显示不可用以及如何检查复杂游戏的功耗



附录A:闪烁MSP430
MSP430闪烁:如果您已收到现有ZCU102板的新演示软件,则可能需要闪存板载MSP430以启用新功能

将MSP-FET闪存仿真工具连接到USB和ZCU102 J92(靠近电源开关)。
MSP430程序

  • 安装C:\ ZynqUS_Demos \ tools \ MSP430Drivers-1_00_00_01-windows-installer.exe(需要一次)。
  • 打开电路板,运行C:\ ZynqUS_Demos \ tools \ FlashMSP430.bat
  • 注意:ZynqusPowerTool.exe应用程序可以查看MSP430代码的版本选择>关于。

附录B:构建Linux映像的步骤下载Linux项目从Zynq UltraScale MPSoC Base TRD 2017.1 下载参考设计Zip文件ZCU102 rev 1.0或rev D2 /生产芯片到您当地的Linux机器并按照以下步骤操作:
配置PetaLinux项目
  • 解压缩目标参考设计文件以获取rdf0421-zcu102-base-trd-2017-1目录。
  • 将目录更改为PetaLinux项目。

$ cd rdf0421-zcu102-base-trd-2017-1 / apu / petalinux_bsp
  • 安装2017.1 PetaLinux并获取Petalinux settings.sh脚本(参见PetaLinux安装指南)
  • 使用为Power Advantage Tool项目2017.1构建的硬件配置Petalinux项目。
  • HDF文件可在以下位置找到 -
C:\ zynqus \ PWR \ SW \ pl_lib_wrapper.hdf
  • 将pl_lib_wrapper.hdf复制到Linux机器。
  • 使用此HDF配置PetaLinux。
$ petalinux-config -get-hw-description = <pl_lib_wrapper.hdf的路径>
  • 当petalinux-config窗口打开时,将Root文件系统类型设置为SD映像

图像打包配置>根文件系统类型(SD卡)> SD卡
  • 保存并退出petalinux-config

设备树设置使用设计模块6中的相同设备树设置设置设备树文件参考设计
$ cd project-spec / meta-user / recipes-bsp / device-tree / files
$ cp zcu102-base-dm6.dtsi system-user .dtsi
  • 将根分区添加到设备树
$ cd project-spec / meta-user / recipes-bsp / device-tree / files
  • 打开system-conf-override.dtsi文件并将选项“root = / dev / mmcblk0p2 rw rootwait”附加到bootargs,如下所示
bootargs =“earlycon clk_ignore_unused earlyprintk uio_pdrv_genirq.of_id = xlnx,generic-uio root = / dev / mmcblk0p2 rw rootwait cma = 1024M”;
内核配置
  • 将目录更改为PetaLinux项目。

$ cd rdf0421-zcu102-base-trd-2017-1 / apu / petalinux_bsp

  • 打开PetaLinux Kernel菜单配置来配置内核

$ petalinux-config -c kernel
  • 从Zynq UltraScale + MPSoC电源管理 - Linux内核设置系统PM(电源管理)设置
  • 在内核配置中禁用initramfs,从SD分区加载Ubuntu RootFS。

常规设置>初始RAM文件系统和RAM磁盘(initramfs / initrd)支持
  • 输入设备所需的其他设置
多媒体和USB相关设置
设备驱动程序 - >输入设备支持 - >事件接口
设备驱动程序 - >输入设备支持 - >键盘
设备驱动程序 - >输入设备支持 - >鼠标接口
设备驱动程序 - >多媒体支持 - >介质USB适配器 - > USB视频类(UVC)
设备驱动程序 - >多媒体支持 - >摄像机/视频采集卡支持
设备驱动程序 - >多媒体支持 - > V4L平台设备
设备驱动程序 - > USB支持并启用所有必需的类
设备驱动程序 - > HID支持 - >通用HID驱动程序
设备驱动程序- > HID支持 - > USB HID支持 - > USB HID传输层
禁用PMBUS PMIC,以便电源演示可以使用它们而不会出现任何问题
设备驱动程序 - >硬件监控支持 - > PMBus支持 - > Maxim MAX20751
启用PHY设置
设备驱动程序 - > PHY子系统
设备驱动程序 - > PHY子系统 - > Xilinx ZynqMP PHY驱动程序
禁用PCI设置
总线支持 - > PCI支持'此需求为此版本禁用
启用声音相关设置
设备驱动程序 - >声卡支持'
设备驱动程序 - >声卡支持 - >高级Linux声音架构'启用ALSA支持
内核黑客攻击>跟踪器>内核功能跟踪器
  • 保存并退出内核配置

Rootfs配置
  • 配置rootfs以构建mali.ko,以便在GPU上运行图形应用程序。此模块必须位于启动分区中才能插入内核以支持GPU应用程序
Petalinux-config -c rootfs
文件系统包---> libs ---> libmali-xlnx
  • libmali-xlnx
  • libmali-xlnx-dbg
  • libmali-xlnx-dev
    • 保存并退出配置

    构建图像
    • 构建PetaLinux项目以生成Linux和其他相关图像
    $ petalinux-build

    • 等到项目构建完成。

    • 成功构建后,项目图像可以在 -
    $ <petalinux_bsp_path> / images / Linux /

    • 创建BOOT.bin(上面创建的二进制文件)
    • 从Power Advantage工具文件(C:\ zynqus \ pwr \ sw \ r5_ \ Debug \ r5.elf)复制基于RPU的R5应用程序可执行文件r5.elf
    到PetaLinux项目petalinux_bsp / images / Linux目录
    • 在petalinux_bsp / images / linux中创建一个名为boot_image.bif的BIF,其中包含以下内容
    Boot_image:
    {
    [pmufw_image] pmufw.elf
    [destination_cpu = a53-0,bootloader] zynqmp_fsbl.elf
    [destination_device = pl] pl_lib_wrapper.bit
    [destination_cpu = a53-0,exception_level = el-3,trustzone] bl31.elf
    [destination_cpu = r5-lockstep] r5.elf
    [destination_cpu = a53-0,exception_level = el-2] u-boot.elf
    }
    • 创建启动映像。
    $ cd images / Linux
    $ petalinux-package --boot --bif = boot_image.bif --force
    • 这将在images / Linux /中创建图像BOOT.BIN
    • 此时BOOT.BIN和Image.ub文件可以复制到SD卡的启动分区。
    • Ubuntu仍将与使用预建映像创建的SD卡的根或EXT分区保持相同。


  • 相关经验

    评论

    高级模式
    您需要登录后才可以回帖 登录 | 注册

    发经验
    关闭

    站长推荐 上一条 /7 下一条

    快速回复 返回顶部 返回列表