开发者分享|Windows 下交叉编译环境的制作

科技   2024-06-04 15:38   北京  


本文作者:AMD 工程师 Jacky Gao


本文介绍一种通过 Petalinux 制作的根文件系统,在 Windows 平台下建立交叉编译环境的方法。并使用简单的 QT 程序验证工具链环境。


文中可能用的软件工具包括 Wsl2-ubuntu,Petalinux 以及 AMD Vivado Design tool,AMD Vitis Software platform 等。


制作步骤:


1.创建基于的 Vivado 工程,创建 Block Design,加入 AMD Zynq™ SoC 模式,导出 xsa。

2.新建 Petalinux 工程:petalinux-create –type project –template zynq –name petalinux

3.在 Petalinux 工程出导入 xsa,petalinux-config –get-hw-description xxx/*.xsa

4.配置 Petalinux 根文件系统在:petalinux-config -c rootfs


进入 Petalinux Package Groups,选正下面几个包:

  • packagegroup-petalinux-audio-dev

  • packagegroup-petalinux-display-debug-dev

  • packagegroup-petalinux-lmsensors-dev

  • packagegroup-petalinux-matchbox-dev

  • packagegroup-petalinux-networking-debug-dev

  • packagegroup-petalinux-networking-stack-dev

  • packagegroup-petalinux-openamp-dev

  • packagegroup-petalinux-opencv-dev

  • packagegroup-petalinux-python-modules-dev

  • packagegroup-petalinux-qt-dev

  • packagegroup-petalinux-qt-extended-dev

  • packagegroup-petalinux-v4lutils-dev

  • packagegroup-petalinux-vitis-acceleration-essential-dev

  • packagegroup-petalinux-x11-dev


5.编译 petalinux-build -c rootfs

6.编译完成后进入Images/Linux文件夹,里面包含 rootfs.tar.gz 文件,我们先在 Linux 环境下对其解压缩,分别执行:

  • mkdir rootfs

  • cd rootfs

  • tar xzvf ../rootfs.tar.gz

7.拷贝根文件系统开发包到 Windows 主机,注意由于 Windows 系统不支持符号连接,我们在拷贝符号连接文件的时候需要替换成其对应的目标文件,我们用 -L 选项完成此目标。我们只需要拷贝 Lib 和 Usr 文件夹即可。

  • cp -rfL lib/<windows host drive>/rootfs

  • cp -rfL usr/<windows host drive>/rootfs

8.在 Windows 中下载并安装 QT。

9.在 Windows 中下载并安装 CMake 最新版本,https://cmake.org/download/

10.在 Windows 中下载并安装 GnuWin32:https://gnuwin32.sourceforge.net/packages/make.htm

11. 我们需要在 Windows 系统中添加 GnuWin32 和 gcc-arm-linux-gnueabi 的环境变量


12. 至此,在 Windows 下的交叉编译环境即创建完成。AMD ZYNQ UltraScale+MPSoC AMD Versal™ Adaptive SoC 的原理同上。


测试结果


我们在 Windows 平台基于 CMake 工具,使用以上创建的交叉编译工具链,编译一个简单的 QT 工程实例。


1.运行 CMake,Source Code 选择附件中的 SW 目录,Where to build the binaries 选创建的 Build 目录,点 Configure,弹出的对话框配置如下:


2.点 Next,Specify the Toolchain file 选择附件中的 zynq-linux-toolchain.cmake 文件,点 Finish。    


3.点击 Create Entry…对话框,分别添加CMAKE_SYSROOT 和

OE_QMAKE_PATH_EXTERNAL_HOST_BINS 变量,分别指向之前创建的 Rootfs 目录和 Windows 下安装的 QT 目录。


4.点击Configure,之后Generate,完整的输出格式如下:  


5.启动 DOS 窗口,CD 到 Build 目录,执行 Make,执行结果如下,可以看到 QT 应用程序被正确编译。  


6.最后,我们使用 File 工具检查生成的目标文件 Untitile 属性,可以看到确实为 ARM32 可执行程序。编译环境验证完成。


请点击阅读原文查看相关附件。


AMD 自适应 SOC 及 FPGA 中文技术支持社区

欢迎您访问本社区论坛:

[https://support.xilinx.com/s/?language=zh_CN]

我们希望能帮助您快速找到所需内容。本网站是AMD 自适应 SoC 及 FPGA 支持资源登录页面,其中包括我们的知识库、社区论坛以及指向更多内容的链接。搜索并探索您所选主题的内容,然后登录以查看更多支持选项。



XILINX开发者社区
Xilinx开发者社区源于社区,服务社区,是面向广大开发者与产学研合作的平台,以技术为驱动,创建共享知识社区。(注: Xilinx is now a part of AMD)
 最新文章