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.

  • Resolved

[FAQ] PROCESSOR-SDK-DRA8X-TDA4X: Error with new node in OpenVX

Intellectual 2445 points

Replies: 1

Views: 140

Part Number: PROCESSOR-SDK-DRA8X-TDA4X

When I try to create a new node in OpenVX, I get the following error message.  How do I fix this issue?

"tivxTargetKernelInstanceAlloc: kernel <kernel name> has not been registered on this CPU"

  • Each kernel is OpenVX is a part of a "kernel module".  Each kernel module must be loaded on the host CPU side as well as the target CPU which this kernel is executed on.  The reason for loading each kernel module on both host and target CPU's is that each kernel requires both host and target CPU callbacks to be registered with the framework.

    This particular issue is due to the kernel module not being loaded on the target CPU.  Therefore, the kernel module register target callbacks function must be called during init time of the target core.  This API will most likely be called tivxRegister<Target Kernel Name>Kernels. 

    For example, the sample surround view kernels within vision apps are contained within the surround view kernel module.  This kernel module contains target kernels which are executed on both the C66 and A72 cores.  Therefore, the target kernels must be registered on both the C66 and A72 cores during init time for each of these cores.  In order to do so, the tivxRegisterSrvTargetC66Kernels function is called at init time of the C66 core and the tivxRegisterSrvTargetGpuKernels is called at init time of the A72 core.

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.