This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: Relevant TDA4VM SOC underlying library is missing when compiling TIDL_OD demo by qnx710

Part Number: TDA4VM

Background description: We are developing APA algorithms based on tda4vm and qnx710. The parking space detection algorithm is implemented by deep learning Caffe architecture and TIDL_OD demo in PSDKRA. I am compiling the parking space detection deep learning algorithm (similar to tidl_od demo in psdkra) into an executable program with qnx710. I link the following Ti library:

  • ${PSDKRA_PATH}/tiovx/lib/J7/A72/QNX/release/*.a
  • ${PSDKRA_PATH}/vision_apps/lib/J7/A72/QNX/release/*.a
  • ${PSDKRA_PATH}/imaging/lib/J7/A72/QNX/release/*.a

Question: However, errors are reported as follows: At present, I only know that the underlying Inter-Process Communication(IPC) libraries are missing. Those libraries should be compiled using the QNX compilation toolchain to compile the codes related to the underlying communication driver of TI PSDKRA into the corresponding libraries. I want to ask, which libraries are the following functions (such as SemaphoreP_delete,SHM_alloc_aligned,Ipc_mpGetId,Ipc_Init and so on) in and what are the libraries name?

 Preliminary solution: IPC, RPM, task, hwip, semaphore, etc. have been found in ipc library and osal library. The paths are as follows:

  • Ipc* / RPM* - These would come from the ipc library,  ./psdkqa/pdk/packages/ti/drv/ipc/lib/j721e/qnx_mpu1_0/release/ipc.aa72fg
  • Task* / HwiP* / Semaphore* / Cache* come from the osal library, ./psdkqa/pdk/packages/ti/osal/lib/qnx/j721e/qnx_a72/release/ti.osal.aa72fg

I finally relied on ipc.aa72fg, ti.osal.aa72fg, sciclient.aa72fg, ti.csl.aa72fg, 30 symbols that cannot be found eventually become the following three symbols: “SHM_alloc,SHM_alloc_aligned,SHM_release. I guess when linking TI SDK libraries (vision_apps / tiovx / imaging), many libraries that are not needed for deep learning may also be linked, resulting in the need of other lower level libraries, such as *.aa72fg, and then resulting in many symbols not found.

Question:

  1. In which Ti libraries are the three symbols(“SHM_alloc,SHM_alloc_aligned,SHM_release) defined?
  2. What Ti libraries do I need to link when compiling deep learning algorithms (similar to tidl_od demo in psdkra) based PSDKRA and QNX710? Is it not necessary to link all libraries in vision_apps/tiovx/imaging folders of PSDKRA?