NNDK Release 2.8.0 (April 2016)
Posted: Thu May 05, 2016 11:02 am
NNDK 2.8.0 beta release is now out and available for download on the NetBurner tools download page. Please report any issues in this thread or directly to support by submitting a new ticket at http://support.netburner.com.
Release 2.8.0 is a major update and includes a dual IPv4/IPv6 TCP/IP stack and an updated GCC compiler.
Information
IPv4/IPv6
In order to implement the dual stack and provide the best compatibility with previous releases, IP addresses are now C++ objects. This will require minor code modifications in applications that stored IP addresses as unsigned long integers. See new dual stack help documentation located in /nburn/docs/IPv6/IPv6DualStackMode.pdf for further help in updating source code.
GCC5.2
GCC5.2 includes new optimizations which will help increase code speed and decrease size. It also enables additional warnings and errors to help debug your code. You may find that code that compiled and ran in GCC4.2 now has new warnings and/or error messages. These error messages will need to be addressed in order to run your application under GCC5.2.
NBEclipse
Applications built for NBEclipse 2.7.5 or below may get unexpected linker errors due to the new GCC5.2 compiler. This can be resolved by creating a new project and importing the source from the old project, much like importing an example. This will import the new settings required for build projects in GCC5.2
Release 2.8.0 is a major update and includes a dual IPv4/IPv6 TCP/IP stack and an updated GCC compiler.
Information
IPv4/IPv6
In order to implement the dual stack and provide the best compatibility with previous releases, IP addresses are now C++ objects. This will require minor code modifications in applications that stored IP addresses as unsigned long integers. See new dual stack help documentation located in /nburn/docs/IPv6/IPv6DualStackMode.pdf for further help in updating source code.
GCC5.2
GCC5.2 includes new optimizations which will help increase code speed and decrease size. It also enables additional warnings and errors to help debug your code. You may find that code that compiled and ran in GCC4.2 now has new warnings and/or error messages. These error messages will need to be addressed in order to run your application under GCC5.2.
NBEclipse
Applications built for NBEclipse 2.7.5 or below may get unexpected linker errors due to the new GCC5.2 compiler. This can be resolved by creating a new project and importing the source from the old project, much like importing an example. This will import the new settings required for build projects in GCC5.2
Code: Select all
# Release 2.8.0 (April 2016)
## New in this release
* Compiler
* Updated GCC from 4.2 -> 5.2
* NOTE: Compiler is stricter and may elevate previous warnings to errors
* Added processor specific optimization to platform libraries and examples.
* Examples
* Added IPv6 examples
* Added GPIO Pins class example
* Used new multipart form capability to modify PostApplicationUpdate example to remove the requirement for a large memory block and now uses malloc to allocate only the binary size required
* IP
* Added support for IPv6
* Dual stack (IPv6/IPv4) or IPv4 only mode
See IPv6 transition guide for help and information (/nburn/docs/IPv6)
* All network calls use the IPADDR object
This object can hold either IPv4 or IPv6
DWORD as an IP address is no longer valid
* MOD5441X
* Added toggle() function to Pins class
* OSX
* Added support for network debugging
* IPv6 link local web page addresses are broken on all BSD derived systems. This is a client side BSD/OSX bug that has not been addressed by Apple. See transition guide for workaround.
* System
* All source converted to C++
* Allows removal of all extern "C" declarations.
* C++ web calls use CPPCALL instead of FUNCTIONCALL
* FUNCTIONCALL and extern "C" will still be supported
* UC/OS object structures now have member functions (example: mySem.pend())
* Fixed platform case consistency across system headers
* Multipart form post now supports callback for a single large file.
* Tools
* Added support for building all pctools under visual studios 2012
## Corrections in this release
* System
* Fixed multicast leave error.
* GatherRandom only gather entropy on received data. Use RandomValid() to verify GetRandomX() results are seeded and valid
* Most s*printf() in library were changed to sn*printf(). This is recommended practice for security and reliability