Hello
I have performed some additional tests here.
Basically FORCEACTIVE is good to add individual object (functions, variables) to the application.
If you wish to add all objects defined (implemented) in a file you rather use FORCEFILES.
FORCEFILES works with object files not with archives. So you have to specify all the object files inside of your library file to get them all linked.
Syntax is as follows (I took ANSIC library as a test, just replace the library name with your own library name).
FORCEFILES {C_TRK_4i_CF_MSL.a(string.o) C_TRK_4i_CF_MSL.a(s_fabs.o)}
Place that command at the end of the .lcf file (After the SECTIONS block).
In order to place whole code & constant from your library in a separate memory area, just use following notation in your .lcf file:
SECTIONS {
.boot_app :
{
C_TRK_4i_CF_MSL.a(.text)
.= ALIGN(0x8);
C_TRK_4i_CF_MSL.a(.rodata)
.= ALIGN(0x8);
} > TEXT_BOOT
.main_application :
{
*(.text)
.= ALIGN(0x8);
.....
Make sure to specify the C_TRK_4i_CF_MSL.a(.text) prior to *(.text) in the.lcf file.
I hope this helps.
Note I did all the tests with CodeWarrior for Coldfire V6.3.
CrasyCat