Petalinux实现qt程序输出_vitis_vivado_2019.2_1106_2127-程序员宅基地

技术标签: U96  VIVADO  fpga  PETALINUX  

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 /tftpboot
保存退出 在ect文件夹中新建tftpboot文件夹
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot
/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)安装
./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)安装
./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天。

31,configure accelerate compile petalinux
xilinx download
(1)download
(2)aarch64 sstate-cache(zynqMP)
(3)arm sstate-cache(zynq)
(4)mbfull sstate-cache(mb-fulle)
(5)mblite sstate-cache(mb-lite)
32,unzip download and aarch64 sstate-cache to petalinux installation path

tar xzf downloads_2019.2.tar.gz -C …/Petalinux2019
tar xzf sstate_aarch64_2019.2.tar.gz -C …/Petalinux2019
tar xzf sstate_arm_2019.2.tar.gz -C …/Petalinux2019

after this,can see

drwxr-xr-x 5 lcl lcl 4096 10月 25 2019 components
drwxr-xr-x 2 lcl lcl 4096 10月 25 2019 doc
drwxr-xr-x 6 lcl lcl 40960 10月 26 2019 downloads
drwxr-xr-x 8 lcl lcl 4096 10月 25 2019 etc
-rw-r–r-- 1 lcl lcl 2519 10月 25 2019 settings.csh
-rw-r–r-- 1 lcl lcl 2763 10月 25 2019 settings.sh
drwxr-xr-x 3 lcl lcl 4096 10月 26 2019 sstate_aarch64_2019.2
drwxr-xr-x 5 lcl lcl 4096 11月 3 09:58 tools
33,
when petalinux-config --get-hw-description=…/xsa

in this path
-Yocto Settings —>
Add pre-mirror url —>
downloads full path
eg:
file:///home/lcl/Soft/Petalinux201902/downloads
Local sstate feeds settings —>
aarch64 full path
eg:
/home/lcl/Soft/Petalinux201902/sstate_aarch64_2019.2/aarch64
34,
until petalinux-build
the progaram will not execute downloads,so we can do this without internet.
35,
petalinux-build --sdk
if petalinux-config -c rootfs contain qt5 and so on ,it will download something from yocto and qt,some errors occur without internet.
36,end

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_39724439/article/details/105594168

智能推荐

拥抱了IDEA却发现再也回不去Eclipse...-程序员宅基地

文章浏览阅读165次。拥抱了IDEA却发现再也回不去Eclipse... 一、背景  还记得去年入职的时候,发现很多同事都在用Intellij IDEA,其实在那之前都已经接触过,只不过没有在开发中实际应用而已. 这时候我下定决心要拥抱IDEA了,尤其被它酷酷的黑色主题所吸引,感觉那才是我们程序猿的正确打开方式.二、说明  要想从使用了很久的Eclips..._用完idea后不会用eclipse

数据收集-数据提取_openvigil2.1使用教程-程序员宅基地

文章浏览阅读780次。数据提取响应内容的分类xml和html的区别xmlxml和html的区别常用数据解析方法jsonpath模块使用方法案例练习lxml模块和xpath语法谷歌浏览器xpath helper插件安装xpath的节点关系xpath语法基础节点选择语法xpath定位节点以及提取属性或文本内容的语法语法练习节点修饰语法响应内容的分类结构化的响应内容json字符串可以使用re、json等模块来提取特定数据xml字符串可以使用re、lxml等模块来提取特定数据非结构化的响应内容html字符_openvigil2.1使用教程

unbuntu14.04密码正确登录不进去的解决_ubuntu14.04用户密码对但进不去-程序员宅基地

文章浏览阅读1.9k次。今天我想进入unbuntu系统学习一下linux的常用命令时发现竟然登录不进去了,昨晚还好好的,今天怎么就登不进去了。非常纳闷,于是想起上一次修改了environment文件,和profile文件,本人时linux菜鸟,修改了环境变量文件,以为是和windows环境变量一样,没想到导致登录老是循环在同一界面上,进不去,于是上网查了一下解决办法,发现原来是因为环境变量的问题。我具体的解决步骤为:_ubuntu14.04用户密码对但进不去

emmc 读写信号区分_EMMC转接座读写出错的解决方法-程序员宅基地

文章浏览阅读3.6k次。EMMC转接座使用:下面三个选项在“输入芯片印字”下面输入“EMMC”即可看到:EMMC_AUTO:速度8BIT(默认),智能识别-EMMC时就是它。EMMC_AUTO_4BIT:4BIT,建议大多数芯片选择它,稳定。EMMC_AUTO_1BIT:1BIT,以上两者均不能读时,可以选择它,虽速度慢但或许能挽救片内数据。另外,芯片型号后面_1/4/8BIT@FBGA153/FBGA169等(其中1/..._read emmc id failed

phpstrom配置连接虚拟机服务器_phpstorm使用虚拟机启动php-程序员宅基地

文章浏览阅读469次。踩坑的一天开发环境是Linux,在虚拟机里搭了个centos7,一键配置的lnmp在windows下利用phpstrom远程连接如何配置,步骤如下:首先打开界面,从顶部菜单栏选择Tools选项,选择Deployment,再选择configuration点击左上角加号选择SFTP输入一个昵称,随意,点击OK创建进来后,点击图示按钮进行配置输入服务器的ip,用户昵称,密码,点击testCconnection,测试是否能够连连通。能连通点击OK配置root path(网站根目录所在路径)和_phpstorm使用虚拟机启动php

Android--腾讯Bugly集成文档(吐槽版)_android bugly 符号表-程序员宅基地

文章浏览阅读1w次,点赞3次,收藏15次。本文是在原有的Bugly官方文档上进行修改(吐槽)而成官方开发文档:https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20170815114059准备好入坑了么?没准备好的,先去吃个糖压压惊ヽ(*。>Д゜゜゜介绍(一些废话,看看即可)热更新能力是Bugly为_android bugly 符号表

随便推点

Eclipse下代码字体背景变红/变绿/变黄原因-----已解决_eclipse测试爆黄色底纹-程序员宅基地

文章浏览阅读1.1k次。问题还原:为什么会出现这种情况eclipse 有测试代码覆盖率的功能,也就是执行Run——>Coverage后会出现这样 的效果原因来自解决办法*将Coverage调出来,[window – show view – other – java – Coverage],点击删除即可..._eclipse测试爆黄色底纹

LVS Centos7 安装_centos7安装lvs-程序员宅基地

文章浏览阅读3.2k次。Centos7已经自带了LVS,因此只需要安装LVS管理程序 ipvsadm(理解为ipvs admin)并配置即可。(1)安装ipvsadmyum -y install ipvsadm(2)设置ipv4转发sysctl -w net.ipv4.ip_forward=1(3)关闭防火墙systemctl stop firewalld.service #停止firewa..._centos7安装lvs

基于matlab的语义分割_使用扩张卷积进行语义分割-程序员宅基地

文章浏览阅读524次。加载训练数据该示例使用 32×32 三角形图像的简单数据集进行说明。该数据集包括附带的像素标签真实值数据。使用 imageDatastore 和 pixelLabelDatastore 加载训练数据。dataFolder = fullfile(toolboxdir('vision'),'visiondata','triangleImages');imageFolderTrain = fullfil..._matlab 语义分割 trainingimages

Quartz任务调度[Spring+Quartz结合]_实现任务的动态添加、修改和删除_synchronized quartz-程序员宅基地

文章浏览阅读1.3w次,点赞2次,收藏11次。项目框架图 下面开始贴代码了,不过先贴数据库^^-- Create table Oracle数据库create table QUARTZ_SCHEDULEJOB( id VARCHAR2(32), job_name VARCHAR2(32) not null, job_status NVARCHAR2(3) default 0 no_synchronized quartz

结构-行为-样式-JqueryUI拖放使用实例(全)_"jquery 水果拖放<div class=\"ui-weight-header\" id=\"f-程序员宅基地

文章浏览阅读310次。最近工作中有个需要是动态配置页面,想到之前公司有做过类似的,用的是JqueryUi,所以就看了下它的Api。下面就是我做的小Demo,想用的同学可以参考:Html: div class="page-component"> div class="pct-content"> div class="btn btn-default_"jquery 水果拖放"

spring AOP 动态代理 jkd动态代理和cglib动态代理 hibernate使用cglib延迟加载_jkd、cgl代理-程序员宅基地

文章浏览阅读1.9k次。spring 的AOP 实现 可以使用jdk的动态代理,也可以使用cglib的动态代理 先说下两者区别: 静态代理:代理之前就已经知道了代理者和被代理者 动态代理:代理之前并不清楚,在运行时使用反射机制动态生成代理类的字节码 无需我们手动编写它的源代码 jdk动态代理:java.lang.reflect 包中的Proxy类,InvocationHandler 接口提供了生成动态代理类的_jkd、cgl代理

推荐文章

热门文章

相关标签