Hi!
A stupid question i suppose....
This is my Prm file:
NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */
SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */
Z_RAM = READ_WRITE 0x0080 TO 0x00FF;
RAM = READ_WRITE 0x0100 TO 0x107F;
/* unbanked FLASH ROM */
ROM = READ_ONLY 0x2080 TO 0x7FFF;
ROM1 = READ_ONLY 0xC000 TO 0xFFAD;
/* INTVECTS = READ_ONLY 0xFFC0 TO 0xFFFF; Reserved for Interrupt Vectors */
/* banked FLASH ROM */
PPAGE_0 = READ_ONLY 0x008000 TO 0x00A07F; /* PAGE partially contained in ROM segment */
PPAGE_2 = READ_ONLY 0x028000 TO 0x02BFFF;
PPAGE_1 = READ_ONLY 0x018000 TO 0x01BFFF; //PAGE already contained in segment at 0x4000-0x7FFF */
PPAGE_3 = READ_ONLY 0x038000 TO 0x03BFFF; //PAGE already contained in segment at 0xC000-0xFFFF */
END
PLACEMENT /* Here all predefined and user segments are placed into the SEGMENTS defined above. */
DEFAULT_RAM /* non-zero page variables */
INTO RAM;
_PRESTART, /* startup code */
STARTUP, /* startup data structures */
ROM_VAR, /* constant variables */
STRINGS, /* string literals */
VIRTUAL_TABLE_SEGMENT, /* C++ virtual table segment */
NON_BANKED, /* runtime routines which must not be banked */
COPY /* copy down information: how to initialize variables */
INTO ROM; /* ,ROM1: To use "ROM1" as well, pass the option -OnB=b to the compiler */
DEFAULT_ROM, PAGED_ROM /* routines which can be banked */
INTO PPAGE_0,PPAGE_1,PPAGE_2,PPAGE_3,ROM1;
_DATA_ZEROPAGE, /* zero page variables */
MY_ZEROPAGE INTO Z_RAM;
END
STACKSIZE 0xC0
What i don't understand is...can i use PPage1 and PPagge3 in placement section? This comment confuse me...//PAGE already contained in segment at 0x4000-0x7FFF it seems that they refers to the same memory locations of ROM sections.
My code now is quite big about 50 Kb and when I use BDM to download code during the memory check in Hi Wave i receive error 51. But if I use PPAGE1 and PPAge3 everything is fine.
Can i use this line in PRM:
DEFAULT_ROM, PAGED_ROM /* routines which can be banked */
INTO PPAGE_0,PPAGE_1,PPAGE_2,PPAGE_3,ROM1;
or is making some troubles???
thanks