1–2 Chapter 1: Overview of Nios II Embedded Development
Nios II Software Development Environment
Nios II Software Developer’s Handbook May 2011 Altera Corporation
Nios II Software Development Environment
The Nios II EDS provides a consistent software development environment that works
for all Nios II processor systems. With the Nios II EDS running on a host computer, an
Altera FPGA, and a JTAG download cable (such as an Altera USB-Blaster™ download
cable), you can write programs for and communicate with any Nios II processor
system. The Nios II processor’s JTAG debug module provides a single, consistent
method to connect to the processor using a JTAG download cable. Accessing the
processor is the same, regardless of whether a device implements only a Nios II
processor system, or whether the Nios II processor is embedded deeply in a complex
multiprocessor system. Therefore, you do not need to spend time manually creating
interface mechanisms for the embedded processor.
The Nios II EDS includes proprietary and open-source tools (such as the GNU C/C++
tool chain) for creating Nios II programs. The Nios II EDS automates board support
package (BSP) creation for Nios II processor-based systems, eliminating the need to
spend time manually creating BSPs. The BSP provides a C/C++ runtime
environment, insulating you from the hardware in your embedded system. Altera
BSPs contain the Altera hardware abstraction layer (HAL), an optional RTOS, and
device drivers.
Nios II EDS Development Flows
A development flow is a way of using a set of development tools together to create a
software project. The Nios II EDS provides the following development flows for
creating Nios II programs:
■ The Nios II Software Build Tools (SBT), which provides two user interfaces:
■ The Nios II SBT command line
■ The Nios II SBT for Eclipse™
■ The Nios II integrated development environment (IDE)
The two design flows share a number of development tools. However, the flows differ
in how they create makefiles. The development flows are not interchangeable. Source
code for your applications, libraries, and drivers works in either flow, but the
makefiles in the two flows are different and not compatible.
The Nios II SBT Development Flow
The Nios II SBT allows you to create Nios II software projects, with detailed control
over the software build process. The same Nios II SBT utilities, scripts and Tcl
commands are available from both the command line and the Nios II SBT for Eclipse
graphical user interface (GUI).
The SBT allows you to create and manage single-threaded programs as well as
complex applications based on an RTOS and middleware libraries available from
Altera and third-party vendors.
The SBT provides powerful Tcl scripting capabilities. In a Tcl script, you can query
project settings, specify project settings conditionally, and incorporate the software
project creation process in a scripted software development flow. Tcl scripting is
supported both in Eclipse and at the command line.