Nios II Integrated Development Environment
The Nios® II integrated development environment (IDE) is the primary software development tool for the Nios II family of embedded processors. All software development tasks can be accomplished within the Nios II IDE, including editing, building, and debugging programs. The Nios II IDE provides a consistent development platform that works for all Nios II processor systems. With a PC, an Altera® FPGA, and a JTAG download cable, you have everything needed to write programs for, and communicate with, any Nios II processor system.
The Nios II IDE provides four main functions for software development:
The Nios II IDE is based on the open, extensible Eclipse IDE project and the Eclipse C/C++ Development Tools (CDT) Project. Learn more about the Eclipse Project at www.eclipse.org.
Project Manager
The Nios II IDE provides several project management tasks that speed up the development of embedded applications.
New Project Wizard
The Nios II IDE presents a new project wizard (shown in figure 1), that automates the setup of the C/C++ application project and system library projects. With the new project wizard, setting up new projects within the Nios II IDE is a snap.
Figure 1. Nios II IDE New Project Wizard

Software Project Templates
In addition to a project set-up wizard, the Nios II IDE provides software code examples, in the form of project templates, to help you bring up working systems as quickly as possible.
Each template is a collection of software files and project settings. You can add your own source code to the project by placing the code in the project directory or by importing the files into the project. Figure 2 shows some of the available software project templates.
Figure 2. Software Project Templates

Software Components
The Nios II IDE lets you customize systems quickly using software components. Software components (also referred to as "system software") provide you with an easy way to painlessly configure your system for your specific target hardware.
Components included in the Nios II IDE:
For more information, refer to the Nios II Software Developer's Handbook and the MicroC/OS-II RTOS tutorial.
Editor and Compiler
Altera's Nios II IDE provides a full-featured source editor and C/C++ compiler.
Text Editor
The Nios II IDE text editor is a mature, full-featured source editor. Some of the features include:
-
Syntax highlighting—C/C++
-
Code assist/code completion
-
Comprehensive search facilities
-
File management
-
Extensive online help topics and tutorials
-
Import assistance
-
Quick fix, auto-corrections
-
Integrated debugging features
Figure 3 shows the Nios II IDE text editor highlighting C source code.
Figure 3. Basic Editing Provided By the Nios II IDE

C/C++ Compiler
Based on the industry-standard GNU tool chain, the Nios II IDE provides a GUI to the GCC compiler. The Nios II IDE build environment is designed to facilitate software development for Altera's Nios II processors, providing an easy-to-use push-button flow, while also allowing you to manipulate advanced build settings.
The Nios II IDE build environment automatically produces a makefile based on your specific system configuration (the SOPC Builder-generated PTF file). Changes made in the Nios II IDE compiler/linker settings are automatically reflected in this auto-generated makefile. These settings can include options for the generation of memory initialization files (MIF), flash content, simulator initialization files (DAT/HEX), and profile summary files.
More information on the Nios II IDE C/C++ compiler and build environment is available in the Altera-Provided Development Tools chapter of the Nios II Software Developer's Handbook and the Nios II IDE online help.
Debugger
The Nios II IDE contains a robust software debugger based on the GNU debugger, GDB. The debugger provides many basic debug features, as well as several advanced debug features not usually available with low-cost processor development kits.
Basic Debug
The Nios II IDE debugger contains basic debug features such as:
Figure 4 shows a software breakpoint in the Nios II IDE debugger.
Figure 4. Nios II IDE Debugger Breakpoints

Advanced Debug
In addition to the basic debug features, the Nios II IDE debugger also has several advanced debugging capabilities, such as:
The Nios II IDE debugger connects to the target hardware using a JTAG debug module. Additionally, support for off-chip trace is provided to work with third-party trace probes such as the in-target system analyzer for the Nios II processor (ISA-NIOS) from FS2.
Debug Information View
The debug information view provides you with access to local variables, registers, memory, breakpoints, and expression evaluation functions.
Figure 5 shows an example of this debug information view, showing the register display of an example application.
Figure 5. Debug Information View—Register Display

Targets
The Nios II IDE debugger can connect to several target types. Table 1 shows the available target connections within the Nios II IDE debugger.
| Table 1. Nios II IDE Debugger Targets |
| Target |
Description |
| Hardware (via JTAG) |
Connect to Altera FPGA development board, such as those available in a Nios II development kit or other Altera or partner kits. |
| Instruction-Set Simulator |
Software implementation of the Nios II instruction set architecture; used for system development before a hardware platform (for example, an FPGA circuit board) is available. |
| Hardware Logic Simulator |
Connection to ModelSim® HDL simulator; useful for systems with user-created peripherals that need verification. |
Flash Programmer
Many designs that utilize Nios II processors also incorporate flash memory on the board as a way to store an FPGA configuration and/or Nios II program data. The Nios II IDE includes a convenient method of programming this flash. Any common flash interface (CFI)-compliant flash device connected to the FPGA can be programmed using the Nios II IDE flash programmer. In addition to CFI flash, the Nios II IDE flash programmer can program any Altera serial configuration device connected to the FPGA.
The flash programmer manages several types of data, such as shown in Table 2.
| Table 2. Content Types Commonly Programmed Into Flash |
| Type of Content |
Description |
| System Firmware |
Programming software into flash allows the Nios II processor to boot from flash upon reset
|
| FPGA Configuration |
If using a configuration controller (such as that used on Nios development boards), the FPGA can be configured from flash upon power-on reset |
| Arbitrary Binary Data |
Can be any type of binary data that you wish to store into flash, such as graphics, audio, and so on |
The Nios II IDE flash programmer features an easy-to-use interface (shown in figure 6).
Figure 6. Flash Programmer Interface

The Nios II IDE flash programmer is pre-configured to work with all of the boards available with the Nios II development kits, but can be easily ported to any custom hardware. See the Nios II Flash Programmer User Guide for more information.
Related Links
|