如何利用FastRPC技术将负载从CPU转移至 Qualcomm® Hexagon™ DSP
发表于 2015-08-18 10:32:40

无人机、机器人和照相机有何共同点?

它们都可以在实时任务中充分利用DSP(数字信号处理器)获得更高性能。在无人机领域,这意味着飞行控制;在机器人领域,这意味着平衡和行走;在照相机领域,这意味着图像预处理和后处理。实时计算任务可从CPU迁移到DSP,朝着更高性能迈出了一大步的同时,还能大幅削减功耗。

如何使用Hexagon™ DSP(数字信号处理器)和FastRPC

在Hexagon SDK支持FastRPC技术,这是一种远程流程调用框架,允许客户端在Qualcomm® Snapdragon™处理器(APPS)和应用程序数字信号处理器(aDSP)之间轻松进行远程方法调用。目前DragonBoard 800开发板所集成的Snapdragon 8074处理器上已应用这一技术(DragonBoard 800开发板是Intrinsyc Technologies Corporation公司的产品),Snapdragon 8084和Snapdragon 8994也采用该技术。FastRPC围绕着数个特性进行设计,尽可能简化计算任务卸载:

•启动远程调用和在本地调用看起来并无两样,你通过IDL(接口描述语言)提供功能定义。

•工具自动生成接口头文件和库来处理参数传递和缓存一致性。

•对于FastRPC调入动态模块,框架为你加载aDSP(应用程序数字信号处理器)模块。

•FastRPC具备同步性。这消除了异步调用时aDSP(应用程序数字信号处理器)和APPS(Qualcomm® Snapdragon™处理器)之间内核管理状态的复杂性。

下图展示了单一方法调用,其中客户端驻留在APPS(例如,Snapdragon CPU)中,对象驻留在aDSP(例如:Hexagon)中。存根和框架为自动生成,你只需调用来自移动应用程序处理器的功能,并在aDSP中执行该功能。

在支持FastRPC的Android设备上,请按照如下步骤将你的工作卸载转移至aDSP上。

1.下载并安装Hexagon SDK。

2.在IDL(接口描述语言)中描述你工作的API(应用程序编程接口)。

3.自动生成头文件、存根和框架库。

4.在DSP(数字信号处理器)上执行API(应用程序编程接口),将其链接至框架库成为一个共享对象,然后将该共享对象推送至设备。

5.将存根链接至你的Android原生app,然后调用你的API(应用程序编程接口)。

6.(可选项)为你的API(应用程序编程接口)创建Java绑定,并从APK(Android安装包)文件中调用该API。

大功告成。

能做个一个无人机开发者套件?

并非完全如此。

但是,我们看到有开发者利用Snapdragon处理器正朝着该方向努力,Hexagon DSP也是如此。除了多媒体外,你可以用这枚DSP做很多事情,为自己努力挖潜吧。

如果你是一名无人机或机器人开发者,且正在寻求更快地执行实时任务同时兼具更低功耗,请申请获取Hexagon SDK。其中包括调用FastRPC的完整文档和代码示例。

敬请关注更多关于调用Hexagon的技巧和用例。

————————————————————————————————————————————————————————

更多Qualcomm开发内容请详见:Qualcomm开发者社区

CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
微博关注
【免责声明:CSDN本栏目发布信息,目的在于传播更多信息,丰富网络文化,稿件仅代表作者个人观点,与CSDN无关。其原创性以及文中陈述文字和文字内容未经本网证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网不做任何保证或者承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件有任何怀疑或质疑,请立即与CSDN联系,我们将迅速给您回应并做处理。】