Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Desired level of performance.
  2. Amount of data to be either transmitted or received.
  3. Ability of the target application to either produce or consume transmitted or received data.
  4. Average CPU utilization.
  5. Average network utilization.
  6. Type of connection (UDP or TCP)
  7. Number of simultaneous connection.
  8. Application/connection priorities

The discussion on the bandwidth-delay product is always valid. In general, the more buffers the better. However, the number of buffers can be tailored based on the application. For example, if an application receives a lot of data but transmits very little, then it may be sufficient to define a number of small transmit buffers for operations such as TCP acknowledgements and allocate the remaining memory to large receive buffers. Similarly, if an application transmits and receives little, then the buffer allocation emphasis should be on defining more transmit buffers. However, there is a caveat:

...

Specifying too few transmit or receive buffers may lead to stalls in communication and possibly even dead-lock. Care should be taken when configuring the number of buffers. µC/TCP-IP is often tested with configurations of 10 or more small transmit, large transmit, and large receive buffers.All device configuration structures and declarations are in the provided files named net_dev_cfg.c and net_dev_cfg.h. Each configuration structure must be completely initialized in the specified order. The following listing shows where to define the number of buffers per interface as calculated 

Number of DMA Descriptors to Configure

...

Once number and size of the transmit and receive buffers are configured, as explained in the previous section, the last thing that need to be done is to configure the TCP Transmit and Receive Window sizes. These parameters are found in the net_cfg.h file in the TRANSMISSION CONTROL PROTOCOL LAYER CONFIGURATION section.

 

 

Reducing the Number of Transitory Errors (NET_ERR_TX)

The number of transmit buffer should be increased. Additionally, it may be helpful to add a short delay between successive calls to socket transmit functions.


TODO Tx suspend ??

Writing or Obtaining Additional Device Drivers

Contact Micrium for information regarding obtaining additional device drivers. If a specific driver is not available, Micrium may develop the driver by providing engineering consulting services.

Alternately, a new device driver may be developed by filling in a template driver provided with the µC/TCP-IP source code.

See Chapter 7, “Device Driver Implementation” for more information.