These release notes describe installation issues, known problems and reminders for users
of release 1.2r1 of the TASKING VX-toolset to be used with Altera's Nios II IDE. The major
differences with release 1.1r3 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.
Make sure that versions 6.1 of the Quartus II Design Software and the Nios II Embedded Design Suite from Altera are installed on your system.
The TASKING installation program copies two additional files and one patched file into the Altera Nios II EDS Eclipse plugins directory:
bin\eclipse\plugins\com.tasking.errorparsers_1.0.0.jar
bin\eclipse\plugins\com.tasking.ide.nios_1.1.3.jar
bin\eclipse\plugins\com.altera.ide.core_6.1.0\alteraidecore.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\libtskcs.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\tsk_specs
bin\nios2-gnutools\H-i686-pc-cygwin\nios2-elf\lib\tsks_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_irq_register.c
components\altera_hal\HAL\src\alt_kill.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
The sources under components\altera_nios2\HAL are also copied to ip\nios2_ip\altera_nios2\HAL. All 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.
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.
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.
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.
For a TASKING C project in the Nios II IDE the application is compiled and linked by default with the TASKING libraries. 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 TASKING C library is not thread safe so if you are building a uC/OS-II project you should either disable the thread safe RTOS option in your System Library Properties or use the Newlib C library (disable TASKING libraries).
The TASKING libraries include a standard C library, a run-time library for Nios II and an ANSI/IEEE-754 compliant floating-point library. There are two flavours of the C library: one for single and double precision floating point (default) and one for single precision floating point only. The single precision only flavour can be switched on in the Tool Settings tab of the C/C++ Build properties of your project. Select "C Compiler-->Language" and check the "Treat double as float (--no-double)" check box. This will give you smaller and faster code (with less precision).
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-2007 Altium BV