Embedded Design Handbook

ID 683689
Date 8/28/2023
Public
Document Table of Contents

4.2.1.1.1. Nios® II Tools Overview

The Nios® II EDS provides the following tools for software development:

  • GNU toolchain: GCC-based compiler with the GNU binary utilities
    Note: For an overview of these and other Intel-provided utilities, refer to the " Nios® II Command-Line Tools" chapter of this handbook.
  • Nios® II processor-specific port of the newlib C library
  • Hardware abstraction layer (HAL)

    The HAL provides a simple device driver interface for programs to communicate with the underlying hardware. It provides many useful features such as a POSIX-like application program interface (API) and a virtual-device file system.

    For more information about the Intel HAL, refer to The Hardware Abstraction Layer section of the Nios® II Gen2 Software Developer’s Handbook.

  • Nios® II SBT

    The Nios® II SBT development flow is a scriptable development flow. It includes the following user interfaces:

    • The Nios® II SBT for Eclipse—a GUI that supports creating, modifying, building, running, and debugging Nios® II programs. It is based on the Eclipse open development platform and Eclipse C/C++ development toolkit (CDT) plug-ins.
    • The Nios® II SBT command-line interface—From this interface, you can execute SBT command utilities, and use scripts (or other tools) to combine the command utilities in many useful ways.

      For more information about the Nios® II SBT flow, refer to the Developing Nios® II Software chapter of this handbook.

Figure 31.  Nios® II Software Development Flows: Developing Software

Intel recommends that you view and begin your design with one of the available software examples that are installed with the Nios® II EDS. From simple “Hello, World” programs to networking and RTOS-based software, these examples provide good reference points and starting points for your own software development projects. The Hello World Small example program illustrates how to reduce your code size without losing all of the conveniences of the HAL.

Note: Intel recommends that you use an Intel development kit or custom prototype board for software development and debugging. Many peripheral and system-level features are available only when your software runs on an actual board.