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天。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章