Hello,
I'm trying to create a project that will allow me to make use of some fastCV functions in the Hexagon IDE. I have successfully run the cornerApp example frovided in the Hexagon SDK from command line, but have been unable to get this example running in the IDE. I have tried to create my own project which could make use of some of the fastCV functions but was getting an "undefined reference to <...>" error.
I added the fastCV library ("libfastcvadsp.a") from the folder below,
"/home/kaz/Qualcomm/Hexagon_SDK/3.2/libs/fastcv/fastcv/hexagon_ReleaseG_toolv80_v60"
This got rid of the "undefined reference" error but I got the following error instead,
/home/kaz/Qualcomm/Hexagon_SDK/3.2/tools/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: fatal error: /home/kaz/Qualcomm/Hexagon_SDK/3.2/libs/fastcv/fastcv/hexagon_ReleaseG_toolv80_v60/libfastcvadsp.a: unsupported ELF machine number 164
Has anyone been able to overcome this problem, or run fastCV functions from the Hexagon IDE?
Ideally I would like to use the IDE and carry out the fastCV function on the Hexagon aDSP instead of the CPU using fastRPC, but for the moment I am attempting to run the functions on the CPU to begin with,
Any help would be appreciated.
Cheers
It looks like you are somehow trying to link a hexagon library into an android binary. This won't work...
Okay, so would I then be right in thinking that would suggest that it's not possible to run fastCV functions on the CPU (ARM) of the Snapdragon Board?
Is it only possible to run fastCV tasks by offloading the task to the Hexagon aDSP?
Cheers
Thanks for replying again Michael,
My situation is that I would like to test a function (fcvFilterThresholdOtsuu8) on both the CPU and the DSP to provide a comparison between the two (presumably highlighting the benifits of carrying out the function on the DSP). I feel that this process should be relatively straightforward.
- Inculde the fastcv header files
- Link the project to the relevant fastCV library (since I'm usign the Snapdragon 820, I think it should be the library found in fastcv/hexagon_ReleaseG_toolv80_v60)
- Call the function in the script as you would any other function
I want to be able to work within the IDE if possible. I've managed to run other examples from the command line (cornerApp example etc.) but would like to be able to work from the IDE to write my own code. Do you know how it would be possible to correctly link to the fastCV library in the IDE so that I can make use of the functions?
Cheers
Running FastCV on CPU is a valid option, but not achievable by linking the hexagon version of the fastCV library to CPU app. FastCV has 2 different usage models:
Thanks for replying again Michael,
My situation is that I would like to test a function (fcvFilterThresholdOtsuu8) on both the CPU and the DSP to provide a comparison between the two (presumably highlighting the benifits of carrying out the function on the DSP). I feel that this process should be relatively straightforward.
- Inculde the fastcv header files
- Link the project to the relevant fastCV library (since I'm usign the Snapdragon 820, I think it should be the library found in fastcv/hexagon_ReleaseG_toolv80_v60)
- Call the function in the script as you would any other function
I want to be able to work within the IDE if possible. I've managed to run other examples from the command line (cornerApp example etc.) but would like to be able to work from the IDE to write my own code. Do you know how it would be possible to correctly link to the fastCV library in the IDE so that I can make use of the functions?
Cheers
Running FastCV on CPU is a valid option, but not achievable by linking the hexagon version of the fastCV library to CPU app. FastCV has 2 different usage models: