高通Hexagon环境搭建和camera_streaming example运行方法

搭建Hexagon环境可以在windows和linux下进行,本文档以linux虚拟机环境搭建Hexagon环境说明;

首先是在Linux环境下安装QPM(Qualcomm Package Manager)工具,这个是高通工具包管理工具,搭建Hexagon环境需要的Hexagon SDK就需要从其中下载安装;

ps:按照高通官方文档,QPM工具需要在Linux 16.04或18.04上面运行,20.04版本有可能出现安装无法成功导致Linux GUI界面崩溃等一系列未知错误

1.1、首先需要安装QPM软件包的依赖,执行:

sudo apt-get update -y

sudo apt-get install -y xterm

sudo dpkg -i  multiarch-support_2.27-3ubuntu1.5_amd64.deb

sudo dpkg -i  libgnome-keyring-common_3.12.0-1build1_all.deb

sudo dpkg -i  libgnome-keyring0_3.12.0-1build1_amd64.deb

以上是安装完成QPM的软件包依赖,再执行

sudo dpkg -i  QualcommPackageManager.2.0.21.1.Linux-x86.deb

安装QPM

1.2、在安装QPM之前,需要确认python软连接是否正确,执行

python --version

查看是否有正常输出:

如果没有输出,需要更改默认的python软链接,不然QPM安装的时候会有部分模块无法安装;

查看python位置

 whereis python

删除旧的软连接

sudo rm -rf /usr/bin/python

建立新的软连接

sudo ln -s /usr/bin/python3.6 /usr/bin/python

1.3、打开QPM,进行Hexagon SDK安装

选择install进行安装

1.4、Hexagon SDK安装完成后,如果安装目录下没有addons目录(有可能addons安装不成功),可以下载链接中的文件解压到SDK根路径下;

QPM_linux_deb软件包+依赖库-Android文档类资源-CSDN文库

这样Hexagon SDK基本组件已经安装完成了,接下来将简单介绍如何运行其中的camera_streaming demo;

2.1、进入SDK根目录(下文用<HEXAGON_SDK_ROOT>代替),找到setup_sdk_env.source文件,执行:

source setup_sdk_env.source

2.2、进入到<HEXAGON_SDK_ROOT>/addons/compute/examples/camera_streaming/

可以选择执行以下编译命令:

cmake编译(四选一即可):

build_cmake hexagon BUILD=Debug DSP_ARCH=v66
build_cmake android BUILD=Debug
build_cmake hexagon BUILD=ReleaseG DSP_ARCH=v66
build_cmake android BUILD=ReleaseG

ps:平台不同,DSP_ARCH也不同,这里参考项目选择的是v66

这里选择执行了

build_cmake hexagon BUILD=Debug DSP_ARCH=v66

会生成如下文件:

<HEXAGON_SDK_ROOT>/addons/compute/examples/camera_streaming/hexagon_Debug_toolv85_v66/ship/libdsp_streamer_add_constant.so

2.3、链接qcom设备,向camxoverridesettings.txt写入HVX配置启用Camera Streaming

adb root 

adb remount 

adb shell mkdir -p /vendor/etc/camera 

adb shell "echo enableDualIFE=FALSE >> /vendor/etc/camera/camxoverridesettings.txt"

adb shell "echo enableHVXStreaming=1 >> /vendor/etc/camera/camxoverridesettings.txt"

adb reboot

2.4、更改topology xml

注意,需要确认设备vendor目录下是否存在com.qti.hvx.addconstant.so库,更改了usecase之后要重新编译chi将对应的usecase库push进设备;

2.5、对2.2编译出的libdsp_streamer_add_constant.so库进行签名处理,官方文档关于签名给出了三种解决方案,我们这里选择其中一种,用签名脚本对库本身进行签名处理

进入<HEXAGON_SDK_ROOT>/utils/scripts/,执行

./signer.py sign -i <HEXAGON_SDK_ROOT>/addons/compute/examples/camera_streaming/hexagon_Debug_toolv85_v66/ship/libdsp_streamer_add_constant.so -o out_dir

则在本目录下会生成一个out_dir,其中会生成签名过后的libdsp_streamer_add_constant.so库

2.6、执行

adb push <HEXAGON_SDK_ROOT>/utils/scripts/out_dir/libdsp_streamer_add_constant.so /vendor/lib/rfsa/dsp/sdk

adb reboot

2.7、重启之后需要打开camera应用,例如骁龙相机app等,就可以看到图像在间歇性的变为粉色;

注:<HEXAGON_SDK_ROOT>/addons/compute/docs目录下有官方文档进行具体的架构说明和示例步骤,本文部分步骤来自官方文档,仅供参考;

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值