作者

QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118

Xilinx

Wiki/Xilinx Arm Mali-400 Driver
Wiki/Zynq UltraScale+MPSoC Graphics- GPU application debugging using ARM Mali Graphics Debugger tool
Wiki/Zynq UltraScale+MPSoC Graphics- GPU Profiling using ARM Streamline performance analyzer
AR# 70179 2017.1-2017.3 Zynq UltraScale+ MPSoC: Yocto/PetaLinux Qt packages doesn’t build when both X11 and FBdev MALI libraries are removed
【分享】在MPSoC上运行基于eglfs_kms的QT应用程序
AR# 72139 2019.x Zynq UltraScale+ MPSoC: Yocto or PetaLinux return warnings when you enable libmali with the fbdev windowing system

用户态库,当前Xilinx提供r9p0-01rel0的用户态库,所以去Arm官网下载对应版本的驱动,

Xilinx/mali-userspace-binaries

制作好自己的ubuntu rootfs,替换xilinx ubuntu desktop wiki page提供的镜像里的ubuntu rootfs在zcu102上面测试。对于ubuntu来说,MPSoC不同器件都是arm64环境,软件上没有区别。By default, Mali supports X11 backend. Just select libmali-xlnx package from ‘petalinux-config -c rootfs’. The root filesystem should now have libmali with X11 support. Also, please select at least one window manager.For example: packagegroup-petalinux-matchbox.

$ petalinux-config -c kernel
Following are some of the mandatory configurations needed for successful booting of Ubuntu Desktop.
Disable initramfs in kernel configuration GUI at ‘General setup -> Initial RAM file system and RAM disk (initramfs/initrd) support’
Following settings are required to enable Input device, multimedia and USB related settings
Device Drivers->Input device support->Event interface’
Device Drivers->Input device support->Keyboards’
Device Drivers->Input device support->Mouse interface’
Device Drivers->Multimedia support->Media USB Adapters->USB Video Class (UVC)
Device Drivers->Multimedia support->Cameras/video grabbers support’
Device Drivers->Multimedia support->V4L platform devices
Device Drivers->USB support and enable all required classes
Device Drivers->HID support->Generic HID driver
Device Drivers->HID support->USB HID support->USB HID transport layer
Disabling the PMBUS PMIC so that power demo can use them without any issues
Device Drivers->Hardware Monitoring support->PMBus support->Maxim MAX20751’
Enable the PHY settings
Device Drivers->PHY Subsystem’
Device Drivers->PHY Subsystem->Xilinx ZynqMP PHY driver’
Disable the PCI settings
Bus Support->PCI support’ This needs to be disabled for this version
Enable the sound related settings:
Device Drivers->Sound card support’
Device Drivers->Sound card support->Advanced Linux Sound Architecture’ enabling ALSA support
Kernel hacking > Tracers > Kernel Function Tracer
Save and Exit the kernel configuration.$ petalinux-config -c rootfs
Filesystem Packages > libs> libmali-xlnx > libmali-xlnx
Filesystem Packages > libs > libmali-xlnx > libmali-xlnx-dev
Petalinux Package Groups > packagegroup-petalinux-x11 > packagegroup-petalinux-x11
Petalinux Package Groups > packagegroup-petalinux-x11 > packagegroup-petalinux-x11-dev

我现在使用2018.2,内核驱动版本r8p0-01rel0,下载地址,为了能在2018.2的内核下面编译通过,需要打补丁,下载补丁。设备树已经有了,

gpu: gpu@fd4b0000 {status = "disabled";compatible = "arm,mali-400", "arm,mali-utgard";reg = <0x0 0xfd4b0000 0x0 0x10000>;interrupt-parent = <&gic>;interrupts = <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>, <0 132 4>;interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1";clock-names = "gpu", "gpu_pp0", "gpu_pp1";power-domains = <&pd_gpu>;
};

监测GPU性能数据

手动编译驱动,

Clone the gator-6.1 source from the git path provided below
https://github.com/ARM-software/gator
change the directory to daemon directory under the Gator source and run the below command to build the gator daemon.
$bash
$ export CROSS_COMPILE=<petalinux_installed_directory>/tools/linux-i386/aarch64-linux-gnu/bin/aarch64-linux-gnu-
cd <Gator_source>/daemon
$make -f Makefile_aarch64
After the above build , copy the gatord binary created under the <Gator_source>/daemon directory, to a SD card.
Note: Make sure that cross compilation path is set to the current working environment.
Extract the Mali driver source code by following below command
$cd <petalinux_project_directory>/build/downloads
$tar -xvf DX910-SW-99002-r5p1-01rel0.tgz
Build the gator.ko module by following below commands.
$ cd <Gator_source>/driver
$bash
$ export CROSS_COMPILE=<petalinux_installed_directory>/tools/linux-i386/aarch64-linux-gnu/bin/aarch64-linux-gnu-
$ GATOR_WITH_MALI_SUPPORT=MALI_4xx CONFIG_GATOR_MALI_4XXMP_PATH=<petalinux_project_directory>/build/downloads/DX910-SW-99002-r7p0-00rel0/driver/src/devicedrv/mali/ make -C <petalinux_project_directory>build/tmp/work-shared/zcu102-zynqmp/kernel-build-artifacts/M=`pwd` ARCH=arm64 modules
qe@ubuntu:~/project/petalinux/zcu104$ petalinux-build -s
[INFO] building project
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image -c do_populate_sdk
Parsing recipes: 100% |####################################################################################################################################################################################| Time: 0:01:24
Parsing of 2552 .bb files complete (0 cached, 2552 parsed). 3441 targets, 139 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#################################################################################################################################################################################| Time: 0:00:13
Checking sstate mirror object availability: 100% |#########################################################################################################################################################| Time: 0:01:16
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: nativesdk-qemu-xilinx-v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0 do_compile: oe_runmake failed
ERROR: nativesdk-qemu-xilinx-v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0 do_compile: Function failed: do_compile (log file is located at /home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/temp/log.do_compile.28153)
ERROR: Logfile of failure stored in: /home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/temp/log.do_compile.28153
Log data follows:
| DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc', 'bit-64', 'x86_64-linux', 'common']
| DEBUG: Executing shell function do_compile
| NOTE: make -j 4
|   GIT     ui/keycodemapdb capstone
| Cloning into '/home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/git/capstone'...
| fatal: read error: Connection reset by peer
| fatal: early EOF
| fatal: index-pack failed
| fatal: clone of 'git://git.qemu.org/capstone.git' into submodule path '/home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/git/capstone' failed
| Failed to clone 'capstone'. Retry scheduled
| Cloning into '/home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/git/ui/keycodemapdb'...
| fatal: Unable to look up git.qemu.org (port 9418) (Temporary failure in name resolution)
| fatal: clone of 'git://git.qemu.org/keycodemapdb.git' into submodule path '/home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/git/ui/keycodemapdb' failed
| Failed to clone 'ui/keycodemapdb'. Retry scheduled
| Cloning into '/home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/git/capstone'...
| fatal: Unable to look up git.qemu.org (port 9418) (Temporary failure in name resolution)
| fatal: clone of 'git://git.qemu.org/capstone.git' into submodule path '/home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/git/capstone' failed
| Failed to clone 'capstone' a second time, aborting
| ./scripts/git-submodule.sh: failed to update modules
|
| Unable to automatically checkout GIT submodules ' ui/keycodemapdb capstone'.
| If you require use of an alternative GIT binary (for example to
| enable use of a transparent proxy), then please specify it by
| running configure by with the '--with-git' argument. e.g.
|
|  $ ./configure --with-git='tsocks git'
|
| Alternatively you may disable automatic GIT submodule checkout
| with:
|
|  $ ./configure --disable-git-update'
|
| and then manually update submodules prior to running make, with:
|
|  $ scripts/git-sbumodule.sh update  ui/keycodemapdb capstone
|
| make: *** [Makefile:39: git-submodule-update] Error 1
| ERROR: oe_runmake failed
| WARNING: /home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/temp/run.do_compile.28153:1 exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at /home/qe/project/petalinux/zcu104/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-qemu-xilinx/v2.11.0-xilinx-v2018.2+gitAUTOINC+f5fb2a88ff-r0/temp/log.do_compile.28153)
ERROR: Task (virtual:nativesdk:/home/qe/program/petalinux-v2018.2-final/components/yocto/source/aarch64/layers/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2018.2.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5160 tasks of which 5159 didn't need to be rerun and 1 failed.Summary: 1 task failed:virtual:nativesdk:/home/qe/program/petalinux-v2018.2-final/components/yocto/source/aarch64/layers/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2018.2.bb:do_compile
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
ERROR: Failed to build project

手动下载这个软件包到那个目录,之后1分钟就编好了sdk,

dm@dm-cef65:/opt$ ./sdk.sh
PetaLinux SDK installer version 2018.2
======================================
Enter target directory for SDK (default: /opt/petalinux/2018.2):
You are about to install the SDK to "/opt/petalinux/2018.2". Proceed[Y/n]? Y
Extracting SDK......................................................................done
Setting it up...done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.$ . /opt/petalinux/2018.2/environment-setup-aarch64-xilinx-linux$ sudo apt-get install openjdk-8-jdk
$ build/linux/sysroot_scripts/install-sysroot.py --arch=arm64
$ gn args out/Release_GN_arm64

Xilinx ZynqMP Mali-400 MP2相关推荐

  1. Xilinx ZynqMP相关

    Vivado Design Suite - HLx 版本 生产力成倍加速 Vivado Design Suite HLx 版本 - 加速高层次设计 Vivado® Design Suite HLx 现 ...

  2. XILINX Zynq UltraScale+ MPSoC 在 4K 视频图像处理和会议系统的应用

    赛灵思 Zynq UltraScale+™ MPSoC EV 器件的 4K 视频处理功能.EV 器件具有继承的多标准视频编解码器,能够以 60帧/秒 的速度同步编码和解码. Arm 四核 Cortex ...

  3. 基于Xilinx XCZU9EG与ADRV9009 开源无线通信算法验证平台

    **基于Xilinx XCZU9EG与ADRV9009 开源无线通信算法验证平台** 1.基于Xilinx XCZU9EG与ADRV9009 开源无线通信算法验证平台硬件介绍 小疆XJSOM是基于Xi ...

  4. 【正点原子FPGA连载】 第一章 MPSoC简介 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  5. 三星T7装Linux系统,Ubuntu已成为三星ARTIK 5/7的主力GNU/Linux系统

    Canonical的设备和物联网副总裁Mike Bell表示:"通过双方的合作,Canonical将进一步巩固在物联网的长期发展承诺,并继续扩大Ubuntu系统在物联网领域的影响力和发展.我 ...

  6. 便宜运行linux芯片,个头小本事大:13 种 20 美元以下的树莓派 Zero 替代品 | Linux 中国...

    导读:最近两年,树莓派 Zero 和 树莓派 Zero W 作为新成员出现在树莓派产品线中. 本文字数:5829,阅读时长大约: 8分钟 https://linux.cn/article-12502- ...

  7. 20美金 php,树莓派|个头小本事大:13 种 20 美元以下的树莓派 Zero 替代品

    最近两年,树莓派 Zero 和 树莓派 Zero W 作为新成员出现在树莓派产品线中.这些超小型的单板计算机大受欢迎,而且会在相当长的一段时间内成为创客和 DIY 社区的 树莓派项目 的一部分. 为了 ...

  8. CB2-2CARD的openSUSE安装NAS环境配置

    CB2-2CARD的openSUSE安装&NAS环境配置 1. 简介 2. 规格 3. 系统安装 3.1 Linux/Unix稳定镜像 3.2 基础功能更新&安装 3.2.1 更新源 ...

  9. 2600评测_10寸真香电纸书 墨案Inkpad X评测

    墨案 W7 在 2019 年把 10 寸电纸书压到了 2499,一年后的墨案InkPad X 以 1699 的价格震惊四座.去掉了电磁手写笔,但加入了冷暖双色背光,香气四溢的标价,让它基本钦定是年轻人 ...

最新文章

  1. 在Ubuntu 12.04 64bit上搭建Crtmpserver视频直播服务
  2. python入门之函数调用内置函数_第九篇 python基础之函数,递归,内置函数
  3. 如何计算_平整场地如何计算?
  4. Spark应用程序第三方jar文件依赖解决方案
  5. php date 有warning,php提示PHP Warning: date(): It is not safe to rely on the......错误的解决办法...
  6. 三星笔记文件存储路径_《那些年JavaWeb踩过的坑》ssh框架整合配置文件路径(错误笔记)...
  7. 医学遗传学词汇英语术语英文(Glossary) 5
  8. python消息中间件activemq_python 发送和接收ActiveMQ消息的实例
  9. 开机bat脚本解决steam无法自动登陆
  10. 小觅相机运行ORB-SLAM3
  11. 数据结构名词解释以及简答
  12. 使用蒲公英工具箱获取设备 UDID
  13. 纪念我的小宝贝——浪浪
  14. mysql5.7错误提示ERROR 1265 (01000)的问题分析及解决方案和修改字段属性为中文
  15. 高考631能上什么好的计算机学校,2021年高考631分左右能上什么大学(100所)
  16. 分享超好用的微信和QQ缓存清理APP(无广告)
  17. python中单行或多行注释能否相互嵌套
  18. LINUX/UNIX系统中nobody用户信息
  19. 将ts视频文件转换为图片
  20. 快速进行OneHot编码——get_dummies()函数

热门文章

  1. pandas删除包含特定字符串所在的行
  2. vue echarts 中国地图实现用户分布
  3. 亿信华辰:怎样去断定一份数据的质量高低?数据质量如何评估?
  4. 【备品备件】入库流程--赠品入库,商贸入库和退库入库
  5. 又一巨头告急!曾年赚500亿,如今连房租都付不起!
  6. 2021年建筑架子工(建筑特殊工种)考试及建筑架子工(建筑特殊工种)新版试题
  7. SkyWalking 吴晟:好的开源项目,要能解决真实且有共性的问题
  8. java excel 边框颜色_poi生成excel整理(设置边框/字体/颜色/加粗/居中/)
  9. 自动生成图片及修改图片尺寸
  10. 标准正态分布+标准正态分布概率表+分布函数+积分