You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
9.6 KiB
Plaintext
180 lines
9.6 KiB
Plaintext
Changes since V2.0.0 release
|
|
|
|
+ Update FreeRTOS_gethostbyname() to allow an IP address to be passed in -
|
|
in which case it is just returned as a uint32_t.
|
|
+ Introduce ipconfigSOCKET_HAS_USER_WAKE_CALLBACK to FreeRTOS_Sockets.c to
|
|
allow a user supposed callback function to be executed when socket events
|
|
occur in the same way that the socket semaphore is currently used.
|
|
+ Update xNetworkBuffersInitialise() to ensure the semaphore created by the
|
|
function is not accessed until after the NULL check.
|
|
+ Improve print messages output by the Win32 port layer version of
|
|
prvPrintAvailableNetworkInterfaces().
|
|
|
|
Changes between 160908 and 160919 releases:
|
|
|
|
+ Add a NULL check before attempting to close the DHCP socket. [Prior to
|
|
160823 the IP task closed the DHCP socket by calling a public API function
|
|
- which checked for the socket being NULL. This was changed to call a
|
|
local private function, which did not have a NULL check, in place of the
|
|
public API function.]
|
|
+ Various [internal only] naming changes to better comply with the FreeRTOS
|
|
naming conventions.
|
|
+ Improvements to the Zynq network driver. DMA transmission buffers now use
|
|
a counting semaphore. When all TX-buffers are in-use, the IP-task will
|
|
block momentarily until a TX-buffer becomes available.
|
|
+ Experimental implementation of the TCP window scaling protocol. The
|
|
scaling option will always be offered, at least with a factor 1. If the
|
|
TCP sliding window size becomes more than 64KB, the factor will increase
|
|
automatically.
|
|
+ ipconfigETHERNET_MINIMUM_PACKET_BYTES is now applied for every protocol:
|
|
TCP, UDP, and ARP.
|
|
+ Updated the Zynq project to use BufferAllocation_1.c rather than
|
|
BufferAllocation_2.c - which is a requirement with its current
|
|
configuration (due to the alignment requirements on the combined cache and
|
|
DMA configuration).
|
|
|
|
Changes between 160823 and 160908 releases:
|
|
|
|
+ Use ipconfigZERO_COPY_TX_DRIVER as the xReleaseAfterSend() parameter where
|
|
prvTCPReturnPacket() is called in prvSendData() to prevent unnecessary
|
|
copying of data.
|
|
+ Remove the use of the uxGetRxEventCount variable, which was used to give
|
|
priority to incoming messages, but could result in the IP task starving
|
|
application tasks of processing time.
|
|
|
|
Changes between 160112 and 160823 releases
|
|
|
|
NOTE: The 160908 release is a maintenance release for the 160112 single
|
|
interface labs release - not a release of the current development branch.
|
|
|
|
+ Various minor stability enhancements, including the ability to work with
|
|
configTICK_RATE_HZ set to less than 1KHz, closing DHCP sockets directly
|
|
rather than via FreeRTOS_closesocket(), and better handling of unknown
|
|
TCP packets before an IP address has been assigned.
|
|
+ ipBUFFER_PADDING is now configurable through the ipconfigBUFFER_PADDING
|
|
constant to improve network buffer alignment handling capabilities (expert
|
|
users/driver writers only).
|
|
+ Multiple improvements to the FTP server, including to how read only and
|
|
zero length files are handled.
|
|
+ ipconfigFTP_HAS_USER_PROPERTIES_HOOK (to allow each user to have a
|
|
different root directory and access rights) and
|
|
ipconfigHTTP_HAS_HANDLE_REQUEST_HOOK (to handle AJAX style data)
|
|
introduced, although these are not yet fully tested and the constant names
|
|
are likely to change.
|
|
+ Introduce ipconfigHAS_TX_CRC_OFFLOADING.
|
|
+ ipconfigUSE_DHCP_HOOK is now called ipconfigUSE_DHCP_HOOK, and the name
|
|
of the callback function has also changed. See the web documentation for
|
|
details.
|
|
+ ipconfigTCP_RX_BUF_LEN is now ipconfigTCP_RX_BUFFER_LENGTH, and
|
|
ipconfigTCP_TX_BUF_LEN is now ipconfigTCP_TX_BUFFER_LENGTH, which is
|
|
actually how they have always been documented.
|
|
+ Added example TFTP server capable of receiving (not sending) files.
|
|
Intended for bootloader type functionality.
|
|
+ Various variable name changes for consistency (mainly ensuring UDP, TCP,
|
|
DNS, etc. always use the same case letters, and type prefixes are correct).
|
|
+ Various minor edits to improve types used by internal variables.
|
|
+ Simplified mapping of standard library functions to their Visual Studio
|
|
equivalents.
|
|
+ Improve robustness of network drivers.
|
|
+ Introduce pxResizeNetworkBufferWithDescriptor().
|
|
+ Removed obsolete FreeRTOSIPConfig.h constants from
|
|
FreeRTOSIPConfigDefaults.h.
|
|
+ Added additional asserts() - predominantly to catch incorrect structure
|
|
packing.
|
|
|
|
Changes between 160112 and 160111 releases
|
|
|
|
+ Updated the STM32 network driver so checksums are calculated by the
|
|
hardware.
|
|
+ Implemented a simple "quit" command in the TCP command console.
|
|
|
|
Changes between 150825 and 160111 releases
|
|
|
|
+ New device support: Demo applications and example drivers are provided
|
|
for Atmel SAM4E and ST STM32F4 microcontrollers.
|
|
+ Various updates to improve compliance with the FreeRTOS coding standard.
|
|
+ Added a command console example that uses TCP/IP for input and output (the
|
|
pre-existing command console example uses UDP/IP).
|
|
+ Updated the UDP logging example so it will send log messages to the local
|
|
UDP broadcast address if a specific IP address is not provided. This
|
|
simplifies configuration, but note not all switches and routers will pass
|
|
broadcast messages.
|
|
+ Add TCP echo client and TCP echo server examples to the Zynq demo.
|
|
+ Minor updates to the Zynq network driver.
|
|
+ Update the Zynq project to use version 2015.4 of the Xilinx SDK.
|
|
+ Introduce FreeRTOS_SignalSocket(), which can be used to interrupt a task
|
|
that is blocked while reading from a socket ( FreeRTOS_recv[from] ).
|
|
+ Make use of FreeRTOS_SignalSocket() in the FTP and HTTP servers.
|
|
+ Major updates to the NTP client, although this is not included in any of
|
|
the pre-configured demo applications yet.
|
|
+ Added support for DHCP zero pad option.
|
|
+ Added uxGetMinimumIPQueueSpace(), a function to monitor the minimum amount
|
|
of space on the message queue.
|
|
+ Better handling of zero length files in the FTP server.
|
|
+ Fixed a bug reported by Andrey Ivanov from swissEmbedded that affects
|
|
users of 'ipconfigZERO_COPY_TX_DRIVER'.
|
|
|
|
|
|
Changes between 150825 150825 (?)
|
|
|
|
+ Added xApplicationDHCPUserHook() so a user defined hook will be
|
|
called at certain points in the DHCP process if
|
|
ipconfigDHCP_USES_USER_HOOK is set to 1.
|
|
+ Added FreeRTOS_get_tx_head() to improve TCP zero copy behaviour - for
|
|
expert use only.
|
|
+ RST is no longer sent if only the ACK flag is set.
|
|
+ Previously, an immediate ACK was only sent when buffer space was
|
|
exhausted. Now, to improve performance, it is possible to send an
|
|
immediate ACK earlier - dependent on the ipconfigTCP_ACK_EARLIER_PACKET
|
|
setting.
|
|
+ LLMNR and NBNS requests can now be sent to locate other devices -
|
|
previously these protocols would only be replied to, not generated.
|
|
+ Added Auto-IP functionality (still in test) in case DHCP fails. Dependent
|
|
on the ipconfigDHCP_FALL_BACK_LINK_LAYER_ADDRESS and
|
|
ipconfigARP_USE_CLASH_DETECTION settings.
|
|
+ Added NTP code and demo.
|
|
+ FTP can now STOR and RETR zero-length files.
|
|
+ Added LLMNR demo to Win32 demo - so now the Win32 responds to
|
|
"ping RTOSDemo".
|
|
|
|
Changes between 141019 and 150825
|
|
|
|
+ Added FTP server, which uses the new FreeRTOS+FAT component.
|
|
+ Added basic HTTP server, which uses the new FreeRTOS+FAT component.
|
|
+ Multiple definitions that are now common with FreeRTOS+FAT have been moved
|
|
into FreeRTOS's ProjDefs.h header file, and so prefixed with 'pd'.
|
|
+ Introduced ipconfigZERO_COPY_TX_DRIVER, which defines who is responsible
|
|
for freeing a buffer sent to to the MAC driver for transmission, and
|
|
facilitates the development of zero copy drivers.
|
|
+ Introduced the FREERTOS_MSG_DONTWAIT flag. The flag can be used as a
|
|
simpler and faster alternative to using FreeRTOS_setsockopt() to set the
|
|
send or receive timeout to 0.
|
|
+ A few functions that were previously all lower case are now mixed case, as
|
|
lower case function names are only used when they are equivalent to a
|
|
a Berkeley sockets API function of the same name.
|
|
+ Introduced uxGetMinimumFreeNetworkBuffers() to return the minimum number
|
|
of network buffers that have ever existed since the application started
|
|
executing.
|
|
+ Introduce ipconfigETHERNET_MINIMUM_PACKET_BYTES to allow the application
|
|
writer to set their own minimum buffer size should the hardware not be
|
|
capable of padding under-sized Ethernet frames.
|
|
+ vNetworkBufferRelease() renamed vReleaseNetworkBuffer() - just for
|
|
consistency with the names of other functions in the same file.
|
|
+ Grouped DHCP status data into a structure.
|
|
+ DHCP is now tried both with and without the broadcast flag.
|
|
+ Replaced occurrences of configASSERT_VOID() with configASSERT().
|
|
+ ipconfigDNS_USE_CALLBACKS introduced to allow FreeRTOS_gethostbyname() to
|
|
be used without blocking.
|
|
+ Fix: LLMNR and NBNS behaviour when the reply is in a larger buffer than the
|
|
request, and BufferAllocation_2 was used.
|
|
+ Introduced ipMAX_IP_TASK_SLEEP_TIME to allow the application writer to
|
|
override the default value of 10 seconds.
|
|
+ Fix: Correct error in *pxUDPPayloadBuffer_to_NetworkBuffer().
|
|
+ FreeRTOS_recv() now recognises the FREERTOS_ZERO_COPY flag, which, when
|
|
set, the void *pvBuffer parameter is interpreted as void **pvBuffer.
|
|
+ FreeRTOS_listen() now returns an error code. Previously it always
|
|
returned 0.
|
|
+ Fix: Previously if a listening socket was reused, and a connection
|
|
failed, the TCP/IP stack closed the socket, now the socket is correctly
|
|
left unclosed as it is owned by the application.
|
|
+ Various other formatting and minor fix alterations. |