GNUC
 
Compiler GNUC
GNU 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).
  • Settings only if interrupts are not set using InterruptController component
    • Unhandled vectors - This property allows you to specify generation of ISR for interrupts unused by Processor expert beans.
      Value 'One handler for all' will generate one ISR for all interrupts not used by PE beans and value 'Own handler for every' allows you to have one ISR for each unused interrupt.
      There are 2 modes:
  • Settings available only if MCU doesn't support static initialization code.
    • User initialization - In this group user can specify own initialization code that will be executed after reset.
      • 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.
  • Generate debugger files - Generates debugger files for CodeWarrior to the directory {Project}\cfg.
    The following items are available only if the group is enabled (the value is "yes"):
    • Generate mem file - Generates debugger config file ("TargetName".mem) to the directory {Project}\Project_Settings\Debugger.
  • Settings supported for Freescale Kinetis and Vybrid derivatives only.
    • Settings only if CPU does not have SDK support.
      • Startup - Startup setting
        • Add startup file - When enabled, Processor Expert will add a default startup file to the project. This startupfile shall be used when there is no startup routine available in libraries or provided by user. This startup file may be later modified by user.
  • Generate linker file - Rewrite LCF file 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"):
    • Stack size - Minimal size of the system stack.
    • Heap size - Heap size.
    • Set memory segments to default - Click to set default memory segments 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.
    • Default memory for interrupts - Default memory location for interrupts. This value is used by property Set memory segments to default only.
    • Default memory for code - Default memory location for code. This value is used by property Set memory segments to default only.
    • Default memory for data - Default memory location for data. This value is used by property Set memory segments to default only.
    • ROM/RAM Areas - List of available memory areas. For each memory area you must specify: Name, Qualifier, Address and Size.
      The following memory areas have to be defined:
      • m_interrupts - area containig the interrupt vector table
      • m_text - area to store the program code
      • m_data - area to store the program data
      If any of the required memory areas is missing an error will be reported. To fix this error, use either Set memory segments to default option or add the memory area manually.
      One Item of the list looks like:
      MemoryArea0 - Memory area group. This property can be collapsed or ellapsed.
      • 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 - Memory area name used as an identifier in the linker command file's placement section.
        • Qualifier - This property specifies where this memory section will be allocated.
          R,RW - Data memory
          RX,RWX - Program memory
        • 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).
        • Size - Size of the area
  • The following items are visible only in Processor Expert Stand-Alone.
    • PE compiler/linker support - This property group contains setting of the selected compiler and linker.
      • Tool directory - CodeWarrior compiler directory, default value is C:\CodeWarrior for ColdFire Vx.x User should specify directory where the CodeWarrior Code Warrior is installed. The Processor Expert assumes that the compiler and linker are stored in the "prog" subdirectory. Path into prog directory is generated into the makefile by Processor Expert automatically. This is an item with global item value. If you set it once and PE remembers the value it will be used also in the future.
      • Generate MAKEFILE - Rewrite MAKEFILE during code generation.
      • Compiler - Directives for the CodeWarrior C compiler.
      • Linker - Directives for the CodeWarrior linker.
        • Generate a map file - Controls whether the linker generates a link map file.
          The following items are available only if the group is enabled (the value is "yes"):
          • List closure - Controls whether the linker includes symbol closure in the link map file.
          • List unused objects - Controls whether the linker includes unused objects in the link map file.
          • List DWARF objects - Controls whether the linker includes DWARF objects in the link map file.
        • Generate S-record - Controls whether the linker generates S-record file.
          The following items are available only if the group is enabled (the value is "yes"):
          • Sort S-record - Sort S-record by ascending address order when enabled.
          • Max length - Specifies the maximum length of the S-record generated by the linker.
          • EOL character - Defines end-of-line character for the S-record.
        • Other linker parameters - Other linker command line parameters.
  • The following items are visible only:
    - in Processor Expert Stand-Alone,
    - or in Processor Expert CodeWarrior plugin.
    • System paths - Additional compiler system paths.
      One Item of the list looks like:
      SystemPath0 -
      • Path -
      • Included - If Yes selected, PE adds path to makefile/project, if No, PE removes this path, if already added. Delete the whole item if no change is expected from PE.
      • Type - If User relative used, Group ID must be selected and corresponding User Directory added.
      • Group ID - Can be used for maintenance. It's possible to get or remove all paths with same ID.
    • User paths - Additional compiler user paths.
      One Item of the list looks like:
      UserPath0 -
      • Path -
      • Included - If Yes selected, PE adds path to makefile/project, if No, PE removes this path, if already added. Delete the whole item if no change is expected from PE.
      • Type - If User relative used, Group ID must be selected and corresponding User Directory added.
      • Group ID - Can be used for maintenance. It's possible to get or remove all paths with same ID.
    • Libraries - Additional compiler libraries.
      One Item of the list looks like:
      Library0 -
      • Included - If Yes selected, PE adds library to makefile/project, if No, PE removes this library, if already added. Delete the whole item if no change is expected from PE.
      • File name -
      • Search path -
      • Type - If User relative used, Group ID must be selected and corresponding User Directory added.
      • Group ID - Can be used for maintenance. It's possible to get or remove all paths with same ID.
    • User directories - Additional user directories.
      One Item of the list looks like:
      UserDirectory0 -
      • Path -
      • Group ID - Can be used for maintenance. It's possible to get or remove all paths with same ID.