I am using MC9S12XEP100 in the project. There is large block of data which larger than 2k need to be stored into EEPROM. I am using paged EEPROM for the large data. Part of the .prm file and code is as below:
In the .prm file:
EEPROM_FC = READ_ONLY DATA_FAR IBCC_FAR 0xFC0800 TO 0xFC0BFF;
EEPROM_FD = READ_ONLY DATA_FAR IBCC_FAR 0xFD0800 TO 0xFD0BFF;
EEPROM_FE = READ_ONLY DATA_FAR IBCC_FAR 0xFE0800 TO 0xFE0BFF;
EVENT_LOG INTO EEPROM_FC,EEPROM_FD,EEPROM_FE;
In the source code:
#pragma DATA_SEG EVENT_LOG
static U16 Checksum_Fault_Log;
static EVENT_LOG_DATA_TYPE Event_Log;
#pragma DATA_SEG DEFAULT
I also add the command "-PSegObj" into the compiler command. Currently all the commands are: -CpuHCS12XE -Mb -D__NO_FLOAT__ -MapFLASH -D__MAP_FLASH__ -D__FAR_DATA -PSegObj
It is a large struct data more than 2k bytes. I expected the data will be allocated separately automatically into EEPROM_FC,EEPROM_FD,EEPROM_FE by compiler. But the codewarrior reported an error:
Link Error : L1102: Out of allocation space in segment EEPROM_FC at address 0xFC0802.
My question is: Is it possible to allocate a large data which beyond the size of one EEPROM page into several paged EEPROM automatically and How?
Any help would be appreciated. Thank you in advance.