- Nios® II Integrated Development Environment (IDE)
- Toolchain
- Target Software
- Changes to Development Tools Behavior
- Flash Programmer
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
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.
Toolchain
New compiler option added to control bit-packing of structures
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 GNU Compiler Collection - Altera Nios II Options information in the gcc documentation, available in the Literature section of <Nios II kit path>/documents/index.html.
Target Software
malloc() and C++ new operator indicate failure to allocate memory
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 themalloc()function returning NULL andnewgenerating an exception which can be caught. To set the size limit, define the symbolALT_MAX_HEAP_BYTESon the C/C++ Build page of the system library properties for the project in the Preprocessor Tool Settings section. SetALT_MAX_HEAP_BYTESto be equal to the decimal value of the maximum heap size. For example,ALT_MAX_HEAP_BYTES=1048576.
Fixed stack underflow error with longjmp()
The
longjmp()was corrected to properly save and restore the stack pointer.
Fixed issue with using realloc() in a multi threaded system
A problem existed in Newlib C
realloc()where semaphore corruption occurred when usingrealloc()in a multithreaded system. Themalloc_lock()implementation was modified to correct this.
Legacy SDK Deprecation
Nios II legacy software development kit (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.
Changes to Development Tools Behavior
Fixed problem due to out-of-date install.ptf file
The
install.ptffile 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 theinstall.ptffile.
Fixed problem on Linux restoring the factory-contents of flash memory on a Nios development board
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.
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,bin2flashutilities and thenios2-flash-programmerhave 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
.shscript is created in the software project Release or Debug directory.
