bduimstra bduimstra

Linker Error: symbol too far way for a R_56800E_BYTE16 relocation

Discussion created by bduimstra bduimstra on Sep 21, 2007
Latest reply on Oct 8, 2007 by bduimstra bduimstra
I am using a 56f8345 micro with CodeWarrior 7.3. 

In my program I have created many byte arrays for storing screen and field data.  I specified that these arrays should reside in the program flash.  Here is an example of one such array:

__pmem const byte S_PA_LOW[] =
{
    HED,
    POS, 41, 'L','o','w',' ','L','i','m','i','t',':', DWN, END
};

This worked great early on.  After a while, however, I began receiving many linker errors similar to the following: symbol FS_PA_LOW referenced from address 0x00011830 in section .data.pmem is too far way for a R_56800E_BYTE16 relocation, which has a range of 0 to 65535 bytes.

Anyone out there have a good explanation of what is going on?  Any ideas on a solution?


Outcomes