Nios II Development Kit Version 5.1 Release Notes

Table of Contents

Overview
New Features & Enhancements
Device & Host Support
Installation Instructions
SOPC Builder
Peripheral Support
Nios II IDE
Flash Programmer
Toolchain
Target Software
Changes to Development Tools Behavior
Example Designs


Overview

This document lists the release notes for the Nios® II development kit version 5.1. These release notes cover only the development tools included in the Nios II development kit. For revision history of the Nios II processor hardware, see the Nios II Processor Revision History chapter in the Nios II Processor Reference Handbook.

[top]


New Features & Enhancements

The Nios II development kit version 5.1 is an upgrade from version 5.0.1. This release primarily provides the following new features:

The sections below provide a detailed list of all product updates.

[top]


Device & Host Support

This release supports the following Altera® device families:

This release supports the following host environments:

[top]

 


Installation Instructions

Installing the Nios II v5.1 Development Tools on Windows

To install version 5.1 of the Nios II development tools, you must first install the Quartus II software version 5.1. You must have administrative privileges to install the Nios II development tools. See the Quartus II Installation & Licensing Guide for Quartus II system requirements and installation procedures.

If you have previous versions of the Nios II development tools installed on your system, Altera recommends that you uninstall the previous version(s) before installing version 5.1.  If you need to retain a previous version on your system, install the Nios II develop tools v5.1 to a different location.

To install the Nios II software on a Windows computer using the Nios II v5.1 CD-ROM, perform the following steps:

  1. Insert the Compact Disk into your CD-ROM drive. The Nios II setup program appears automatically.
    If the Nios II setup program does not start automatically, browse to the CD-ROM drive in the Windows Explorer, and run the program launcher.exe. at the top level of the CD.
  2. Click Install Nios II. The Nios II installer starts and guides you through the installation process.

Installing the Nios II v5.1 Development Tools on Linux

To install version 5.1 of the Nios II development tools, you must first install the Quartus II software version 5.1. You must have administrative privileges to install the Nios II development tools. See the Quartus II Installation & Licensing Guide for Quartus II system requirements and installation procedures.

To install the Nios II development tools on a Linux workstation using the Nios II v5.1 tar file, type the following commands at a command shell:

tar -xf nios2_5.1_linux.tar
cd nios2_5.1_linux
./install

To install the Nios II development tools on a Linux workstation using the Nios II v5.1 CD-ROM:

  1. Insert the Compact Disk into your CD-ROM drive.
  2. Type the following commands at a command shell:

cd /mnt/cdrom
./install

If the computer has problems reading the CD-ROM, you might have to mount the CD-ROM manually. Type the following at a command shell:

mount /mnt/cdrom

When installing the Nios development tools on Linux, ensure that the shell has the DISPLAY environment variable pointing to a valid X server. Otherwise, the installer generates the following error:

Updating SOPC Builder components... Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at java.awt.Font.initializeFont(Unknown Source)
at java.awt.Font.<init>(Unknown Source)
at sopc_wizard.sopc_ui.<clinit>(sopc_ui.java:31)


USB-Blaster on Linux

To use the USB-Blaster on Linux systems you need to set up the permissions by adding the following lines to /etc/hotplug/usb.usermap.

You need to do this before plugging in your USB-Blaster.

#
# Altera USB-Blaster
#
usbblaster 0x03 0x09fb 0x6001 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
usbblaster 0x03 0x09fb 0x6002 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0

Then add the following script as /etc/hotplug/usb/usbblaster

#!/bin/sh
# USB-Blaster hotplug script.
# Allow any user to access the cable
chmod 666 $DEVICE

This will set up your USB-Blaster permissions so that any user can access it. Be sure to set permissions with 'chmod +x /etc/hotplug/usb/usbblaster' to make the script executable.

Using Previously Installed Versions of Nios II

SOPC Builder and the Nios II IDE refer to the most recently installed version of  the components (such as the Nios II processor and peripherals) and their software drivers. To revert back to a prior version of the Nios II development tools, you can reinstall the previous version or modify the following environment variables.

Licensing

You can create, compile and generate time-limited FPGA programming files for Nios II hardware systems without obtaining a license file. You must obtain a license for the Nios II processor core and the Quartus II software to generate non-time-limited FPGA programming files and flash programming files for new Nios II hardware systems. See the getting started material included with the Nios II development kit. You do not need a license if you will only develop software using the Nios II IDE.
 

[top]


SOPC Builder

Refer to the release notes for the Quartus II software version 5.1.

[top]


Peripheral Support

This section lists changes to the peripherals that might have a significant effect on Nios II developers.

SOPC Builder PLL Component

The Quartus II software version 5.1 includes a new PLL component for SOPC Builder which allows SOPC Builder systems to instantiate one or more PLLs inside the system module.

Peripherals Installed with the Quartus II Software

Starting with the Nios II Development Kit version 5.1 and the Quartus II software version 5.1, embedded peripherals for the Nios II processor are included in the Quartus II software. Previously, the peripherals were included with the Nios II development tools. This change does not impact functionality of the peripherals or existing designs.

 JTAG UARTs with names other than "jtag_uart" (SPR 180539)

Resolved an issue that prevented the Nios II IDE software templates from automatically choosing the correct device for stdio when JTAG UARTs were not named "jtag_uart" exactly.

DDR/DDR2 SDRAM Controller Version Upgrade

The hardware example designs for the Nios Development Board, Cyclone II Edition were updated to use DDR/DDR2 SDRAM Controller version 3.3.0. Ensure that you have version 3.3.0 of the DDR/DDR2 SDRAM Controller installed on your computer to rebuild those examples.

[top]


Nios II IDE

Fixed Nios II installer to address IDE error when building projects

An installer issue could cause the following error later when compiling a project in the Nios II IDE:  "C:/altera/quartus50/bin/jre/bin/jave.exe not found". (SPR 185663)

Fixed issue with Read-only ZIP File system offset setting in Flash (SPR 182337)

An error was incorrectly issued when the Flash offset for locating the Read-only ZIP File system was set to the upper half of  the Flash memory address space.  This problem was corrected and the full range of Flash is now available.

[top]


Flash Programmer

The flash programmer in version 5.1 of the Nios II IDE has updates to make it significantly easier to use with custom boards. The updates do not affect the flash programmer GUI, but have significant effects on the background utilities used by the flash programmer.

With the flash programmer in version 5.1 of the Nios II IDE, the command line options for the sof2flash, elf2flash, bin2flash utilities and the nios2-flash-programmer have changed.  If you have custom makefiles created for the previous flash programming flow, you must update those commands.  Refer to the updated Nios II Flash Programmer User Guide for details on the command line options.

You can now use the flash programmer GUI to generate a flash programming script that serves as a reference for using these new utilities.  After programming flash once with the flash programmer GUI, a .sh script is created in the software project Release or Debug directory.


Toolchain

New compiler option added to control bit-packing of structures (SPR 185955)

A new gcc compiler option, -mreverse-bitfields, was added to allow you to select the bit-field order of bits defined in packed bit-field structures. For further information, refer to Using the Altera Nios II Options information in the gcc documentation, available from <Nios II kit path>/documents/index.html.

[top]


Target Software

malloc() & C++ new operator indicate failure to allocate memory  (SPR 185814 & 184251)

Previous versions of the HAL memory allocation facilities did not perform bounds checking. It was possible for the heap to overrun the stack and available memory. In version 5.1, it is possible to define a fixed maximum size for the heap. When enabled, this feature causes memory allocation using the malloc() function or the C++ new operator to indicate the exhaustion of available heap space. Such exhaustion will be indicated by the malloc() function returning NULL and new generating an exception which can be caught. To set the size limit, define the symbol ALT_MAX_HEAP_BYTES on the C/C++ Build page of the system library properties for the project in the Preprocessor Tool Settings section. Set ALT_MAX_HEAP_BYTES to be equal to the decimal value of the maximum heap size. For example, ALT_MAX_HEAP_BYTES=1048576.

Fixed stack underflow error with longjmp() (SPR 188187)

The longjmp() code was corrected to properly save and restore the stack pointer.

Fixed issue with using realloc() in a multi threaded system (SPR 184191)

A problem existed in Newlib C realloc() where semaphore corruption occurred when using realloc() in a multithreaded system.  The malloc_lock() implementation was modified to correct this.

Legacy SDK Deprecation (SPR 184100)

Nios II Legacy SDK support will be removed from a future version of the Nios II development tools.  A warning message appears when you build Legacy SDK projects in Nios II v5.1.

[top]


Changes to Development Tools Behavior

Fixed problem due to out-of-date install.ptf file (SPR 163857)

The install.ptf file is now refreshed when a project is imported into the Nios II IDE, so that the project information is up-to-date and the software developer does not need to run SOPC Builder to update the install.ptf file.

Fixed problem on Linux restoring the factory-contents of flash memory on a Nios development board (SPR 166904)

In previous versions, typing "./restore_my_flash" to restore the factory-contents of flash memory on a Nios development board might fail on Linux platforms. This issue is now fixed.

[top] 


Example Designs

Hardware Example Designs

This section documents changes to the hardware example designs included in the Nios II development kit.

New PLL Component use in hardware example designs

The Nios II hardware example designs are updated to use the new PLL Core with Avalon Interface component available in SOPC Builder. Hardware examples that use a PLL now instantiate the PLL component inside the SOPC Builder system module, rather than instantiating it externally.

Software Example Designs

Zip File System & Host File System examples

The Zip File System software example was modified to remove the Host File System feature.  A new Host File System example was added in this release to demonstrate reading/writing both ASCII and binary files on the host machine.

[top]