Skip to main content
Renesas Electronics America - Knowledgebase

What are specifications when I switched 48-Kbyte to 64-Kbyte?

Latest Updated:02/22/2008


When I switched from a 48-Kbyte ROM MCU to a 64-Kbyte ROM MCU in the R8C Series, the const variable section changed from rom_NE (rom_NO) to rom_FE (rom_FO). What are the specifications concerning this?


The compiler for the M16C series generates the best code according to the option specified for each type of MCU. The const variables section changes according to the differences of these specified options.

-R8C option:
for R8C Series with ROM < 64K bytes
-R8CE option:
for R8C Series with ROM >= 64K bytes
-R8C and -R8CE option not specified:
for M16C Series

The table below shows the section of each variable for the following declaration. When -R8C and -R8CE options are not specified, the section of each variable is the same as that of -R8CE when the option is specified.



const int i1 = 0;
const far int i2 = 0;
const near int i3 = 0;
const char c1 = 0;
const far char c2 = 0;
const near char c3 = 0;

The rom_xx section should be located in the ROM area. The location of rom_NE (rom_NO) section is limited to the ‘near’ area, and cannot be located at address 10000h or higher. There is no limitation about the location of the rom_FE (rom_FO) section.

Suitable Products
C/C++ Compiler Package for M16C Series and R8C Family [M3T-NC30WA]