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

[经验] Zynq UltraScale + MPSoC Ubuntu第2部分 - 从源代码构建和运行Ubuntu桌面

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

本技术提示涵盖了针对ZCU102板在Zynq®UltraScale+™MPSoC上构建和启动Ubuntu Desktop的分步说明。



Zynq UltraScale + MPSoC上的Ubuntu桌面和GPU应用程序



本设计使用以下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,OSG

要求
  • Xilinx ZCU102评估套件带电源
  • 10级SD卡(8 GB)
  • 以太网电缆(用于Internet连接,使用apt-get实用程序安装软件包,以及用户尝试Webserver演示)
  • Micro USB转标准USB线
  • 4K显示器或全高清显示器和DisplayPort电缆
  • USB 3.0连接器或USB 2.0微型电缆连接到标准USB母头适配器,USB Hub连接USB鼠标/ USB键盘/ USB键盘和鼠标集成等

提供的文件
Ubuntu_Desktop_Release_2018_1.zip存档文件
包含以下文件/文件夹:
  • 硬件描述文件
  • Vivado项目的tcl文件
  • 预建的图像


从源构建的过程
本节包括以下主题
  • 使用Vivado创建硬件设计。
  • 将硬件设计导出到Petalinux
    • 配置硬件
    • 创建petalinux项目
    • 配置内核
    • 创建可启动的Linux映像
  • 使用内置图像准备SD卡或准备测试图像
  • ZCU102电路板设置
  • 执行演示的步骤

使用Vivado创建硬件设计
本节介绍使用2018.1 Vivado设计套件创建硬件设计的过程。
  • 打开Vivado Design Suite并运行project.tcl文件,该文件将生成使用Zynq UltraScale + MPSoC IP的块设计。
  • 下载并将Ubuntu_Desktop_Release_2018_1.zip文件
    解压缩到您的Linux目录$ unzip Ubuntu_Desktop_Release_2018_1.zip
    注意:为方便用户,预设的硬件描述文件随设计文件一起提供。用户可以使用/ Ubuntu_Desktop_Release_2018_1 /下的design_1_wrapper.hdf文件HDF_file目录并跳至“ 使用Petalinux 2018_1准备Linux映像 ”部分。
  • 推出Vivado Design Suite 2018.1(在Linux上)
  • Vivado Design Suite将打开“欢迎”窗口。在欢迎窗口中,您可以创建新项目,打开现有项目,或直接在Vivado Design Suite中输入Tcl命令以及访问文档和示例


  • 在Vivado欢迎屏幕的TCL控制台中,将目录更改为/ Ubuntu_Desktop_Release_2018_1 / Hardware ,其中包含project.tcl文件。
    $ cd / Ubuntu_Desktop_Release_2018_1 /硬件
  • 按照以下命令,在Vivado GUI TCL控制台中获取project.tcl文件。
    source project.tcl



  • 图:源项目.tcl文件




此TCL脚本将执行以下操作
  • 自动创建Vivado项目
  • 创建新的块设计并自动填充Zynq UltraScale + MPSoC PS系统,所需的组件和连接。
  • 为ZCU102板配置Zynq UltraScale + MPSoC PS系统
  • 生成当前目录中的硬件描述文件。
  • 完成该过程后,将在/ Ubuntu_Desktop_Release_2018_1 / Hardwar e目录下生成design_1_wrapper.hdf。
使用Petalinux 2018.1准备Linux映像
  • 本节介绍如何使用版本2018.1的最新版本Petalinux SDK为zcu102目标平台构建Linux映像
创建petalinux项目
  • 使用相应的bsp创建petalinux项目,可以从以下路径下载
  • 下载Petalinux petalinux-v2018.1-installer.run和ZCU102 BSP用于相应的主板。



  • 运行上面下载的安装程序
    $ ./petalinux-v2018.1-installer.run安装Petalinux
    注意:请参阅Petalinux用户指南。
  • 安装完成后,通过在bash shell
    $ source <Petalinux_installation_path> /settings.sh中运行以下命令设置Petalinux环境
    注意:对c shell使用source <Petalinux_installation_path> /settings.csh命令。
  • 通过使用以下命令$ echo $ PETALINUX交叉检查PETALINUX环境变量是否设置为上述安装路径
  • 使用以下命令创建Petalinux项目
    $ petalinux-create -t​​ project -s <下载的zcu102 bsp的路径> /xilinx-zcu102-v2018.1-final.bsp
    注意:在上面的命令中,给出BSP路径和文件根据董事会的修订。
  • 将目录更改为创建Petalinux项目。
$ cd <petalinux-project>
  • 使用硬件描述文件配置Petalinux项目。用户可以使用预建的design_1_wrapper.hdf文件,可以在目录/ Ubuntu_Desktop_Release_2018_1 / Hdf_file下找到,也可以使用上面内置的design_1_wrapper.hdf文件。
    $ petalinux-config --get-hw-description = <hdf文件目录的路径>
    PetaLinux配置向导打开。
  • 为rootfs启用SD卡:选择“映像包配置 - >根文件系统类型 - > SD卡”
  • 修改bootargs如下。
    • 的PetaLinux-配置
      • DTG设置>内核引导程序> []自动生成引导args
      • 设置以下内核bootargs
      • earlycon clk_ignore_unused earlyprintk root = / dev / mmcblk0p2 rw rootwait cma = 1024M
  • 保存并退出向导。
  • 等到PetaLinux重新配置项目
  • 清理现有的Bootloader映像。这是为了确保与新硬件设计同步重新创建引导加载程序。
    $ petalinux-build -c bootloader -x distclean
  • 按照Xilinx答案69248中system-user.dtsi中的说明修改双通道显示端口配置的设备树

配置内核
  • 将目录更改为<petalinux-project>并输入以下命令以配置内核:
$ petalinux-config -c kernel
  • 以下是成功启动Ubuntu Desktop所需的一些必需配置。
    • 在“常规设置 - >初始RAM文件系统和RAM磁盘(initramfs / initrd)支持”中禁用内核配置GUI中的initramfs
  • 需要进行以下设置才能启用输入设备,多媒体和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
    • 内核黑客>跟踪器>内核函数跟踪器
    • 保存并退出内核配置。

创建可启动的linux映像
  • 将目录更改为<petalinux-project>并输入以下命令以构建Linux映像。输出二进制文件可以在<petalinux-project> / images / linux目录中找到。
$ petalinux-build
  • 等到项目构建完成。
  • 使用以下命令创建BOOT.bin(使用上面创建的二进制文件)
    $ petalinux-package --boot --fsbl images / linux / zynqmp_fsbl.elf --u-boot images / linux / u-boot.elf
  • 移动到文件夹images / linux /并复制BOOT.BIN和image.ub文件以启动SD卡分区。注意:如果更改恰好只在内核中进行,那么使用下面的命令来重建内核petalinux-build -c内核
使用可启动映像准备SD卡:
  • 本节提供了使用上面构建的映像和Ubuntu文件系统准备SD的步骤。
  • 请按照“准备带有预建图像的SD卡”部分进行操作。
  • 将上述步骤中创建的images / linux中的BOOT.bin和image.ub替换为SD卡的BOOT分区,并跳至“ ZCU102 Board Setup”。

使用预先构建的映像准备SD卡:
  • 准备SD卡以进行SD启动模式:
  • 在\ Ubuntu_Desktop_Release_2018_1 \ Ready_to_test_images目录中找到“ ZCU102_UbuntuDesktop_2018_1.img ” 。
  • 使用以下步骤将ZCU102_UbuntuDesktop_2018_1.img文件解压缩到SD卡。

适用于Windows PC的步骤:
  • 安装Win32DiskImager.exe工具。可以从http://sourceforge.net/projects/win32diskimager/下载并安装此工具。
  • 使用Win32磁盘映像写入器将SD卡映像(ZCU102_UbuntuDesktop_2017_4.img)刻录到8 GB SD卡(如果有任何大小问题,则设备更大)。
    步骤1:如下所示,浏览ZCU102_UbuntuDesktop_2017_4.img文件的路径。
    步骤2:选择SD卡分区作为设备(必须非常谨慎地选择此工具,因为此工具将格式化所选驱动器)
    步骤3:选择“写入”选项,它将在SD卡上创建分区并在其上刻录图像。

用于将img文件写入SD卡的磁盘映像选择


  • 将图像提取到SD卡后,您将在其中找到以下图像。
    • BOOT.BIN
    • image.ub

适用于Linux PC的步骤
  • 这可以使用DD命令在Linux PC上完成
  • dd if = name.img = / dev / sdb
  • 其中“if”指向Ubuntu桌面图像的name.img文件,“of”指向必须提取图像的SD卡。

ZCU102主板设置:
  • 将Micro USB线连接到ZCU102板Micro USB端口J83,另一端连接到主机PC上的开放USB端口。该电缆将用于UART over USB通信
  • 将以太网电缆的一端连接到ZCU102连接器J73,另一端连接到主机的以太网插座。
  • 将SD卡插入SD卡插槽J100。
  • 如图所示设置SW6开关。这会将引导设置配置为从SD引导:
  • 将12V电源连接到ZCU102 6针Molex连接器。


  • 使用DisplayPort电缆将显示器连接到U50。
  • 下图显示了带连接的ZCU102板。
执行演示的步骤:
  • 在SW1(红色开关)上打开ZCU102板。
  • 几秒钟后,Ubuntu桌面就会启动。
  • 如下图所示,很少有像Webserver,Hard_glmark2,Soft_glmark2,3D汽车模型等定制的图标来执行Zynq UltraScale + MPSoC特定应用程序。



图:Ubuntu桌面

  • 通过USB集线器将鼠标和键盘连接到ZCU102硬件J96 USB 3 ULPI连接器。观察鼠标和键盘是否正常工作。
  • 双击/打开“Hard_glmark2”应用程序启动它并观察马3D模型正在旋转。此应用程序中的所有模型都由GPU渲染,如下图所示。



图:硬glmark2

  • 启动Web服务器应用程序:双击桌面上的Web服务器图标。Ubuntu桌面上会弹出一个窗口,如下图所示,显示ZCU102硬件的IP地址。

Web客户端启动信息


  • 在主机PC或笔记本电脑Web浏览器中,键入与ZCU102 ubuntu桌面上显示的IP地址相同的IP地址,而不是上图中显示的IP地址,因为它随网络而变化。观察到Zynq UltraScale + MPSoC将开始为网页提供服务。主机/笔记本电脑上的以下图像显示此网络服务器的索引页面。

图:Web服务器应用程序


  • 启动OSG汽车演示:选择图标“3D汽车模型”并双击它。窗口打开,其中包含汽车图像。使用鼠标按住汽车并旋转它。观察汽车以与鼠标相同的方向旋转。要关闭窗口,请使用“ALT + F4”键盘命令。

图:OSG 3D汽车应用

结论:
  • 此演示通过运行“基于UI的应用程序的SMP Linux”和基于OpenGL ES 2.0 API的3D图形应用程序渲染“丰富的Ubuntu Desktop系统”,展示了Zynq®UltraScale+™MPSoC APU和GPU功能。

相关经验

评论

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

发经验
课程
    关闭

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

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