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.    
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reply via email to