Hi,
I am compiling a code with two IPA options which are File and Program options. The first option compiles with no error or warning for FLASH but the second option that is Program, generates 2 warnings for FLASH compile as follwos:
//-----------------------
FORCEACTIVE symbol 'bam_rchw' is either not a global symbol or doesn't exist. Ignored.
FORCEACTIVE symbol 'bam_resetvector' is either not a global symbol or doesn't exist. Ignored.
//-----------------------
These situation prevents the code to run as an stand alone entity!? ( It runs with debugger in control!) is there any way to fix this probelm?
I am running CW IDE 2.7 Professional on windows 7
Thanks;
Hello Geek19,
I'd suggest you to change the bam_rchw and bam_resetvector declaration in MPC55xx_init.c file. Please try to add
__attribute__((force_export)) prior to declaration and rebuild. This should avoid deadstripping of these two symbols due to IPA Program optimization.
/**************************************************************/
/* RCHW and Reset Vector setup: */
/* The chip is by default setup to boot from internal Flash */
/* and the watchdog is disabled. */
typedef void (*resetfuncptr)(void);
#pragma push /* Save the current state */
#pragma section const_type sconst_type ".__bam_bootarea"
__attribute__((force_export)) extern const unsigned long bam_rchw;
__attribute__((force_export)) extern const resetfuncptr bam_resetvector;
Anyway the FORCEACTIVE keyword in .lcf should do the same so I'm going to log a Linker defect into our defect tracking database.
Stanish