Hi, M16C has 20 bit physical address bus, but the address registers are only 16 bit. It has a 16 bit data pointer. ROM memory region starts at memory location "0x000A0000" (i.e. 20 bit address). As the pointer size for GCC M16C is two bytes, it fails to access the memory region that is greater than 16 bits.
So there is problem while accessing the "const" data and hard-coded strings which by default get placed in section ".rodata" section. Currently the complete ".rodata" section is copied from load address (ROM) to RAM, that is by treating it similar to ".data" section. We went through the discussion in the following link and realized that there should not be 2 pointers for the same data type as of now. http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01129.html Can the size of data pointer be increased to 20 bit? If yes, please guide me in implementing the same. Regards, Naveen.H.S. KPIT Cummins Infosystems Ltd, Pune (INDIA) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Free download of GNU based tool-chains for Renesas' SH, H8, R8C, M16C and M32C Series. The following site also offers free technical support to its users. Visit http://www.kpitgnutools.com for details. Latest versions of KPIT GNU tools were released on February 6, 2007. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~