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/TMDSEVM6678: How to enable the use of shared files

Part Number: TMDSEVM6678
Other Parts Discussed in Thread: TMS320C6678

Tool/software: Code Composer Studio

Hello everyone,

Sorry for the rudimentary question, what are the steps to enable the shared library (.so) to be used?

I would like to be able to use the .so file in "/ usr / lib" to use Analog I/O Board, but I don't know how to configure it for use with ccs.

Do you have a manual or something like that?

Thank you for your help!

  • I am assuming that you want to link this library into your project for one of the C66x DSP cores on C6678.  You can add a library to a CCS project in the project properties.  Look for File Search path under the linker.  The screen capture below is for our Arm toolchain but it will look very similar for C66x.

    However I need to ask is this .so library build for C66x DSPs or is this some Linux library compiled for a different architecture?  If it is not a library that was compiled for C66x you will not be able to link it into a C66x application.

    Regards,

    John

  • Hello,

    I tried to follow the procedure, but I got the following error: #10178 attempt to link an object file that is not built for TI C6x

    So I found out that this does not work for C66x applications.

    additional question is: Are there any alternatives to enable the Analog I/O Board in CCS?

  • Based on .so filename that is what I expected.  To link a library into a C6x application it needs to be a library built for C6x.

    What Analog I/O board are you referring to?  Is this something from TI?  Is this from another company?  I will need to know a little more about it if I am going to be able to point you in the right direction.

    Regards,

    John

  • user6375728 said:
    Sorry for the rudimentary question, what are the steps to enable the shared library (.so) to be used?

    There is section 3.3.13 Dynamic Linking in the TMS320C6000 Optimizing Compiler v8.3.x User's Guide which contains:

    The Code Generation Tools (CGT) support dynamic linking. For details on dynamic linking, see the TMS320C6000 Assembly Language Tools User's Guide and http://processors.wiki.ti.com/index.php/C6000_Dynamic_Linking.

    The referenced Wiki page was changed in February 2019 to state:

    Dynamic linking is no longer supported. Please do not use it in new projects. This article remains here only for customers who use it in existing projects.

  • The analog I/O board is not from TI, but from another company.
    I use a product called AIO-163202F-PE from a CONTEC company.

  • user6375728 said:
    I use a product called AIO-163202F-PE from a CONTEC company.

    CONTEC only provide software for Linux (x86_64 / i686)  or Windows. Presumably the .so file you were trying to link was the user space library, and there is also a Linux Kernel driver for the AIO-163202F-PE.

    Where you planning on running Linux on the TMS320C6678?

    According to Linux/TMS320C6678: Can I run LINUX on the TMS320C6678? there was some Linux support for C6000 but it was a very old Kernel. 

    To interface with the AIO-163202F-PE from a TMS320C6678 running SYS/BIOS or a bare-metal application you will have to write software to communicate with over PCIe.

  • Thank you for the reply.
    You mentioned that I need to create software to communicate via PCIe, but from what I've researched, it's difficult for me to create one.
    Is it correct that TI's analog I/O board has a product with a library built for the C6x?
    If you have a library, is there an analog I/O board you would recommend?

  • user6375728 said:
    Is it correct that TI's analog I/O board has a product with a library built for the C6x?

    Which TI analog I/O board are you referring to?

  • This is about the entire analog I / O board that TI deals with.
    I didn't know which products have libraries built for the C6x.

  • As this thread is getting beyond development tools I am going to loop in the DSP team.  Maybe they have some recommendations on interface boards that are compatible with C6678.  Note that you will likely have to tell them what you want the interface board to do as TI has 10s of thousands of analog products.

    John

  • The flow of what we want to do is to apply a voltage, measure the change, and then calculate the next input to be applied using a DSP.
    The resolution is 16 bits and the input/output range is ±10 V. The number of analog input channels is 2.
    The number of analog input channels is 2 and the number of analog output channels is 1.
    Thank you for your cooperation.

    Postscript:
    I checked and found that analog I/O boards are not sold by TI.
    It doesn't matter if the ADC and DAC are separate products,Is there any product that can be used for c6678?

  • The flow of what we want to do is to apply a voltage, measure the change, and then calculate the next input to be applied using a DSP.
    The resolution is 16 bits and the input/output range is ±10 V. The number of analog input channels is 2.
    The number of analog input channels is 2 and the number of analog output channels is 1.
    Thank you for your cooperation.

    Postscript:
    I checked and found that analog I/O boards are not sold by TI.
    It doesn't matter if the ADC and DAC are separate products,Is there any product that can be used for c6678?

  • Hi 
    I am not aware of aware of any readily available hardware or software from TI to get you started with ADCs with 6678. 

    Regards

    Mukul