FNET - Embedded TCP/IP Stack / News: Recent posts

FNET TCP/IP stack: Version 1.2.0 released.

Version 1.2.0 change log:
- Added support of the CodeWarrior Development Studio v10.2 for TWR-K60N512 (Kinetis) and M52259EVB (Kirin3) projects.
- Added support of mulicast-group joining & leaving to the socket interface.
- Added Internet Group Management Protocol (IGMP) version 1 and 2.
- Added new socket options:
- IP_MULTICAST_TTL changes IP "time to live" (TTL) value for outgoing multicast datagrams.
- IP_ADD_MEMBERSHIP joins the socket to the supplied multicast group on the specified interface.
- IP_DROP_MEMBERSHIP drops membership to the given multicast group and interface.
- Added new configuration parameters:
- FNET_CFG_CPU_ETH_PROMISCUOUS enables/disables the Ethernet interface promiscuous mode.
- FNET_CFG_CPU_ETH_FULL_DUPLEX enables/disables the Ethernet interface full duplex mode.
- FNET_CFG_MULTICAST enables/disables the multicast group support.
- FNET_CFG_MULTICAST_MAX defines the maximum number of unique multicast memberships may exist at the same time in the whole system.
- FNET_CFG_MULTICAST_SOCKET_MAX defines the maximum number of multicast memberships may exist at the same time per one socket.
- FNET_CFG_IGMP enables/disables the Internet Group Management Protocol (IGMP) support:
- FNET_CFG_IGMP_VERSION defines version of the Internet Group Management Protocol (IGMP).
- FNET_CFG_LOOPBACK_MULTICAST enables/disables the local loopback of multicast datagrams.
- FNET_CFG_LOOPBACK_BROADCAST enables/disables the local loopback of broadcast datagrams.
- Old FNET_CFG_LOOP_xxx parameters renamed to FNET_CFG_LOOPBACK_xxx.
- Added possibility to choose default multicast interface for outgoing multicast packets, for hosts with several network interfaces, in FNET Throughput Benchmark tool.
- Fixed issues in Kinetis Flash and UART drivers.
- Many other minor changes/fixes.

Posted by Andrey Butok 2012-01-09

FNET TCP/IP stack: Version 1.1.2 released.

Version 1.1.2 change log:
- FNET Throughput Benchmark tool:
- Added "IP Don`t Fragment" option.
- Added "IP Time to Live" option.
- Added "Timeout" option (in seconds) for sending. User is able to choose to stop the sending after the number of sent messages or after the timeout.
- Added possibility of joining of a UDP Multicast group by the receiver.
- Added "refresh" button that updates "Local IP address" combo-box, in case a network interface enabled/disabled during work of application.
- Added acknowledge packet, at the end of UDP data transfer session, which contains amount of received data. It helps to determine the amount of data was received and lost during UDP transfer.
- Throughout value in Bytes/sec was replaced by Kbits/sec.
- Other minor improvements in user interface.
- Added the FNET_CPU_INSTRUCTION_ADDR() macro that sets Thumb bit of an address for Kinetis entry point (and does nothing for ColdFire). It is used by the FNET boot-loader and fixes issue caused by SREC files generated by CodeWarrior for Kinetis.
- Fixed issue in MCF52235 initialization for UART number 2.
- Fixed potential issue in initialization of the DNS client application.
- Fixed potential issue in the fnet_str_to_mac() function.
- Fixed the "strict ANSI C" CW compiler errors.
- Fixed some GCC compiler errors and warnings (even if GCC is not supported).
- Other minor changes/fixes.

Posted by Andrey Butok 2011-09-05

FNET TCP/IP stack: Version 1.1.0 released.

Version 1.1.0 change log:
- Added the DNS client/resolver service.
- Added the DNS-server address support to the DHCP client service and to the network interface.
- Added the "dns" resolver command to the FNET Shell application.
- Other minor changes/fixes.

Posted by Andrey Butok 2011-07-20

FNET TCP/IP stack: Version 1.0.0 released.

Version 1.0.0 change log:
- Added Kinetis (ARM Cortex-M4) - MK60N512 support.
- Added support of the IAR Embedded Workbench for ARM compiler, version 6.1.
- Added standard FNET demo applications for the TWR-K60N512 board, including the FNET on-chip Bootloader.
- Added support of little-endian platforms, defined by FNET_CFG_CPU_LITTLE_ENDIAN.
- Added set of functions and macroses that convert values between host and network byte order (like fnet_ntohs(), fnet_htonl() and etc. ).
- Added common on-chip Flash memory driver for Kinetis (FTFL) and ColdFire (CFM) modules.
- Added support of 16 bits and 24 bits addressing in the S-record file format for the FNET Bootloader.
- Added common FEC driver for Kinetis and ColdFire platform.
- Improved response of the Telnet server.
- Added the fnet_telnet_close_session() function, which closes the currently active session of the Telnet Server.
- Added the fnet_println() function that prints formatted text to the stream and terminates it by line separator string.
- Added fnet_serial_flush() function that sends/flushes data from the internal stream buffer to the stream client, it has meaning only for buffered streams.
- Applied optimized version of the IP checksum calculation and the fnet_memcpy() function.
- A lot of the FNET_CFG_MCF_xxxx parameters, which are common to all platforms, were renamed to FNET_CFG_CPU_xxxx.
- Many other changes and fixes.

Posted by Andrey Butok 2011-06-06

FNET TCP/IP stack: Version 0.9.3 released.

Version 0.9.3 change log:
- Fixed stuck issue that may occur during receiving of broadcast UDP datagrams.
- Fixed buffer corruption issue that may occur when the internal static heap buffer has relatively small size.
- Improved stability of nebuf. management.
- FEC Frame buffers and descriptors are allocated statically (before in internal heap). Existing applications should reduce value of the FNET_CFG_HEAP_SIZE in user-configuration file by the value that equals summary size of buffers statically allocated in Ethernet driver. Roughly [NEW_VALUE]=[OLD_VALUE]-(FNET_CFG_MCF_ETH_TX_BUFS_MAX+FNET_CFG_MCF_ETH_RX_BUFS_MAX)* FNET_CFG_ETH_MTU.
- Renamed FNET_CFG_MCF_SERIAL_PORT_DEFAULT to FNET_CFG_CPU_SERIAL_PORT_DEFAULT.
- Added the FNET_CFG_TELNET_SOCKET_BUF_SIZE user-configuration option that defines size of the socket RX & TX buffer used by the Telnet server.
- Added OS folder where it will be placed all OS-specific code.
- Added uCOS-II specific ISR handler.
- Added FNET_CFG_OS and FNET_CFG_OS_operation_system_type set of user-configuration options that define a currently used OS. For this moment there is FNET_CFG_OS_UCOSII only.
- Added "Free heap" information to the Shell-example "info" command.
- Other minor changes/fixes.... read more

Posted by Andrey Butok 2011-03-08

FNET TCP/IP stack: Version 0.9.1 released.

Version 0.9.1 change log:
- Added the FNET_CFG_TCP_DISCARD_OUT_OF_ORDER user-configuration option that enables or disables the discarding of TCP segments that are received out of order.

Posted by Andrey Butok 2011-02-11

FNET TCP/IP stack: Version 0.9.0 released.

Version 0.9.0 change log:
- Added support of the IAR Embedded Workbench for ColdFire Version 1.22.
- Added support of the IAR compiler to the demo applications for the M52259EVB board.
- Added the FNET_CFG_COMP_compiler_type set of user-configuration options that define a currently used compiler.
- Added GPL linking exception to the FNET license (based on http://en.wikipedia.org/wiki/GPL_linking_exception\), to allow static linking to proprietary applications.
- Fixed several issues in the Telnet server, which caused stuck situations.
- Fixed assembler version of the checksum calculation.
- Added the compiler directory where are placed compiler-specific files.
- All inline assembler functions were rewritten to separate ASM files, to make it more portable.
- All standard_abi assembler functions were rewritten to follow register_abi.
- Increased general throughput performance, based on benchmark results.
- Fixed CFM driver initialization.
- Fixed MSS issue, it was set to the lowest value for all cases.
- Added the FNET_CFG_SOCKET_TCP_MSS user-configuration option that defines the default value of the TCP_MSS socket option. By default the selection of the MSS is automatic and is based on the MTU of the outgoing interface. It is done to assist in avoiding of IP fragmentation at the endpoints of the TCP connection.
- Added the FNET_CFG_SHELL_HELP_FORMAT user-configuration option that defines the format of the command-shell help message, that is used by the fnet_shell_help() function.
- Added the FNET_CFG_TELNET_SHELL_ECHO user-configuration option that defines the Echo in the Telnet shell.
- Updated structure of the application parameters, used by the FNET demo applications.
- Updated the FNET ROM file-system image structure and the "FNET File System Generation Tool", to make the file-system image file more portable between different compilers.
- The "fnet.h" header file gives full access to the whole FNET user-API, including the services API.
- Other minor changes/fixes. ... read more

Posted by Andrey Butok 2011-02-04

FNET TCP/IP stack: Version 0.8.1 released.

Version 0.8.1 change log:
- Fixed bug in the parsing of the HTTP URI (Reported by Luis Filipe Rossi)

Posted by Andrey Butok 2010-10-20

FNET TCP/IP stack: Version 0.8.0 released.

Version 0.8.0 change log:
- HTTP Server:
- Added support of the HTTP/1.0 response.
- Added support of the Basic Access Authentication according to RFC2617.
- Added support of the HTTP POST method.
- Added the "cookie" parameter to the POST, SSI and CGI callback functions, which can be used to associate custom information with a connection instance.
- Added the HTTP POST and Access Authentication demos to the Shell demo application.
- Added fnet_snprintf() function. The save version of fnet_sprintf() that does not suffer from buffer overrun.
- Updated GUI File System generation tool:
- Added additional generation parameters (image name and #if condition).
- Fixed issue occurred during saving/loading of project files for images that have directories.
- Eliminated using of the CodeWarrior #pragma overload.
- Used http://www.installjammer.com tool for creation of the FNET Installer and Uninstaller.
- Other minor changes/fixes.

Posted by Andrey Butok 2010-10-14

FNET TCP/IP stack: Version 0.7.6 released.

Version 0.7.6 change log:
- Improved the FNET File System Generation tool:
- Added project file support.
- Added command line support.
- Other minor changes.
- Fixed PHY initialization issue during power switch on/off of the M52259EVB.

Posted by Andrey Butok 2010-07-01

FNET TCP/IP stack: Version 0.7.5 released.

Version 0.7.5 change log:
- Added GUI Throughput Benchmark tool.
- Added Throughput Benchmark application for MCF52259.
- Increased general performance of the stack.
- Fixed bug in the TCP receive function. In very rare cases, data that came within the latest FIN packet was lost.
- Eliminated support of the blocked sockets (actually not used). Now FNET supports only non-blocked sockets.
- Updated send() function. Now it returns 0 instead of FNET_ERR (FNET_ERR_AGAIN and FNET_ERR_NOMEM), when the TX-socket buffer is full.
- Added fnet_fs_finfo() function.
- Increased default number of the RX-Ethernet buffers.
- Fixed AJAX demo web pages, to make it work even when IE cache is enabled.
- Many other minor changes and fixes.

Posted by Andrey Butok 2010-05-31

FNET TCP/IP stack: Version 0.7.1 released.

Version 0.7.1 change log:
- Added TWR-MCF52259 board support to the demo applications.
- Fixed PHY initialization for MCF52259 and MCF52235.
- Added serial-port initialization function.
- Minor changes and fixes.

Posted by Andrey Butok 2010-04-28

FNET TCP/IP stack: Version 0.7.0 released.

Version 0.7.0 change log:
- Added TFTP-server service. Both read and write requests are supported.
- Added TFTP Firmware server to the FNET Bootloader. It allows to update or backup the firmware from a remote TFTP client running on host PC without a serial-console command line interface.
- Updated to the latest CodeWarrior compiler:
- Freescale CodeWarrior for ColdFire version 7.2.
- Freescale CodeWarrior for Microcontrollers Version 6.3.
- Minor changes and fixes.

Posted by Andrey Butok 2010-02-16

FNET TCP/IP stack: Version 0.6.3 released.

Version 0.6.3 change log:
- Added TFTP write request support to the TFTP client service.
- Added firmware-upload (through TFTP) command to the FNET Bootloader. It can be used for the firmware backup, for later system restore.
- Minor fixes.

Posted by Andrey Butok 2009-12-08

FNET TCP/IP stack: Version 0.6.0 released.

Version 0.6.0 change log:
- Added GNU Lesser GPL v3 license.
- Added Telnet server service.
- Added M52259DEMO board support.
- Added Shell service.
- Added Serial I/O library.
- Added TCP options to control TCP keep-alive parameters: TCP_KEEPCNT, TCP_KEEPINTVL, TCP_KEEPIDLE.
- Added new socket error code FNET_ERR_CONNCLOSED (connection closed by peer) used by the TCP receive function.
- Deleted obsolete Lite HTTP server.
- Fixed some issues in the TCP module.
- Fixed memory management.
- A lot of other changes and fixes.

Posted by Andrey Butok 2009-11-04

FNET TCP/IP stack: Version 0.5.0 released.

FNET Version 0.5.0 change log:
- Added TFTP client.
- Added Coldfire Flash Module (CFM) driver.
- Added FNET TFTP Bootloader.
- Fixed critical bug in the DHCP client.
- Eliminated the MQX support to avoid license issues.
- Deleted the obsolete Events API.
- Updated Shell Demo application. Application parameters are saved in the flash.
- Improved Shell library. Added blocking-command and multi-word parameter features.
- A lot of other changes and fixes.

Posted by Andrey Butok 2009-08-24

FNET TCP/IP stack: Version 0.4.1 released.

FNET - Freescale TCP/IP stack.
Version 0.4.1 changlog:
- Memory management was improved. Memory pools added.
- MQX demos updated for MQX v3.1.
- MQX demo added for Kirin2.
- Fixed bug in the netbuf adjust function.
- Fixed bug for TCP socket linger option.
- Minor internal changes and fixes.

Next Version:
- Now working on TFTP client service & TFTP bootloader demo.

Posted by Andrey Butok 2009-04-23

FNET TCP/IP stack: Version 0.4.0 released.

This is the first public release of the FNET project on the fnet.sourceforge.net

The FNET is a free, open source software project (under GNU GPLv3) for building embedded communication software using the Freescale processors.

The current version 0.4.0 provides following protocols and services:
- Support of different ColdFire processor platforms:
* Reindeer - MCF5282 (M5282EVB board).
* Kirin2 - MCF52235 (M2235EVB board).
* Kirin3 - MCF52259 (M2259EVB board).
* Lasko - MCF51CN128 (MDN Tower board).
* Other Freescale platforms to be supported soon.
- Available as:
* Stand-alone (non-OS) version.
* Freescale MQX RTOS port version (may be used instead of MQX RTCS stack).
- Supported Compilers:
* Freescale CodeWarrior for ColdFire version 7.1.
* Freescale CodeWarrior for Microcontrollers Version 6.2.
- BSD-style Socket layer API.
- Supported protocols:
* User Datagram Protocol (UDP).
* Transmission Control Protocol (TCP).
* Internet Protocol (IP).
* Internet Control Message Protocol (ICMP).
* Address Resolution Protocol (ARP).
- Network Interfaces:
* Ethernet interface.
* Loopback interface.
- Services:
* DHCP client.
* HTTP/0.9 server. Both CGI and SSI are supported.
* Static File System.
- Tools:
* GUI File System Generation Tool.
- Demo applications.
- Doxygen User documentation. ... read more

Posted by Andrey Butok 2009-03-25