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.

CCS/TDA3XEVM: Three static libraries combined into one library

Part Number: TDA3XEVM

Tool/software: Code Composer Studio

Hi, 

I built three projects A,B, and C with CCS. Compile to generate three static libraries A.lib B.lib and C.lib, Put the three static libraries into the Vision SDK to compile and generate image files, There is no problem copying the image onto the SD card to run on the device. But I combine all. Obj generated by A,B,C projects into a static library ABC.lib, We put ABC.lib into the Vision SDK to compile and generate the image,  There was a problem copying the image onto the SD card to run on the device, the result was not correct!  How to solve this problem?

Thanks!

  • Hi,

    Can I know the vision SDK version?

    Are you building the vision SDK code in the CCS project or using a GNU make to build the code?

    Can I know the issue you are facing during the run time?

    If possible share the steps you followed for the creating & linking the static library in the vision SDK build

    Thanks

    Gaviraju

  • Hi,

    (1) The version of Vision_SDK I used was 3.7. Build CCS project is in win7, buid Vision_SDK is based on Linux.

    (2)
    1. Our project is to use deep learning for face recognition task, and use C66 on TDA3 for computing acceleration.

    2. Our face recognition code is divided into three parts, which we call A, B, and C. Accordingly, we set up 3 projects with CCS and put the codes in Part A, B and C respectively. We call these three projects project_A, project_B, and project_C.

    3. We used the CCS GUI to buid project_A, project_B and project_C to obtain three static libraries, A.lib B.lib C.lib respectively.

    4. In Vision_SDK 3.7, we will create a new usecase, and in this usecase we will use C66, which will call the functions in A.lib, B.lib and C.lib for face recognition.

    First we put A.lib B.lib C.lib into PROCESS_SDK_V0307\vision_SDK\ArcLibs\DSP. When we buid Vision_SDK, which will link the function in A.lib B.lib C.lib

    Next we go to the vision_SDK/buid directory, we open the command window to run make -s -j and make -s -j appimage, we will get three image files AppImage, AppImage_BE, AppImage_LE in the directory Vision_SDK\binaries\apps\tda3xx_evm_bios_all\tda3xx-evm\sbl_boot

    Finally, we copy the three image files AppImage, AppImage_BE and AppImage_LE into the SD card, and then plug the SD card into the board to run. The board will read in a face photo and be able to recognize the face position.

    5. In Win7, we used the packaging tool CCS\tools\compiler\TI-CGt-C6000_8.3.3\bin\ar6x to package all *.Obj generated by project_A, project_B and project_C into a static library ABC.lib. We repeated step 4, the only difference being that we replaced A.lib B.lib and C.lib with ABC.lib, but in the end we couldn't recognize faces.

  • Hi,

    (1) The version of Vision_SDK I used was 3.7. Build CCS project is in win7, buid Vision_SDK is based on Linux.

    (2)
    1. Our project is to use deep learning for face recognition task, and use C66 on TDA3 for computing acceleration.

    2. Our face recognition code is divided into three parts, which we call A, B, and C. Accordingly, we set up 3 projects with CCS and put the codes in Part A, B and C respectively. We call these three projects project_A, project_B, and project_C.

    3. We used the CCS GUI to buid project_A, project_B and project_C to obtain three static libraries, A.lib B.lib C.lib respectively.

    4. In Vision_SDK 3.7, we will create a new usecase, and in this usecase we will use C66, which will call the functions in A.lib, B.lib and C.lib for face recognition.

    First we put A.lib B.lib C.lib into PROCESS_SDK_V0307\vision_SDK\ArcLibs\DSP. When we buid Vision_SDK, which will link the function in A.lib B.lib C.lib

    Next we go to the vision_SDK/buid directory, we open the command window to run make -s -j and make -s -j appimage, we will get three image files AppImage, AppImage_BE, AppImage_LE in the directory Vision_SDK\binaries\apps\tda3xx_evm_bios_all\tda3xx-evm\sbl_boot

    Finally, we copy the three image files AppImage, AppImage_BE and AppImage_LE into the SD card, and then plug the SD card into the board to run. The board will read in a face photo and be able to recognize the face position.

    5. In Win7, we used the packaging tool CCS\tools\compiler\TI-CGt-C6000_8.3.3\bin\ar6x to package all *.Obj generated by project_A, project_B and project_C into a static library ABC.lib. We repeated step 4, the only difference being that we replaced A.lib B.lib and C.lib with ABC.lib, but in the end we couldn't recognize faces.

    Thanks!

  • Hi,

    After creating an individual static library (A.lib, B.lib, C.lib), Please refer to the below document for linking to vision SD

    file:vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_BuildSystem.pdf (Chapter 8 Adding new library to application)

    Thanks

    Gaviraju

  • Hi,

    I just compile and link static libraries as described in the documentation, but the problem remained.

    Thanks

  • Hi,

    Can you try with the clean build?

    Are you getting any error during run time?

    Thanks

    Gaviraju

  • Hi,

    I have tried clean, but there are still problems.

    Just the final result is wrong, nothing else is abnormal.

    Thanks

  • Hi,

    Are you getting any error during the run time?

    Thanks

    Gaviraju

  • Hi,

    No errors were found during the  run time.

    Thanks

  • Hi,

    Seems the library linking is successful & there will be an issue in the algorithm for face recogntion.

    Thanks

    Gaviraju