无人机、机器人和照相机有何共同点?
它们都可以在实时任务中充分利用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开发者社区
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)