Forums - Using threads from CAPIv2 (SDK 3.2)

3 posts / 0 new
Last post
Using threads from CAPIv2 (SDK 3.2)
thomas_t1
Join Date: 16 Apr 13
Posts: 2
Posted: Sun, 2017-06-04 04:26

Environment; Hexagon SDK 3.2, Toolset 8.0.10

For various reasons we need to create a background processing task in a dynamically loaded (.so) CAPIv2 multi-module/node (using inter-module communication)

Is is possible and what thread (or other) mechanism would be most appropriate? (qurt native, posix pthread, c++11 thread) What libraries would have to be linked in to achieve this?

I was unable to find CAPIv2 examples of this in the SDK.

 

Update: I've been able to build a CAPIv2 module using pthread functions, however the unit tests fail with the following error;


dlopen capi_v2_elliptic_engine.so failed undefined PLT  symbol #40 pthread_join in capi_v2_elliptic_engine.so

Is there a way to make CAPIv2 unit test framework work with pthread? (in the hexagon simulator?) And what about on-device?
 

Thanks,

Thomas

  • Up0
  • Down0
chennak
Join Date: 22 Sep 16
Posts: 78
Posted: Fri, 2017-06-09 06:23

You can use qurt_thread APIs. In SDK, you need to add qurt header files dependency in Makefile like..

INCDIRS += \

   inc \

   src \

   <C:\Qualcomm\Hexagon_SDK\3.1\libs\common\qurt\ADSPv60MP\include \>

 

  • Up0
  • Down0
thomas_t1
Join Date: 16 Apr 13
Posts: 2
Posted: Thu, 2017-06-15 14:52

Thank you for the answer, however it does not change the situation apparently; using the qurt_thread functions creates a similar issue except the unresolved symbol is now the qurt_thread functions when the unit tests are run;

dlopen capi_v2_elliptic_engine.so failed undefined PLT  symbol #4 qurt_thread_create in capi_v2_elliptic_engine.so
 

  • 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.