AnsweredAssumed Answered

Why the memory mapping defined in S12G prm file is different with the global address range described in S12G datasheet?

Question asked by dongpeng hou on Apr 3, 2014
Latest reply on Apr 18, 2016 by jinpeng xiao

Hello, I have a memory mapping question about S12G chip.


I checked the generated prm file of MC9S12G128 project, it is as below, there are page 08 to page 0E, the map file is same as it, the .text is generated to PAGE_0E of 0xE8000. But the memory map defined in S12G reference manual is not same as it, the paging window is at 0x00000,0x04000, 0x08000, 0x30000, 0x34000, 0x38000, 0x3C000, 0x3FFFF, please see the attached doc. So it is confused how MCU access the address, like 0xE8000 in the .map file. Which memory mapping control register is used to map the location, PPAGE? But it defines only bit[17:14] of global address[17:0], 0xE8000 is a 19 bit address.


SEGMENTS  /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */

      RAM           = READ_WRITE    0x2000 TO   0x3FFF;

      ROM_C000      = READ_ONLY     0xC000 TO   0xFEFF;

      PAGE_08       = READ_ONLY   0x088000 TO 0x08BFFF;

      PAGE_09       = READ_ONLY   0x098000 TO 0x09BFFF;

      PAGE_0A       = READ_ONLY   0x0A8000 TO 0x0ABFFF;

      PAGE_0B       = READ_ONLY   0x0B8000 TO 0x0BBFFF;

      PAGE_0C       = READ_ONLY   0x0C8000 TO 0x0C93FF;

      PAGE_0C_A000  = READ_ONLY   0x0CA000 TO 0x0CBFFF;

      PAGE_0E       = READ_ONLY   0x0E8000 TO 0x0EBFFF;