File size: 3,868 Bytes
6c7b14a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Ticket Name: TDA2SX: Link VLIB in visionSDK

Query Text:
Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi, Where can I include VLib Libraries (common.lib, vlib.lib, vlib_cn.lib) to build on visionSDK2.10? I would like to to know which setting file to set these libraries. If I use VLib functions on frameCopyAlgoLocalDma.c, the build has link errors as follows: # Linking into C:/VisionSDK/VISION_SDK_02_10_00_00/vision_sdk/binaries/vision_sd k/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66... warning: creating output section ".sram_start" without a SECTIONS specification undefined first referenced symbol in file --------- ---------------- _sram_start C:\VisionSDK\VISION_SDK_02_10_00_00\ti_components\algorithms_codecs \vlib_c66x_3_3_0_3\packages\ti\vlib\lib\common.ae66<VLIB_memory.oe66> error: unresolved symbols remain error: errors encountered during linking; "C:/VisionSDK/VISION_SDK_02_10_00_00/vision_sdk/binaries/vision_sdk/bin/tda2 xx-evm/vision_sdk_c66xdsp_1_release.xe66" not built gmake[6]: *** [C:/VisionSDK/VISION_SDK_02_10_00_00/vision_sdk/binaries/vision_sd k/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66] Error 1 gmake[5]: *** [c66xdsp_1] Error 2 gmake[4]: *** [apps_dsp1] Error 2 gmake[3]: *** [apps] Error 2 gmake[2]: *** [apps] Error 2 gmake[1]: *** [vision_sdk_apps] Error 2 gmake: *** [vision_sdk] Error 2 Thanks, Kenshow

Responses:
Hi, Kenshow, Your question has been forwarded to VSDK experts with a copy to VLIB expert. They will commnet directly here. Regards, Mariya

Hi you can list these libs in either \vision_sdk\build\makerules\rules_66.mk (if its some kernel libs) or \vision_sdk\examples\MAKEFILE.MK (if they are application specific libs) regards, Shiju

Hi Shiju, The default file of makerules_66.mk has already set the lib path. Also, should I add the path in \vision_sdk\examples\MAKEFILE.MK ? [vision_sdk\build\makerules\rules_66.mk] (Line-223): LIB_PATHS += $(vlib_PATH)/packages/ti/vlib/lib/vlib.ae66 (Line-224): LIB_PATHS += $(vlib_PATH)/packages/ti/vlib/lib/vlib_cn.ae66 (Line-225): LIB_PATHS += $(vlib_PATH)/packages/ti/vlib/lib/common.lib In this case, I just added vlib function into a file, C:\VISION_SDK_02_10_00_00\vision_sdk\examples\tda2xx\src\alg_plugins\framecopy\frameCopyAlgoLocalDma.c Should I set the lib path any more? and which file? Regards, Kenshow

Kenshow no, you do not need to add this in any other files. One more thing is, include the VLIB header file that defines these functions in framecopy\frameCopyAlgoLocalDma.c regards, Shiju

Hi Shiji, I had already defined the header. And, it seems link error. my AlgoLocalDma.c file is follows: --------------------------- : : #include <ti/vlib/src/common/VLIB_test.h> #include <ti/vlib/src/common/VLIB_memory.h> #include <ti/vlib/src/common/VLIB_profile.h> Int32 Alg_FrameCopyProcess(Alg_FrameCopy_Obj *algHandle, UInt32 *inPtr[], UInt32 *outPtr[], UInt32 width, UInt32 height, UInt32 inPitch[], UInt32 outPitch[], UInt32 dataFormat, Uint32 copyMode ) { Int32 rowIdx; Int32 colIdx; UInt32 *inputPtr; UInt32 *outputPtr; UInt32 numPlanes; UInt32 wordWidth; UInt32 lineSizeInBytes; UInt32 opt; uint16_t tccStatus; Alg_FrameCopyDma_Obj * pAlgHandle; pAlgHandle = (Alg_FrameCopyDma_Obj *)algHandle; // TEST VLIB LINK VLIB_cache_init(); : : --------------------------- Regards, Kenshow

The common.lib is intended to test VLIB in stand-alone, bare metal DSP environment. When you integrate VLIB into an application in VSDK, you don't need common.lib or the functions associated with them. For example, VLIB_cache_init() shouldn't be used if the VSDK has already initialized the cache, and VLIB_malloc() should not be used as this is just the testbench way of allocating memory. In your example above, you probably don't need VLIB_cache_init() or the 3 common header files you included. Is there some reason you feel that you need these?