Implementation of TCP/IP Protocol Stack on TI C6000DSP
[Copy link]
TI has launched the TCP/IP NDK (Network Developer's Kit) development kit in conjunction with the C6000 chip. Its main components include: (1) Program libraries supporting the TCP/IP protocol stack. The main libraries include: libraries supporting TCP/IP network tools, libraries supporting the TCP/IP protocol stack and DSP/BIOS platform, and libraries for network control and thread scheduling. (2) Demonstration programs. These mainly include DHCP/Telnet client and HTTP data server demonstration. (3) Support documents. Including user manuals, programmer manuals, and platform adaptation manuals. NDK adopts a compact design method to support TCP/IP with less resource consumption. From a practical point of view, NDK only uses 200-250K program space and 95K data space to support conventional TCP/IP services.
The use of NDK is transparent to the operating system and underlying hardware. This is mainly achieved by OS.LIB providing an interface with the operating system DSP/BIOS and HAL.LIB providing support for hardware. In the TCP/IP protocol stack of NDK, STACK.LIB includes all functions from the top-level socket to the bottom-level link layer. NETCTRL.LIB plays a key role in the entire protocol stack, coordinating the operating system and the underlying hardware driver, and managing all network events. NETTOOL.LIB provides various services for configuring the network.
NDK performance test
Testing NDK performance is both objective and subjective. Objectivity is because standard tools are used and the results are reproducible. Subjectivity is because actual testing is affected by many environmental factors, so it can only be an estimated test of performance. The
main factors affecting NDK performance are:
socket API: NDK supports both typical buffer-based sockets, non-copying packet sockets, and even non-copying direct receiving TCP data streams. Performance varies with the strategy adopted.
socket buffer: The socket buffer affects the TCP send and receive window size and determines the size of each data stream sent, which has a great impact on network performance.
CPU speed: When the cache size is constant, network performance increases linearly with the increase of CPU speed.
CPU cache: The size of the cache has a huge impact on network performance.
Network hardware devices: The quality of Ethernet hardware design directly affects the speed of the DSP and network interface.
External memory (EMIF) interface: For Ethernet devices connected to the DSP external memory interface, the speed of the EMIF has an additional impact on the external decoding logic.
|