> Hi,
>
> I try to create a library in CCS 3.3 which uses DSP/BIOS. I've
> utilized a tcf bios configuration file for the library project. It
> generates all expected files ( *cfg.h, *cfg.h62, *cfg.s62, *cfg_c.c)
> and also a *cfg.cmd linker command file.
> My problem is that every project using this .lib gets a lot of
> "undefined symol" errors at linking time, because a .lib library is
> not linked but just an archive of objects.
>
> Is it possible to include/attach the DSP/BIOS objects/archives to the
> library?
>
> Best regards,
> Mike
>
I bet if you manually added the DSP/BIOS library to your project that it
would get folded into your output library. When you create a library in
CCS it just invoking the archiver as the final step rather than the
linker. I believe that normally the DSP/BIOS libraries get linked into
the code because the generated linker command file has a -l statement to
include it. So most likely adding the file to your project should cause
the archiver to include the BIOS library along with all your other
object files when it creates your output library. If not, you could
manually modify the statement being used to invoke the archiver such
that it adds the BIOS library.
Brad
Reply by Andreas Huennebeck●June 26, 20082008-06-26
Michael Matejko wrote:
> I try to create a library in CCS 3.3 which uses DSP/BIOS. I've
> utilized a tcf bios configuration file for the library project. It
> generates all expected files ( *cfg.h, *cfg.h62, *cfg.s62, *cfg_c.c)
> and also a *cfg.cmd linker command file.
> My problem is that every project using this .lib gets a lot of
> "undefined symol" errors at linking time, because a .lib library is
> not linked but just an archive of objects.
I can't help you with this but another possibility is not to create
a library but to compile all source files (both those in your current
project and those in your libraries) in one single call of the
compiler, using program level optimisation.
- The advantage is that the compiler knows the code of the library
calls and the parameters they are called with and therefore can
optimise the library code for these parameters and for the
chosen DSP.
- The disadvantage is that the build needs maximum constant
execution time.
I do this with the command line version of the TI compiler:
- step 1: put all source file names in the file file_list:
rm -f file_list
for i in $LIST_OF_C_FILES do; echo -e -O3 $i >> file_list; done
for i in $LIST_OF_CPP_FILES do; echo -e -O3 -fc $i >> file_list; done
- step 2: run the compiler
<PATH_TO_TI>/bin/cl6x -DCHIP_6415 -mv6400 -ml3 -fg -pm -o main.o -@file_list
- step 3: run the linker:
<PATH_TO_TI>/bin/lnk6x -c -x -w -priority -o main.out main.o <OTHER_LIBS> ld.cmd
bye
Andreas
--
Andreas H�nnebeck | email: acmh@gmx.de
----- privat ---- | www : http://www.huennebeck-online.de
Fax/Anrufbeantworter: 0721/151-284301
GPG-Key: http://www.huennebeck-online.de/public_keys/andreas.asc
PGP-Key: http://www.huennebeck-online.de/public_keys/pgp_andreas.asc
Reply by Michael Matejko●June 25, 20082008-06-25
Hi,
I try to create a library in CCS 3.3 which uses DSP/BIOS. I've
utilized a tcf bios configuration file for the library project. It
generates all expected files ( *cfg.h, *cfg.h62, *cfg.s62, *cfg_c.c)
and also a *cfg.cmd linker command file.
My problem is that every project using this .lib gets a lot of
"undefined symol" errors at linking time, because a .lib library is
not linked but just an archive of objects.
Is it possible to include/attach the DSP/BIOS objects/archives to the
library?
Best regards,
Mike