AnsweredAssumed Answered

HC12: declaring large data arrays in external memory

Question asked by Daniel Rogers on Oct 12, 2006
Latest reply on Oct 31, 2006 by CrasyCat
             BatteryRAM      = NO_INIT       0x200000'G TO 0x3FFFFF'G;  // CS1
             Bat_RAM              INTO  BatteryRAM;
typedef struct
{
 unsigned char cOutExit;
 unsigned         bOutFired:1;
 unsigned char cBatchExit;
 unsigned char cLabelPoint;
 unsigned char cFruitSize;
 unsigned int    iFruitWeight;
}BED;
 
#define MAX_BED              0x03FF
#define MAX_LANES          16
 
#pragma DATA_SEG __GPAGE_SEG Bat_RAM
 char cExt_RAM[56];
 Prog_Layout Program[9];
 BED FruitBed[MAX_LANES][MAX_BED];
#pragma DATA_SEG DEFAULT
L4100: Failed to convert address 0x200000'G of FruitBed because of 'External space area (140000..3FFFFF) has no logical address'

L4100: Failed to convert address 0x200000'G of In debug info because of 'External space area (140000..3FFFFF) has no logical
address'

L4100: Failed to convert address 0x200000'G of In debug info because of 'External space area (140000..3FFFFF) has no logical
address'

That is understandable but how do I declair my arrays so as the complier recognises them.
My old compiler wasn't able to cope with paging so I did it manuallly in my code. Putting each lane on a seperate page at the same address. I are trying to get away from this.
 
Does anybody have a good surgestion.
 
Daniel

Message Edited by CrasyCat on 2007-04-13 01:24 PM

Outcomes