TASKING VX-toolset for Altera® Nios® II

v1.1r3 RELEASE NOTES

SUMMARY

These release notes describe installation issues, known problems and reminders for users of release 1.1r3 of the TASKING VX-toolset to be used with Altera's Nios II IDE. The major differences with release 1.1r2 are:

The major differences between release 1.1r2 and release 1.1r1 are:

The following parts are described in more detail below:

The TASKING VX-toolset for Nios II consists of a complete set of TASKING compilation tools and libraries, and a set of Eclipse plug-ins. With the Eclipse plug-ins the TASKING VX-compiler and assembler become seamlessly available in Altera's Nios II IDE. Using Altera's Nios II IDE as your development environment, you can use the TASKING VX-compiler and assembler to develop embedded applications for the Nios II processor.

The Eclipse plug-ins cannot be used to integrate the TASKING VX-toolset into any Eclipse installation other than the one provided by Altera.

This release of the TASKING VX-toolset for Nios II can also be used independently of Altera's Nios II IDE, by invoking the tools from the command line or from makefiles. See below for details about the differences between using the tools inside Altera's Nios II IDE and using them from the command line or from makefiles.

 

INSTALLATION

Make sure that versions 6.0 of the Quartus II Design Software and the Nios II Embedded Design Suite from Altera are installed on your system. You may also install the service pack Nios II EDS SP1 from Altera, either before or after installing the TASKING VX-toolset, but this is not required.

The TASKING installation program copies the following additional files into the Altera Nios II EDS Eclipse plug-ins directory:

bin\eclipse\plugins\com.tasking.errorparsers_1.0.0.jar
bin\eclipse\plugins\com.tasking.ide.nios_1.1.3.jar

The TASKING installation program copies the following additional files into the Altera Nios II EDS multilib directory tree (lib directory and its sub-directories):

bin\nios2-gnutools\H-i686-pc-cygwin\nios2-elf\lib\libtskc.a
bin\nios2-gnutools\H-i686-pc-cygwin\nios2-elf\lib\libtskfp.a
bin\nios2-gnutools\H-i686-pc-cygwin\nios2-elf\lib\libtskrt.a
bin\nios2-gnutools\H-i686-pc-cygwin\nios2-elf\lib\libtskt4c.a
bin\nios2-gnutools\H-i686-pc-cygwin\nios2-elf\lib\tsk_specs

The TASKING installation program copies the following patched files into the Altera Nios II EDS directory:

components\altera_hal\build\gnu_rules.mk
components\altera_hal\build\lib.mk
components\altera_nios2\HAL\src\component.mk

bin\nios2-gnutools\src\newlib\newlib\libc\include\string.h
bin\nios2-gnutools\src\newlib\newlib\libc\include\wchar.h
bin\nios2-gnutools\src\newlib\newlib\libc\include\wctype.h
bin\nios2-gnutools\src\newlib\newlib\libc\include\sys\_types.h
bin\nios2-gnutools\src\newlib\newlib\libc\include\sys\reent.h
bin\nios2-gnutools\src\newlib\newlib\libc\include\sys\unistd.h

components\altera_hal\HAL\inc\priv\alt_irq_table.h
components\altera_hal\HAL\src\alt_env_lock.c
components\altera_hal\HAL\src\alt_irq_register.c
components\altera_hal\HAL\src\alt_kill.c
components\altera_hal\HAL\src\alt_malloc_lock.c
components\altera_hal\HAL\src\alt_sbrk.c
components\altera_hostfs\HAL\src\altera_hostfs.c
components\altera_nios2\HAL\inc\nios2.h
components\altera_nios2\HAL\inc\sys\alt_irq_entry.h
components\altera_nios2\HAL\inc\sys\alt_sim.h
components\altera_nios2\HAL\inc\sys\alt_warning.h
components\altera_nios2\HAL\src\alt_busy_sleep.c
components\altera_nios2\HAL\src\alt_gmon.c

examples\software\hello_alt_main\hello_alt_main.c
examples\software\hello_world\hello_world.c
examples\software\hello_world_small\hello_world_small.c

These patched files can be used with the TASKING compiler as well as with the GCC compiler. The patches do not affect the behavior of the Altera Nios II IDE in any way. Original files are renamed and saved before the copy process.

C COMPILER

For a TASKING C project in the Nios II IDE the TASKING VX-compiler is invoked with the following options: --language=+gcc and --gcc-dwarf. These options instruct the compiler to support GCC language extensions and to generate debug information for the GNU debugger (gdb). If a TASKING C project is built without the TASKING libraries, then the compiler is invoked with the option --gcc-runtime to instruct it to generate calls to the GCC run-time library (libgcc.a).

If the TASKING VX-compiler is used from the command line, then the aforementioned options are switched off by default and the compiler will be strictly ISO C99 compliant and will generate DWARF 3.0 compliant debug information.

The TASKING VX-compiler has a --cpu option to specify the Nios II core for which to compile your application. The valid values for this option are: nios2e, nios2s, nios2f (default). You can set this value at the Tool Settings tab of your project's C/C++ Build properties (Global Options / Processor entry). This value will NOT be set automatically if you select a predefined configuration such as low-cost or standard which use nios2e and nios2s respectively.


ASSEMBLER

For a TASKING C project in the Nios II IDE the compiler-generated assembly sources are assembled by the TASKING assembler. Hand-written assembly sources pulled in from the Altera HAL are assembled by the GNU assembler (gas). The appropriate assembler is selected based on the source filename extension: .asm and .src for TASKING assembly, .s and .S for GNU assembly.

You can use TASKING assembly for your hand-written assembly sources simply by using the .asm extension on your source filenames. Please note that the syntax and the set of directives of the TASKING assembler and the GNU assembler are not fully compatible.


LINKER

For a TASKING C project in the Nios II IDE the application is linked by the GNU linker. The GNU linker uses the Nios II IDE auto-generated linker script file (unless you specified a custom script file) and selects the appropriate startup code for your Nios II configuration.

If the TASKING tools are used from the command line, then by default the TASKING linker is invoked, which requires its own script file and startup code.


LIBRARIES

For a TASKING C project in the Nios II IDE the application is compiled and linked by default with the TASKING libraries, which include a standard C library, a run-time library for Nios II and an ANSI/IEEE-754 compliant floating-point library. This applies to the application project as well as to the application's syslib project based on Altera's Nios II HAL (or to libnosys if the HAL is not used).

The use of the TASKING libraries can be switched off in the Tool Settings tab of the C/C++ Build properties of your project. Select "Global Options-->Libraries" and uncheck the "Use TASKING libraries" check box. In that case your application will be linked with the libraries included with the Nios II IDE, such as newlib and libgcc.

If the TASKING tools are used from the command line, then by default the application is linked with the TASKING libraries.

 


Copyright 2006 Altium BV