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.

Compiler/C2000-CGT: RTS2800_*.lib static linkage

Part Number: C2000-CGT

Tool/software: TI C/C++ Compiler

Hello TI-Support-Team,

I wanted to know, if the rts28000_*.lib is linked statically. I looked in the map file and find at least the objects in the lib:

    C:\...\lib\rts2800_fpu32_eabi.lib
e_sqrt.c.obj 222 12 0
fd_add28.asm.obj 156 0 0
fd_mpy28.asm.obj 131 0 0
copy_decompress_lzss.c.obj 49 0 0
exit.c.obj 41 0 6
autoinit.c.obj 43 0 0
fd_cmp28.asm.obj 42 0 0
fd_tofsfpu32.asm.obj 35 0 0
memcpy.c.obj 29 0 0
fs_tofdfpu32.asm.obj 28 0 0
boot28.asm.obj 23 0 0
fd_sub28.asm.obj 14 0 0
_lock.c.obj 9 0 4
args_main.c.obj 12 0 0
copy_decompress_none.c.obj 8 0 0
pre_init.c.obj 2 0 0
errno.c.obj 0 0 1
startup.c.obj 1 0 0

+--+-----------------------------+------+---------+---------+

Total: 845 12 11

Stack: 0 0 512
Linker Generated: 0 33 0
+--+-----------------------------+------+---------+---------+
Grand Total: 5182 244 623

Now I need to know all *.c and *.h files being used to build the library and the objects being used in order to list the licenses and 

all files compiled on our unit. If the lib is statically linkend, ist there a list with all this files? If not is there a better way to proceed then checking every single

.obj file for all source and headers it is build with? 

I have all licenses listed in: C2000_RTS_20_2_0_LTS_746e4297-a045-4d34-8d81-c478b8888265.spdx, but this is for all files in the dics. Is there a 

general way to proceed if I just take the standard build? If i got the manifest of the c2000 compiler right, there is no

wrapped license for the rts*.libs:

" (1) Information on the copyrights and licenses for each RTS file are provided in C2000_RTS_20_2_0_LTS_746e4297-a045-4d34-8d81-c478b8888265.spdx "

Thanks in advance.

Jan

  • I do not have a clear understanding of the information you want.  Just for now, focus on just one file, memcpy.c.obj.  Pretend you have all the information you want about this file.  Feel free to fill in missing information with just anything.  Please show all this information, in a format you find convenient.

    Thanks and regards,

    -George

  • Hello George,

    I need to list all libs, headers and c files used for building our target software. Since we include the rts2800_fpu_eabi.lib , and there is no single license for that library I need to go one level down and see all c and h files being used for building this particular lib.

    One object is coming from memcpy.c. So inspect the license:

    FileName: ./src/memcpy.c
    FileChecksum: SHA1: e4d1c687e9e21094200577cbeed3fd09e7c681d4
    LicenseConcluded: NOASSERTION
    LicenseInfoInFile: BSD-3-Clause
    FileCopyrightText: <text>Copyright (c) 1993 Texas Instruments Incorporated

    So in our cots selection dossier I will list:  

    memcpy.c License: BSD-3-Clause

    memcpy.c includes string.h so: 

    So in our cots selection dossier I will list:  

    memcpy.c License: BSD-3-Clause

    string.h License: BSD-3-Clause

    But string.h includes several files, so I have to check them. This would mean a lot of work, so what I would like to have is a list of all files uesd to build my particular rtslib (if that exists) or a wrapped license for that lib. 

    A wrapped license would be perfect, maybe you have a better suggestion how to solve that particular issue.

    And if there is no wrapped license, how is the best way to proceed to get an overview about all h-files and source-files, in order to collect al licenses?

    I hope I could explain my problem to you.

    I rebuild my project and played a little bit arround and now I got just 10 object files coming from C:\...\lib\rts2800_fpu32_eabi.lib, which acutally would make it hard for you to provide sth like a wrapped license.

    Thanks in advance.

    Best Regards

    Jan

  • The assembly files only include one file named fd_util28.inc.  It includes no other files.  Add that file to your list, and you are done with the assembly files.

    As for the C files ... I'll show you how to do the analysis for two of the files.  Extending that method to the rest of the files is straightforward.

    Run the compiler from the command line.  I presume the compiler is in the executables path.  Go to the directory which contains the compiler RTS source code.  The location is similar to ...

    C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\lib\src

    Run a command similar to ...

    % cl2000 --include_path=C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include --preproc_includes --pp_directory=C:\path\to\some\dir e_sqrt.c exit.c

    Please search the C28x compiler manual for all of those options.  In this case, no files are written to the RTS source code directory.  Two preprocessed files named e_sqrt.pp and exit.pp are written to the directory \path\to\some\dir.  Here is the contents of exit.pp.

    C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\stdlib.h
     C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\_ti_config.h
      C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\linkage.h
     C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\_ti_config.h
     C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\stdlibf.h
     C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\sys/cdefs.h
      C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\_ti_config.h
    C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\_lock.h
     C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\_ti_config.h
    C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\pprof.h
     C:\ti\ccs1011\ccs\tools\compiler\ti-cgt-c2000_20.2.1.LTS\include\_ti_config.h

    This shows all of the files included, directly and through other include files, by exit.c.  Note how file names are repeated.  The contents of e_sqrt.pp are similar.

    By running a (pick one: Perl, Python, Ruby, etc.) script over these .pp files, you can develop the list of files included by these RTS source files.

    Then for all of those files, collect the licensing information from the .spdx file.

    I'm sorry this is not more convenient.

    Thanks and regards,

    -George

  • Thanks for the fast reply.