The CrossWorks C compiler separates generated code and data into sections so that they can be individually placed by the linker. It's the linker's job to combine, and make contiguous, sections of the same name from multiple object files.

You can change the sections that the compiler uses for individual data objects or functions using appropriate pragmas. The default section names used by the compiler are:

### CODE

Contains code generated for functions. You can change the default code section name using the -Rc command line option—see -Rc (Set default code section name).

### IDATA0

Contains static initialized data. You can change the default initialized data section name using the -Rd command line option—see -Rd (Set default initialised data section name).

### UDATA0

Contains static zeroed (uninitialized) data. You can change the default zeroed section name using the -Rz command line option—see -Rz (Set default zeroed data section name).

### CONST

Contains read-only constant data. You can change the default constant section name using the -Rk command line option—see -Rk (Set default read-only data section name).

### INTVEC

Contains interrupt vector tables. You can change the default interrupt vector section name using the -Rv command line option—see -Rv (Set default vector section name).