海思平台驱动GPU运行QT程序

1 篇文章 0 订阅

项目分解:

1.搭建环境编译海思SDK

2.编译海思平台GPU驱动

3.编写C/C++示例使用OpenGL显示

4.编译QT5.14.2源码带OpenGL

5.运行QT程序驱动GPU

1.搭建环境编译海思SDK

Ø 解压 SDK
Ø 展开 SDK 包内容;
Ø 安装海思交叉编译工具链,配置环境

  etc/profile: 

  export PATH="/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin:$PATH“

Ø 编译 osdrv

  编译成功则显示----------finish osdrv work

2.编译海思平台GPU驱动

Ø 编译 GPU 驱动;
Ø 加载 GPU 驱动依赖项:

  GPU 驱动依赖hi_osal.ko、hifb.ko,执行脚本./load3559av100_multicore -i 加载驱动

Ø 加载 GPU 驱动:

  执行脚本./loadgpui动态加载GPU 驱动  hi_dbe.komali_kbase.ko

3.编写C/C++示例使用OpenGL显示

Ø mpp /sample 编译:

  cmdmake linux

Ø 先运行 hifb 程序, 将程序放到后台

  将库文件所在路径添加到 LD_LIBRARY_PATH

  ./sample 0 0 0 

Ø 运行 GPU 程序 利用 GPU 绘制图形:

  ./es20_eglCreatePixmapSurface

  cat /proc/interrupts 可以看到GPU产生的中断

4.编译QT5.14.2源码带OpenGL

Ø 将交叉编译工具链目录做软连接:

  将目录下target/usr 链接到根目录usrln -s

  将目录下aarch64-linux-gnu链接到/usr/lib下(ln -s

Ø 拷贝 GPU 头文件和库文件:

  将海思SDKgpu/release目录下的include目录和lib目录(cp -r

  拷贝到opt/hisi-linux/x86-arm/aarch64-himix100-linux/usr目录下

Ø qmake 配置支持 mali

  QMAKE_LIBS_EGL += -lmali

  QMAKE_LIBS_OPENGL_ES2 += -lmali

  DEFINES += EGL_EGLEXT_PROTOTYPES GL_GLEXT_PROTOTYPES EGL_FBDEV EGL_API_FBDEV EGL_API_MIDGARD PLATFORM_MALI700

Ø QT 源码根目录新建脚本文件 build.sh

            #!/bin/bash

./configure -v \

-opensource -confirm-license \

-release -shared \

-make libs \

-strip \

-xplatform linux-aarch64-himix100-linux \

-prefix /opt/qt5.14.2_opengl \  //安装目录

-opengl es2 \

-eglfs \

-no-xcb \

-no-gcc-sysroot -no-pkg-config \

-nomake examples -nomake tests \

-no-ico -nomake examples \

-no-sse2 -nomake tools \

-no-iconv -no-gif \

-no-rpath -no-pch \

-no-avx \

-no-cups \

-skip qtserialbus \

-skip qtquick3d\

 

Ø 编译和安装:

  make –4

  make install

5.运行QT程序驱动GPU

Ø 配置 QC kits

  配置Qt Versions Compilers Kits

Ø 创建 QT OpenGL 工程示例;
Ø 交叉编译;

Ø 目标板挂载运行程序:

      目标板配置环境: export LD_LIBRARY_PATH= /qt5.14.2-opengl/lib/

      export QT_QPA_PLATFORM_PLUGIN_PATH=/mnt/nfs/qt5.14.2-opengl/plugins

      export QT_QPA_EGLFS_PHYSICAL_WIDTH=1920

      export QT_QPA_EGLFS_PHYSICAL_HEIGHT=1080

      ./xxx -platform eglfs

      Øcat /proc/interrupts 可以看到GPU产生的中断

      随着程序运行的时间变长,GPU产生中断的次数也在不断增加

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值