|
|
|
Compiler CodeWarriorRS08CC
CodeWarrior RS08 C Compiler
Settings:
(Parameters of the compiler-specific code generation and compilation.)
-
Compiler - Compiler identification (change target compiler in Project panel - Cpu local menu - Application options).
-
Unhandled int code - Code written to this property will be generated into the interrupt handler.
-
Generate macros - Generate macros to the project modules. If intention and implementation of some beans' methods allow effective representation methods as macros, these methods will be generated as macros by setting of this property to "yes". Generating methods as macros can reduce code size. Disabling macros can facilitate debugging of the application code.
-
User initialization - In this group user can specify own initialization code that will be executed after reset (see also the Reset Scenario).
-
User data declarations - In this property user can specify own data declarations. Lines from this list will be generated before function _EntryPoint located in the CPU module.
-
User code before PE initialization - In this property user can specify own initialization code. Lines from this list will be generated before any code generated by PE to the function _EntryPoint located in the CPU module.
-
User code after PE initialization - In this property user can specify own initialization code. Lines from this list will be generated between the PE initialization code and the jump to __Startup (C initialization), to the function _EntryPoint located in the CPU module.
-
Memory model - Memory model that is used by compiler.
There are 2 options:
- Small: Small memory model
- Banked: Banked memory model
-
Generate PRM file - Rewrite LINKFILE during code generation. If you would like to add some parts to the link file you should set this property to 'no'. In the first time this property should be set to 'yes' for linkfile's creation.
The following items are available only if the group is enabled (the value is "yes"):
-
Set memory areas default - Click to set default memory areas according to current CPU bean settings (memory mapping and memory model). See CPU memory map window for detail about current memory mapping and available sizes.
-
ROM/RAM Areas - List of all defined memory areas. Start address, length in bytes and type of the memory area (qualifier) must be specified for each memory area.
The definition of the Memory Areas is used to generate LINKFILE for the application. The default definition is suitable for most applications.
The definition of memory areas depends on the selected CPU type. The definition has to contain mandatory memory areas.
Mandatory memory areas
- RESERVED_RAM - type NO_INIT
This memory area is placed into the fast access RAM. By default it is placed on the beginning of the fast access RAM and its default length is 5 bytes. This memory area is necessary for the compiler to place there pseudo registers.
- TINY_RAM - type READ_WRITE
This memory area is placed into the fast access RAM. By default it is placed just after the RESERVED_RAM.
- RAM - type READ_WRITE
This memory area is placed into the directly addressed RAM area. The variables of the applications are stored in this memory area. By default it covers the whole directly addressed RAM.
- ROM - type READ_ONLY
This memory area is intended to store application code. It is placed in the largest section of the largest FLASH/ROM memory by default.
One Item of the list looks like:
Memory Area0 - Memory area group.
-
ROM/RAM Area - ROM/RAM memory section for data or code.
The following items are available only if the group is enabled (the value is "Enabled"):
-
Name - Area name
-
Address - Start address of the area. This address must be in internal or external memory (if an external bus is supported by the selected derivative). Addresses greater then 0xFFFF are considered to be a global addresses.
-
Size - Size of the area
-
Qualifier - Type of the memory area (read only, read/write, ...)
There are 4 options:
- READ_WRITE: Used for address ranges, which are initialized by the startup code at runtime. Memory area defined with this qualifier will be initialized with 0 at application startup.
Default placement: PRM file will be generated to use this area for initialized and uninitialized DATA.
- READ_ONLY: Used for address ranges, which are initialized at program load time.
Default placement: PRM file will be generated to use this area for CODE and CONSTANT DATA.
- NO_INIT: Used for address ranges, where read write accesses are allowed. Memory area defined with this qualifier will not be initialized at application startup. This may be useful if your target has a battery buffered RAM or to speedup application startup.
Default placement: This memory area is not used by default.
- PAGED: Used for address ranges, where read write accesses are allowed. Memory area defined with this qualifier will not be initialized at application startup. Additionally, the linker will not control if there is an overlap between segments defined with the PAGED qualifier. When overlapped segments are used, it is the user's responsibility to select the correct page before accessing the data allocated on a certain page.
Default placement: This memory area is not used by default.
|
|