Jennie:
Thank you for sticking with me on this.
The "__SEG_START__PRESTART" worked perfectly, getting me to 0xE000.
However, "__SEG_SIZE__PRESTART" only gives me the size of the Preamble section of code that exists before my own code in memory (0x84 bytes), but my own code occupies 0xAD1 bytes.
I need to essentially "add" the values of "__SEG_SIZE__PRESTART" and "__SEG_SIZE_DEFAULT_ROM" for my "length" calculation, but I can't do something like (see error line in red):
extern unsigned char __SEG_START_DEFAULT_ROM[ ];
extern unsigned char __SEG_SIZE_DEFAULT_ROM[ ];
extern unsigned char __SEG_START__PRESTART[ ];
extern unsigned char __SEG_SIZE__PRESTART[ ];
#define StartLocation __SEG_START__PRESTART
#define PrestartSize __SEG_SIZE__PRESTART
#define CodeSize __SEG_SIZE_DEFAULT_ROM
....
unsigned char *length = CodeSize+PrestartSize; //<<<< Gives several errors
unsigned char *buffer = StartLocation; //This works just fine, evaluation to 0xE000
How do I properly get the PrestartSize plus the CodeSize to represent the full amount of Flash memory that has been programmed, to be used in a statement like:
unsigned char *length = SizeOfProgrammedFlash;
???
Does "COPY" (found in your sample PRM file) somehow represent this overall value?
Bob