Altera Home Page
Literature Licensing
Buy On-Line Download

  Home   |   Products   |   Support   |   End Markets   |   Technology Center   |   Education & Events   |   Corporate   |   Buy On-Line  
  Devices   |   Design Software   |   Intellectual Property   |   Design Services   |   Dev. Kits/Cables   |   Literature  

 Products
      Overview
   Quartus II
      Quartus II Web Edition
   SOPC Builder
   DSP Builder
      ModelSim-Altera
   Legacy Software
  
 Device Design Flows
      FPGA
      CPLD
      Structured ASIC
  
 Switching to Quartus II
      MAX+PLUS II Users
      ASIC Users
  
 Partners
   EDA Partners
      System Level Software
  
 Ordering & Downloading
      Ordering
      Downloading
      Licensing
  

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

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

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

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:

  • Run control
  • Call stack view
  • Software breakpoints
  • Disassembly code view
  • Debug information view
  • Instruction-set simulator (ISS) target

Figure 4 shows a software breakpoint in the Nios II IDE debugger.

Figure 4. Nios II IDE Debugger Breakpoints

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:

  • Hardware breakpoints for debugging code in ROM or flash
  • Data triggers
  • Instruction trace

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

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

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

  Please Give Us Feedback