Specifications
Run from Initialized Memory Configuration
The reset address points to the beginning of the application in memory (no boot loader). The reset
memory must have its contents initialized before the processor comes out of reset. The initialization
might be implemented by using a non-volatile reset memory (for example, flash, ROM, initialized FPGA
RAM) or by an external master (for example, another processor) that writes the reset memory. The HAL
C run-time startup code (crt0) initializes the instruction cache, uses alt_load() to copy select sections
to their VMAs, and then jumps to _start. For each associated section (.rwdata, .rodata, .exceptions),
boolean settings control this behavior. The default Tcl scripts set these to default values as described in the
"Boot Loader-Dependent Settings" table (Table 4-10).
alt_load() must copy the .rwdata section (either to another RAM or to a reserved area in the same
RAM as the .text RAM) if .rwdata needs to be correct after multiple resets.
This boot configuration has the following characteristics:
• alt_load() called
• Code at reset in executable file
The default Tcl script chooses this configuration when the reset and .text memory are the same.
In this boot configuration, when the processor core resets, by default the .rwdata section is not reinitial‐
ized. Reinitialization would normally be done by a boot loader. However, this configuration has no boot
loader, because the software is running out of memory that is assumed to be preinitialized before startup.
If your software has a .rwdata section that must be reinitialized at processor reset, turn on the
hal.linker.enable_alt_load_copy_rwdata setting in the BSP.
Run-time Configurable Reset Configuration
The reset address points to a memory that contains code that executes before the normal reset code.
When the processor comes out of reset, it executes code in the reset memory that computes the desired
reset address and then jumps to it. This boot configuration allows a processor with a hard-wired reset
address to appear to reset to a programmable address.
This boot configuration has the following characteristics:
• alt_load() might be called (depends on boot configuration)
• No code at reset in executable file
Because the processor reset address points to an additional memory, the algorithms used by the default
Tcl script to select the appropriate boot configuration might make the wrong choice. The individual BSP
settings specified by the default Tcl script need to be explicitly controlled.
Altera-Provided Embedded Development Tools
This section lists the components of the Nios II SBT, and other development tools that Altera provides for
use with the SBT. This section does not describe detailed usage of the tools, but refers you to the most
appropriate documentation.
Nios II Software Build Tool GUIs
The Nios II EDS provides the following SBT GUIs for software development:
• The Nios II SBT for Eclipse
• The Nios II BSP Editor
• The Nios II Flash Programmer
NII5V2
2015.05.14
Run from Initialized Memory Configuration
4-41
Nios II Software Build Tools
Altera Corporation
Send Feedback