petalinux实现qt程序输出

1、本教程涉及到linux版本下安装vivado(vitis)、qt和petalinux的安装。
2、版本对应详见手册UG1144。
Ubuntu Linux Workstaton/Server 18.04.02 (64-bit)
Xilinx_Vitis_2019.2_1106_2127.tar.gz(需从官网下载,某盘的可能不好用)
qt-opensource-linux-x64-5.12.0.run
petalinux-v2019.2-final-installer.run
3、虚拟机中安装Ubuntu,处理器最好1个,在后期petalinux的某些进程编译中,如果核心较多,容易导致特定操作内存溢出,编译失败,内存8G或以上,硬盘最好200G以上。
4、安装一些支持库
(1)sudo passwd
123456
123456
(2)首先安装网络,使linux系统能在win下进行操作控制
sudo apt-get update
sudo apt-get install -y vim gedit net-tools openssh-server ssh
service sshd start
(3)sudo apt-get install -y tftpd tftp openbsd-inetd
在虚拟机中
sudo gedit /etc/inetd.conf
增加
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftproot
保存退出 在ect文件夹中新建tftproot文件夹
sudo mkdir /tftproot
sudo chmod 777 /tftproot
/ect/init.d/openbsd-inetd restart
(4)在将dash修改为bash
sudo dpkg-reconfigure dash
(5)安装ug1144中的依赖库
sudo apt-get install -y tofrodos iproute2 gawk make libncurses5-dev tftpd zlib1g:i386 libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential screen pax gzip python
(6)安装一些其他的库(可装可不装,以后的工程可能会用到)
sudo apt-get install -y git xvfb bc gperf texi2html help2man device-tree-compiler qemu-user-static binfmt-support multistrap lib32z1 lib32ncurses5 libbz2-1.0 lib32stdc++6 kpartx zerofree u-boot-tools rpm2cpio
5、查看linux ip地址,外部xftp(传安装包和文件)和xshell(通信)。
将三个安装包全部放到linux home下的一个bag文件夹下(放在哪随意),由于vivado的解压和安装消耗硬盘的空间很大,可以先对vivado进行安装。
6、安装vivado2019.2
(1)修改权限
sudo chmod +x Xilinx_Vitis_2019.2_1106_2127.tar.gz
(2)解压
sudo tar xvzf Xilinx_Vitis_2019.2_1106_2127.tar.gz
(3)安装
sudo ./xsetup
(4)选择路径,推荐都安装在用户文件夹下,比如我的lcl下,新建vivado201902,和win一样等待安装完成即可。
(5)lic文件和win下的一样load即可。
(6)制作vivado启动环境
gedit vivado201902.sh
文本中编辑,这样每次source vivado201902.sh即可启动gui
cd /home/lcl/Vivado201902/Vivado/2019.2/
source settings64.sh
vivado
(7)制作vitis启动环境
gedit vitis201902.sh
文本中编辑,这样每次source vitis201902.sh即可启动gui
cd /home/lcl/Vivado201902/Vitis/2019.2/
source settings64.sh
vitis
当运行vitis时,会长生bug,
(Vitis IDE:32161): GLib-CRITICAL **: 22:50:31.277: g_base64_encode_step: assertion ‘in != NULL’ failed
解决方法:
sudo apt install gnome-tweak-tool
在左下角全部软件中,找到Tweaks,打开后,将application设置为default。
(8)linux版vivado安装完成。
7、安装petalinux
(1)修改权限
sudo chmod +x petalinux-v2019.2-final-installer.run
(2)安装
./petalinux-v2019.2-final-installer.run …/Petalinux201902/
(3)三次qy后,进行安装,等待安装完成。
(4)制作启动环境
gedit petalinux201902.sh
文本中编辑,这样每次source petalinux201902.sh即可激活环境
cd /home/lcl/Petalinux201902/
source settings.sh
8、安装qt(vivado里面qt库版本是5.11.3不清楚会不会有问题)
(1)修改权限
sudo chmod +x qt-opensource-linux-x64-5.12.1.run
(2)安装
sudo ./qt-opensource-linux-x64-5.12.0.run
(3)登陆账号,工具全部选上(也可以按需选择)
(4)制作启动环境
gedit qt512.sh
文本中编辑,这样每次source qt512.sh即可打开gui
cd /home/lcl/Qt512/Tools/QtCreator/bin/
./qtcreator
9、所有安装后的文件界面
在这里插入图片描述
10、首先window下创建u96工程(也可以在linux下,因为是虚拟机核心较少,在外面会比较快),我的板卡是ultra96 v1
例子很简单 一个dma回环的例程
在这里插入图片描述
11、生成bit后,导出xsa文件。
12、在linux创建工程文件夹,将xsa和bit文件复制到xsa文件夹下。
在这里插入图片描述
13、运行petalinux环境
14、新建工程u96_dma
petalinux-create --type project --template zynqMP --name u96_dma
15、进入到工程文件夹
petalinux-config --get-hw-description=…/xsa/
将串口由编号0更改到编号1(硬件问题)保存退出
在这里插入图片描述
16、配置一些文件系统
petalinux-config -c rootfs
(1)qt
在这里插入图片描述
(2)qt_extended
在这里插入图片描述
(3)x11在这里插入图片描述在这里插入图片描述
在这里插入图片描述
17、编译工程(只有一个核,大概编译了一个晚上)
petalinux-build
(如果有条件的话,最好翻墙,这个时候要下载大量的安装包,可能会快,否则有的时候会特别特别慢)。
在这里插入图片描述
18、打包文件
petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit
在这里插入图片描述
19、制作sdk(只有一个核,大概编译了另一个晚上)
petalinux-build --sdk
在这里插入图片描述
20、制作系统文件
petalinux-package --sysroot
在这里插入图片描述
21、将sd卡格式化两个分区,一个主分区4G FAT32格式命名BOOT 另一个文件系统分区exFAT格式 命名rootfs
将BOOT.BIN和image.ub复制到BOOT分区中,将rootfs.cpio.gz复制到rootfs分区,并解压。
开发板上电登录
用户名:root
密码:root
在这里插入图片描述
22、QT编译例程,打开qt
同时安装库,一会编译要用
sudo apt-get install libgl1-mesa-dev
新建一个空工程
在这里插入图片描述
在ui中 加入push button和lable在这里插入图片描述
编辑使点击按钮后输出hello。
在这里插入图片描述
修改完成后点击保存并编译运行。
在这里插入图片描述
功能正常
23、制作开发板能运行的程序
(1)在qt开发工具UI中,点击tools->options
在kits中 clone原来那个
在这里插入图片描述
(2)修改工具名U96 64bit
(3)修改device type 为generic linux device
(4)sysroot 选择编译后的sysrotfs
(5)qt version qt5.11.3(这是petalinux含qt的系统版本)
(6)点击compilers
在这里插入图片描述
(7)在manual c中
修改name 为 aarch64-linux-GCC
compiler path:
/home/lcl/prj/u96_dma/u96_dma/images/linux/sdk/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux
(8)在这里插入图片描述
(9)在manual c中
修改name 为 aarch64-linux-G++
compiler path:
/home/lcl/prj/u96_dma/u96_dma/images/linux/sdk/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux
(10)在qt versions中
在这里插入图片描述
manual中选择(下图仅仅是列出完整路径)
在这里插入图片描述
(11)点击ok,如果前面没有报错的情况下,所有的文件都是能找到的。
(10)在project中选择U96
在这里插入图片描述
(11)点击编译,编译的项目无法在linux系统中运行,需要到开发板中使用。
在这里插入图片描述
24、将文件复制到u盘
25、mkdir /mnt/usb
26、mount /dev/sda1 /mnt/usb
27、cd /mnt/usb
28、关闭所有图像界面
killall Xorg
export DISPLAY=:0.0
Xorg -depth 16&
./ui_test
参见UG1209
在这里插入图片描述
29、实验结果
在这里插入图片描述
30、图像显示界面成功,耗时3天。

猜你喜欢

转载自blog.csdn.net/sinat_39724439/article/details/105594168