AnsweredAssumed Answered

Bug Report and Fix: _icplbs_table is expected to have pragma core specified

Question asked by TRON on May 3, 2010
Latest reply on May 4, 2010 by CraigG


It appears that this is a non-issue and more related to something not getting updated from VDSP 4.5 to 5.0 project conversion that was causing my problem. I was able to resolve it without using the solution below by renaming the main project and manually updating newly generated LDF and cplb files.





Apparently there is an error in the template generator for BF561 dual-core projects that use CPLBs. Specifically the cplbtab561a.c and cplbtab561b.c files. Because upon building a dual-core project the following error is generated:


cc1733: fatal: symbol _icplbs_table is expected to have pragma core specified on all definitions and declarations that are not part of a library
prelinker: error: unable to create process for IPA solver
problem opening file `C:\DOCUME~1\nmartin\LOCALS~1\Temp\acc09744cf2000\acc09744cf2001.dat'
cc3089: fatal error: Prelink failed

Tool failed with exit/exception code: 1.
Build was unsuccessful.





The fix is to add this line (CoreA specific example)



#pragma core("coreA")


under this line



#pragma file_attr("DualCoreMem=CoreA")



within the template file ldf_fragments.txt:


/*$VDSG<cplb_header_COREA> */
#include <sys/platform.h>
#include <cplbtab.h>
#pragma section("cplb_data")
#pragma file_attr("DualCoreMem=CoreA")
cplb_entry dcplbs_table[] = {
/*$VDSG<cplb_header_COREA> */



/*$VDSG<cplb_body_COREA> */
}; /* dcplbs_table */
#pragma section("cplb_data")
#pragma file_attr("DualCoreMem=CoreA")
cplb_entry icplbs_table[] = {
/*$VDSG<cplb_body_COREA> */


and same goes for CoreB parts. The next thing to do is cause the LDFgen to run which is simple as going into project options and browsing through the

Link -> General, Processor, etc... subsections and clicking OK (no changes to settings required). Then a message will report within console consisting of:



A new LDF has been generated. A backup of the previous LDF has been saved at...


Now build the project and it will link successfully.