ATNGW100 Atmel, ATNGW100 Datasheet - Page 2

KIT AVR32 NETWORK GATEWAY

ATNGW100

Manufacturer Part Number
ATNGW100
Description
KIT AVR32 NETWORK GATEWAY
Manufacturer
Atmel
Series
AVR®32r
Type
MCUr
Datasheets

Specifications of ATNGW100

Contents
Board and Linux Dev. and Debug Toolchain
Processor To Be Evaluated
AT32AP7000
Data Bus Width
32 bit
Interface Type
RS-232, Ethernet, USB
Silicon Manufacturer
Atmel
Core Architecture
AVR
Core Sub-architecture
AVR UC3
Silicon Core Number
AT32AP7000
Silicon Family Name
AVR
Kit Contents
Board CD Docs
Rohs Compliant
Yes
For Use With/related Products
AT32AP7000, AT32AP7001, AT32AP7002
Lead Free Status / RoHS Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATNGW100
Manufacturer:
Atmel
Quantity:
135
2 Benchmarking tools
2.1 Iperf: The TCP/UDP Bandwidth Measurement Tool
3 Linux MACB driver improvements
3.1 Linux socket buffers (skbuff)
2
AVR32705
Iperf is a TCP and UDP bandwidth measurement tool [1]. It can measure the
maximum TCP bandwidth as well as UDP data loss at a given bandwidth, making it
very suitable for measuring the impact of optimizations across the whole TCP/IP
stack. In this application note, it is used to measure the performance of the low-level
MACB Ethernet driver in particular.
The most basic use of iperf involves running one instance in server mode and one
instance in client mode, sending packets from the client to the server. Thus, to
measure how the target’s TCP/IP stack performs on the receive (RX) side, first start
iperf in server mode on the target:
Then, run iperf in client mode on the development host:
Replace “192.168.1.2” with the target’s actual IP address.
By default, the iperf client will generate packets as fast as possible for 10 seconds
and report the average bandwidth. For details about how to customize this, please
see the iperf documentation.
To measure the target’s transmit (TX) performance, simply do the above procedure
the other way around: Start iperf in server mode on the development host, then start it
in client mode on the target with the host’s IP address as a parameter.
The transmit and receive paths of the MACB ethernet driver have stayed mostly the
same since the initial version distributed with the STK1000 BSP 1.0. This section
describes three optimizations that can be done to improve the performance of the
receive path:
1. Store the first fragment of each packet into RAM with a two-byte offset.
2. Use non-coherent memory for the RX buffers.
3. Pass the RX buffers up the stack without copying them into a linear buffer first.
The Linux kernel stores all information related to a network packet in a structure
called “skbuff”, or SKB for short [2]. The raw packet data can be stored in a linear
data area in the SKB itself, but the SKB also contains a list of “fragments” where
additional data can be passed. Each fragment is passed as a physical page reference
along with offset and size information indicating which part of the page contains the
data. The structure is declared in include/linux/skbuff.h and looks like this:
iperf –s
iperf –c 192.168.1.2
struct skb_frag_struct {
};
struct page *page;
__u32 page_offset;
__u32 size;
32066A-AVR32-02/08

Related parts for ATNGW100