Ethernet Firmware Datasheet
|
The Ethernet Firmware boot time measurements in the table below show the current status in the TI Processor SDK for J721E/J7200/J784S4. The test setup is:
Note: It is worth noting that the reported boot time below is not optimized.
Function | Description |
---|---|
main() | Starting time is when Ethernet Firmware application is ready to run in main(). Using main() as starting point decouples these measurements from the EthFw binary loading mechanism. |
Layer-2 switching active | Time elapsed from main() till L2 switching is active.
|
Host port ready for RX/TX | Time elapsed from main() till host port is ready for packet transmission and reception.
|
TCP/IP stack initialized | Time elapsed from main() till TCP/IP stack is initialized.
|
gPTP stack initilized | Time elapsed from main() till gPTP stack is initialized.
|
CPSW Proxy Server initialized | Time elapsed from main() till CPSW Proxy Server is initialized.
|
The time taken to reach each of the ETHFW boot stages described above is summarized in the following table.
Boot stage | J721E | J7200 | J784S4 |
---|---|---|---|
main() | 0 ms | 0 ms | 0 ms |
Layer-2 switching active | 143.94 ms | 188.96 ms | 112.97 ms |
Host port ready for RX/TX | 58.54 ms | 101.22 ms | 29.91 ms |
TCP/IP stack initialized | 90.71 ms | 127.87 ms | 30.75 ms |
gPTP stack initilized | 230.21 ms | 190.56 ms | 94.39 ms |
CPSW Proxy Server initialized | 307.27 ms | 222.49 ms | 132.32 ms |
This table doesn't take into account the time between power-on reset (POR) and the Firmware image loaded and made ready to run, as it will be bootloader dependent.
In a MAC-to-PHY scenario, the Layer-2 switching active time is heavily determined by the time taken by the Ethernet PHYs to establish a link with the remote partner. The total Layer-2 switching active time must take into account the link time corresponding to the PHY configuration being used.
Hardware Configuration | Value |
---|---|
Processing Core | R5F0 and A72 |
Core Frequency | 1 GHz |
Packet buffer memory | DDR |
Hardware checksum offload | Yes |
Scatter-gather TX | Yes |
Scatter-gather RX | No |
Software Configuration | Value |
---|---|
RTOS | FreeRTOS |
RTOS application | EthFw applicaton |
TCP/IP stack | lwIP 2.2.0 |
Linux client tool version | iperf v2.0.5 |
Inter-core network interface allows EthFw to communicate with another core using standard TCP/IP protocol suite. Tap user-space application serves as a medium to facilitate the exchange of Ethernet frames between the A72 Linux and R5_0 (MCU2_0) master core.
Test | Bandwidth (Mbps) | CPU Load (%) |
---|---|---|
TCP RX | 11.8 | 27 |
TCP TX | 11.7 | 26 |
TCP Bidirectional | RX=5.83, TX=5.98 | 32 |
Test | Datagram Length = 64B | Datagram Length = 256B | Datagram Length = 512B | Datagram Length = 1470B | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Bandwidth (Mbps) |
CPU Load (%) |
Packet Loss (%) |
Bandwidth (Mbps) |
CPU Load (%) |
Packet Loss (%) |
Bandwidth (Mbps) |
CPU Load (%) |
Packet Loss (%) |
Bandwidth (Mbps) |
CPU Load (%) |
Packet Loss (%) | |
UDP RX | 0.205 | 14 | 0.00 | 1.00 | 16 | 0.00 | 2.0 | 16 | 0.00 | 5.00 | 18 | 0.00 |
0.410 | 19 | 0.00 | 2.00 | 21 | 0.00 | 4.00 | 22 | 0.00 | 8.00 | 21 | 0.00 | |
0.511 | 21 | 0.00 | 10.00 | 24 | 0.00 | |||||||
UDP RX (Max) | 0.512 | 22 | 0.32 | 2.05 | 22 | 0.34 | 4.09 | 23 | 0.71 | 11.8 | 26 | 0.57 |
UDP TX (Max) | 15.5 | 90 | 0.0038 | 32.0 | 82 | 0.0064 | 41.4 | 78 | 0.003 | 51.3 | 80 | 0.0023 |
EthFw provides support to enable VEPA (Virtual Ethernet Port Aggregator) functionality with CPSW capable of multihost data flow. Multihost is a CPSW ALE feature that enables packets to be sent and received on host port.
VEPA or hairpin mode allows the traffic to return to the same port (host port in this case) at which it ingressed on. It enables to forward packets directly to clients via host port increasing intercore virtual ethernet communication performance.
Test | Bandwidth (Mbps) | CPU Load (%) |
---|---|---|
TCP RX | 238 | 93 |
TCP TX | 237 | 92 |
TCP Bidirectional | RX=91, TX=106 | 76 |
Test | Datagram Length = 64B | Datagram Length = 256B | Datagram Length = 512B | Datagram Length = 1470B | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Bandwidth (Mbps) |
CPU Load (%) |
Packet Loss (%) |
Bandwidth (Mbps) |
CPU Load (%) |
Packet Loss (%) |
Bandwidth (Mbps) |
CPU Load (%) |
Packet Loss (%) |
Bandwidth (Mbps) |
CPU Load (%) |
Packet Loss (%) | |
UDP RX | 5.02 | 27 | 0.00 | 25.3 | 37 | 0.00 | 25.1 | 27 | 0.00 | 25.0 | 20 | 0.00 |
10.0 | 46 | 0.00 | 51.1 | 79 | 0.13 | 50.6 | 43 | 0.006 | 50.0 | 30 | 0.00 | |
15.0 | 90 | 0.096 | 102 | 87 | 0.16 | 101 | 51 | 0.00 | ||||
UDP RX (Max) | 20.1 | 91 | 0.71 | 67.7 | 91 | 0.88 | 110 | 90 | 0.25 | 193 | 93 | 0.11 |
UDP TX (Max) | 28.6 | 100 | 0.003 | 98.3 | 100 | 0.02 | 169 | 100 | 0.001 | 327 | 100 | 0.001 |
Revision | Date | Author | Description | Status -----— |
---|---|---|---|---|
1.1 | 28 Nov 2023 | Misael Lopez | Added SDK 9.1 results | Approved |
1.2 | 25 Mar 2024 | Misael Lopez | Added SDK 9.2 results | Approved |
1.3 | 26 Jul 2024 | Vaibhav Jindal | Added SDK 10.0 results | Approved |