Forums - Accesing hexagon on hammerhead (Nexus5)

8 posts / 0 new
Last post
Accesing hexagon on hammerhead (Nexus5)
grzegorz.sygieda
Join Date: 15 Dec 13
Posts: 1
Posted: Mon, 2013-12-16 00:38

Hi there

I'm trying to run some code on DSP using my Nexus5 hardware (KitKat on msm kernel 3.4.0) based on Hexagon SDK examples.

But I think I'm missed some configuration as /dev/adsprpc-smd device is no there after boot. The ADSPRPC driver is enabled and complied in the kernel image. However, the device it's not getting probed for some reason. I put on the root file system, adsp firmware files taken from hexagon SDK, but this did not help.

Can someone give me a clue ?  Do I need some special setup (frimware ?) to get access to the hexagon dsp,  or maybe what I'm trying to achieve is not doable  at all ?

I would appreciate any commnents on that.

/BR

Grzegorz

 

 

 

  • Up0
  • Down0
ashapiro
Join Date: 30 Dec 13
Posts: 26
Posted: Mon, 2014-07-21 11:04

Hi Grzegorz,

I know it's been some time, but did you ever figure out an answer to this question? We've been developing using a DragonBoard (8074) but would like to migrate to a commercial device. We'd like to use a Nexus 5 ideally, but any commercial device will do for our initial purposes.

We have a Nexus 5 on hand but it does not appear to have a copy of libadsprpc.so, nor does it show /dev/adsprpc-smd as you mentioned. I do see /dev/ramdump_adsp, /dev/smd_sns_adsp, and /dev/subsys_adsp, however. I couldn't check if it had any adsp.b* files in /firmware/image since I can't get a root shell on the phone, which is using an unrooted production version of Android.

Does anyone know what Qualcomm's intent is here? How do they expect developers to build and deploy applications for commercial devices?

This is a blocker for us currently and any help would be much appreciated.

Thanks,

Adam

  • Up0
  • Down0
ashapiro
Join Date: 30 Dec 13
Posts: 26
Posted: Mon, 2014-07-21 11:07

One note here - I believe /dev/adsprpc-smd will only appear if you install the adsprpc.ko kernel module in /system/lib/modules (see fastrpc.html#Setup in the SDK documentation) . This file does not seem to be installed on the production Nexus 5, however. Additionally, installing kernel modules requires root access.

  • Up0
  • Down0
Kazem
Join Date: 28 Jul 14
Location: Montreal
Posts: 10
Posted: Fri, 2014-08-01 12:23

Hi Adam,

I have the same board but I don't have the FastRPC driver on it, I mean on /system/lib/modules/adsprpc.ko.

I wanted to know if you could run an application on aDSP? According to what I realized from the manual, this means that the dragonboard does not support FastRPC which strange.

 

Thanks,

  • Up0
  • Down0
ashapiro
Join Date: 30 Dec 13
Posts: 26
Posted: Fri, 2014-08-01 13:11

Yes, the DragonBoard does support FastRPC. That is what we've been developing with.

If you can't find the adsprpc.ko kernel module, try reflashing the board with the lastest working BSP version. We had issues getting FastRPC to work with BSP version 2.1, but it definitely works with version 1.2. If you have adsprpc.ko on your board, make sure you follow the steps in fastrpc.html#Setup in the Hexagon SDK documentation.

  • Up0
  • Down0
jayson.dalpe
Join Date: 1 Aug 14
Posts: 2
Posted: Fri, 2014-08-01 14:00

Hi, 

I'm working too on the Nexus 5 with a produciton build (Android L) and I don't have any package for the Hexagon.

Did someone know were to find all the .so /.ko needed?

 

  • Up0
  • Down0
ashapiro
Join Date: 30 Dec 13
Posts: 26
Posted: Fri, 2014-08-01 14:50

My understanding from speaking with some folks is that currently the DSP code must be signed by the OEM, which means that LG would have to sign your code for it to run on the Nexus 5. As a result, there aren't any COTS devices that support the aDSP yet. Qualcomm is supposedly working on a solution to this problem.

  • Up0
  • Down0
Jérôme Carretero
Join Date: 4 Aug 14
Posts: 3
Posted: Thu, 2014-08-07 14:54

Hi,

I have the same desire of using the aDSP on the Nexus 5... I'm interested by updates on this so I'm replying, but I'll also add what I have so far:
- factory reset to google images, built the latest cyanogenmod
- saw that the /dev/adsprpc-smd device file is here with this (default) configuration
- updated libadsprpc.so to use the one from the dragonboard images
- pushed the aDSP images
- ran a modified calculator_walkthrough, with the script using hexagon_ReleaseG_dynamic, which helps on DragonBoard
- gotten this:

root@hammerhead:/data # ./calculator 22 0 0 1 1000                                                                                                                                                                          

- starting calculator test
adspmsgd not supported
- allocate 4000 bytes from heapid 22 with flags 0x0
- creating sequence of numbers from 0 to 999
- compute sum on the aDSP
Error: compute on aDSP failed

So yeah, maybe that signature stuff is preventing something, but the error message is not saying exactly that.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.