Release 2.8.X 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.1 (June 2016)
## New in this release
* Compiler/Linker
* Added support for dead code stripping. This can reduce the size of your application by removing functions that are unused. Significant code size reductions when using c++ std library.
* NBEclipse
* Under project properties -> C/C++ compiler -> Optimization, enable -fdata-sections, -ffunction-sections
* Under project properties -> C/C++ linker -> Optimization, enable --gc-sections
* Makefile - Add EXTRALINKFLAGS := -Wl,--gc-sections
* Added support for real time stack checking. This is disabled by default. It has a cost of 256 bytes at the end of the stack and slightly decreases task switch time
* When stack is overflowed, a smarttrap will occur indicating the error and the line of code that caused the overflow
* To enable stack checking
* Uncomment #define UCOS_STACKOVERFLOW in /nburn/include/predef.h
* Call EnableOSStackProtector() in your application
* Add -fstack-check to compiler flags
* NBEclipse - Under project properties -> C/C++ compiler -> Debugging, enable -fstack-check
* Makefile - Add EXTRACXXFLAGS := -fstack-check
* Default compiler mode is now set to C++14, C11
* DNS
* Added support for multiple DNS servers
* Examples
* Added info to display DHCP leases and DNS servers to IPv6-ShowAddress
* Added IPv6-DHCPv6 example to demonstrate DHCPv6 callback functions
* Added new example to display all network interfaces
* Added new MOD5441X EFFS-STD-SpeedTest example
* IPv6
* Added ability for static addresses.
* SSL/TLS
* Adding maximum session reuse lifetime to TLS.
* System
* Added ability to report task monitor results via alternatives to taskmon utility
* Added new Pins class functions:
* toggle() - Set an output pin to the opposite state
* readBack() - Read the current state of the pin without affecting direction
* Smarttrap enabled by default on all standard stack platforms
* Added OSDumpStack() function to output the current task's stack.
## Corrections in this release
* IPv6
* Multiple DHCPv6 fixes. All users using DHCPv6 should upgrade
* Fix routing issue for sending to multicast addresses while having non-auto configurable prefixes
* Added router solicitation limit per RFC4861
* L2E
* Fixed tcp_printf() hang.
* Make
* Fixed error in library makefiles which would cause subdirectories to not get rebuilt when dependency are changed
* MCF5441X
* Fixed Ethernet driver bug where Tx packets could fail to send promptly
* Fixed CAN clock frequency error
* Fixed DSPI baud-rate calculation (increased max baud-rate to 41.6M if you don't need 50% duty cycle)
* Write performance improvements for MOD5441X parallel flash
* SB800EX
* Fixed serial config error with transceiver configuration (232/422/485)
* Fixed bug in IPSetup in which SB800EX could be set to print debug statements to an invalid port
* SSL/TLS
* Fixed undefined virtual function in debug builds. clearAltNames()
* Removed extra debug logging when DB_SSL was not enabled
* Fixed SSL_POP3_InitalizeSession() to use port argument correctly
* System
* Fixed pin_irq linking error which caused some examples to fail to build
* Fixed vsprintf, vsnprintf to correct errors in c++ stream output
* TCP
* Fixed packet leak in IPv4/IPv6 on networks that sent out-of-order packets retransmissions
* Tools
* Compcode modified to ignore gaps < 16 bytes. Allows for alignment
* UDP
* Fixed send failure when attempting to broadcast to a subnet