Android : 高通平台的HVX简介及调试
一、HVX简介
HVX(“Hexagon矢量扩展”,Hexagon-六边形、Vector-矢量、Extensions-扩展)是Hexagon 680 DSP的典型特性,能够在执行图像处理应用中的计算负载当中发挥重要作用,比如虚拟现实、增强现实、图像处理、视频处理、计算视觉等。此前这些任务均是由CPU或GPU来执行,如今交给Hexagon 680 DSP,能够达到更加高效、功耗更低的效果。
HVX之所以这么重要是因为它能比CPU处理像素的速度更快,CPU只能在同一时间处理1个或2个像素。但有了HVX,能够在同一时间处理超过100个像素,这种并行算法结合先进的HVX指令体系,创造了一种在处理相机图片时,比CPU更加快速高效的效率及更低的功耗。根据高通数据,Hexagon 680 DSP相比于以前只有NEON优化的情况下,性能可提升1到3倍,而功耗可降低到原来的1/18到1/4。而支持HVX的Hexagon 680 DSP能够比直接通过CPU处理,达到更快的处理速度——其能够完成原本需要CPU来完成的工作,并且无需唤醒,全时间待命,更高效、效果更好。
通过集成HVX,Hexagon 680 DSP中添加了对于视频即时处理的支持,搭载骁龙820和骁龙821处理器的手机拍摄视频时,也能运用自适应增量功能,视频中过暗的部分可以自动进行增亮。当DSP察觉到画面较暗的区域,会自动将这些区域调亮,搭载Hexagon 680 DSP的骁龙820和骁龙821在处理这些内容时,处理速度相比上一代技术快3倍,而功耗却仅有此前的10%。
二、HVX调试
1.HVX签名方法
旧方法:
1、安装windows_qualcomm_hexagon_sdk_3_3_x,eclipse和mini sdk必须安装
2、D:\Qualcomm\Hexagon_SDK\3.x.x目前下执行“setup_sdk_env.cmd”
3、D:\Qualcomm\Hexagon_SDK\3.x.x\examples\compute\benchmark_v65目录下执行“python benchmark_v65_walkthrough.py -T sdm845”
4、中间点击yes
5、执行demo
新方法(推荐):
1、adb shell cat /sys/devices/soc0/serial_number,转为16进制
2、python2 D:\software\Qualcomm\Hexagon_SDK\3.4.3\tools\elfsigner\elfsigner.py -t 0xBB6AB849 (serial_number的16进制)
3、adb push output\testsig-0xbb6ab849.so (第二步生成的文件) /vendor/lib/rfsa/adsp/
注:3.4.3版本 benchmark_v65_walkthrough.py 在 \examples\common\benchmark_v65\ 目录下。
2.抓取HVX log
1) 工具路径:D:\Qualcomm\Hexagon_SDK\3.4.3\tools\debug\mini-dm\WinNT_Debug
2) mini-dm.exe --comport com4 > msg.txt(看具体接口com,从设备管理器-端口-HS_USB(com))
3) 操作手机,hvx log即保存在msg.txt文件中。