User guide
GUI Reference
Support C++ —When on, the compiler includes code to support C++ applications in
the system library. Turn this option off to reduce memory footprint for programs that
do not use C++.
Lightweight device driver API—When on, the compiler omits code to support file
descriptors in the system library. Turn this option off to reduce memory footprint when
your programs access device drivers directly. When off, only a very minimal set of
stdio services are available, including puts(), printf(), getc(), and gets().
Link with profiling library —When on, the build system links in a profiling library to
collect information about which functions call other functions and the amount of time
spent in each function. Refer to Related Topics for more information about profiling.
Unimplemented instruction handler—When on, the linker includes exception
handler code to emulate unimplemented instructions in software. Normally this isn't
required because the compiler won't use instructions (such as hardware multiply and
divide) that you have not included in your Nios II system. Refer to Related Topics
for
more information about unimplemented instructions. This option increases memory
footprint.
Clean exit (flush buffers) —When on, the system library calls exit() upon
returning from main(), which flushes I/O buffers and then calls _exit(). When off,
the system library calls only _exit(). This option increases memory footprint, and is
often undesirable for embedded programs that never return from main().
Reduced device drivers —When on, the compiler includes the reduced version of
device drivers for all devices that provide small drivers. This reduces memory footprint
at the expense of functionality. For devices with reduced drivers, the documentation
associated with each peripheral provides more information.
Small C library— When on, the system library uses a reduced implementation of the
Newlib ANSI C standard library. Notably, the printf() family of routines (printf(),
fprintf(), sprintf(), etc.) will not support floating-point values. The reduced library
is optimized for smaller memory footprint, although the implementation might be less
time efficient.
ModelSim only, no hardware support —Turning on this feature allows the program
to take short-cuts for faster ModelSim simulation
. For example, in hardware
simulation, memories are pre-initialized with data, making it unnecessary to load RAM
contents from non-volatile storage. This saves millions of simulated processor cycles,
and saves considerable time in hardware simulation iterations.
When off, code runs properly on hardware. Turning off this feature also allows you to
simulate true hardware behavior, such as booting from flash.
Important: Only turn on this option if you are simulating a Nios II system on the
ModelSim RTL simulator. When on, your program will not run in hardware.
Run time stack checking—This option is only available when using the HAL runtime
environment. When on, the compiler inserts a test for stack overflow upon function
entry and when allocating memory on the stack. If an allocation results in the stack
pointer exceeding the stack limit then a break instruction executes. Enabling this
option is equivalent to supplying the -mstack-check option to nios2-elf-gcc on the
command line.
Software Components...—Opens a page listing available software components that
can be built into the software library. See the following documentation for information
on these Altera-provided software components:
o Host Based File System
o NicheStack® TCP/IP Stack - Nios II Edition
o Zip Read-Only File System
123