4.6.2 Port Specific Options

Next: 4.6.3 Environment Variables Up: 4.6 The PIC16 port Previous: 4.6.1 Global Options Contents Index
Subsections

- 4.6.2.1 Code Generation Options
- 4.6.2.2 Optimization Options
- 4.6.2.3 Assembling Options
- 4.6.2.4 Linking Options
- 4.6.2.5 Debugging Options

##
4.6.2 Port Specific Options

The port specific options appear after the global options in the sdcc --help output.

### 4.6.2.1 Code Generation Options

These options influence the generated assembler code.

--pstack-model=[model]
  Used in conjunction with the command above. Defines the stack model to be used, valid stack models are:

  - [small] Selects small stack model. 8 bit stack and frame pointers. Supports 256 bytes stack size.
  - [large] Selects large stack model. 16 bit stack and frame pointers. Supports 65536 bytes stack size.
--pno-banksel
  Do not generate BANKSEL assembler directives.
--extended
  Enable extended instruction set/literal offset addressing mode. Use with care!

### 4.6.2.2 Optimization Options

--obanksel=n
  Set optimization level for inserting BANKSELs.

  - [0] no optimization
  - [1] checks previous used register and if it is the same then does not emit BANKSEL, accounts only for labels.
  - [2] tries to check the location of (even different) symbols and removes BANKSELs if they are in the same bank.
    Important: There might be problems if the linker script has data sections across bank borders!
--denable-peeps
  Force the usage of peepholes. Use with care.
--no-optimize-goto
  Do not use (conditional) BRA instead of GOTO.
--optimize-cmp
  Try to optimize some compares.
--optimize-df
  Analyze the dataflow of the generated code and improve it.

### 4.6.2.3 Assembling Options

--asm=
  Sets the full path and name of an external assembler to call.
--mplab-comp
  MPLAB compatibility option. Currently only suppresses special gpasm directives.

### 4.6.2.4 Linking Options

--link=
  Sets the full path and name of an external linker to call.
--preplace-udata-with=[kword]
  Replaces the default udata keyword for allocating unitialized data variables with [kword]. Valid keywords are: "udata_acs", "udata_shr", "udata_ovr".
--ivt-loc=n
  Place the interrupt vector table at address n. Useful for bootloaders.
--nodefaultlibs
  Do not link default libraries when linking.
--use-crt=
  Use a custom run-time module instead of the defaults.
--no-crt
  Don't link the default run-time modules

### 4.6.2.5 Debugging Options

Debugging options enable extra debugging information in the output files.

--debug-xtra
  Similar to --debug, but dumps more information.
--debug-ralloc
  Force register allocator to dump <source>.d file with debugging information. <source> is the name of the file being compiled.
--pcode-verbose
  Enable pcode debugging information in translation.
--calltree
  Dump call tree in .calltree file.
--gstack
  Trace push/pops for stack pointer overflow.

Next: 4.6.3 Environment Variables Up: 4.6 The PIC16 port Previous: 4.6.1 Global Options Contents Index