How to run an application on the DSP from the main CPU Debian Linux?

96boards

#1

how to run an application on the DSP Hexagon from the main CPU Debian Linux?

The application (my_test) is developed on Hexagon SDK

readelf -h my_test
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2’s complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: QUALCOMM DSP6 Processor
Version: 0x1
Entry point address: 0x0
Start of program headers: 52 (bytes into file)
Start of section headers: 65484 (bytes into file)
Flags: 0x4
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 6
Size of section headers: 40 (bytes)
Number of section headers: 24
Section header string table index: 21


#2

You need an equivalent of the libadsprpc.so library found in the Android releases, this provides the means of loading your executable into the DSP and invoking method calls on it, through the FastRPC service.

There’s been some progress on this for non-Android lately, but unfortunately we do not yet support this feature.


#3

Thanks for the answer.
How can we use the DSP from Debian before the equivalent of the libadsprpc.so?


#4

I presume that “use the DSP” means “use the DSP to offload my custom algorithm” and if so the only alternative is to acquire the DSP source code from Qualcomm, integrate your feature and rebuild the DSP binaries.