mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
ci(esp_eth): add S31 coverage and drop external driver test_apps
Add YT8531/S31 tests for esp_eth, eth basic, and iperf. Remove test_apps coverage of drivers maintained outside IDF.
This commit is contained in:
committed by
Euripedes Rocha
parent
a6f543a25b
commit
c024b2e8a1
@@ -2,8 +2,8 @@
|
||||
|
||||
components/esp_eth/test_apps:
|
||||
enable:
|
||||
- if: IDF_TARGET in ["esp32", "esp32p4"]
|
||||
reason: ESP32 and ESP32P4 have internal EMAC. SPI Ethernet runners are based on ESP32.
|
||||
- if: IDF_TARGET in ["esp32", "esp32p4", "esp32s31"]
|
||||
reason: ESP32, ESP32P4 and ESP32S31 have internal EMAC.
|
||||
depends_components:
|
||||
- esp_eth
|
||||
- esp_http_client
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
| Supported Targets | ESP32 | ESP32-P4 |
|
||||
| ----------------- | ----- | -------- |
|
||||
| Supported Targets | ESP32 | ESP32-P4 | ESP32-S31 |
|
||||
| ----------------- | ----- | -------- | --------- |
|
||||
|
||||
# Ethernet Test
|
||||
|
||||
|
||||
@@ -104,117 +104,15 @@ def test_esp32p4_emac_clko(dut: IdfDut) -> None:
|
||||
dut.run_all_single_board_cases(group='esp_emac_clk_out')
|
||||
|
||||
|
||||
# ----------- LAN8720 -----------
|
||||
@pytest.mark.eth_lan8720
|
||||
# ----------- YT8531 ESP32S31 -----------
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
'config, target',
|
||||
[
|
||||
'default_lan8720',
|
||||
pytest.param('default_yt8531_esp32s31', 'esp32s31', marks=[pytest.mark.eth_yt8531]),
|
||||
],
|
||||
indirect=True,
|
||||
indirect=['target'],
|
||||
)
|
||||
@idf_parametrize('target', ['esp32'], indirect=['target'])
|
||||
def test_esp_eth_lan8720(dut: IdfDut, eth_test_runner: 'EthTestRunner') -> None:
|
||||
eth_test_runner.run_ethernet_test_apps(dut)
|
||||
dut.serial.hard_reset()
|
||||
eth_test_runner.run_ethernet_l2_test(dut)
|
||||
|
||||
|
||||
# ----------- RTL8201 -----------
|
||||
@pytest.mark.eth_rtl8201
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'default_rtl8201',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32'], indirect=['target'])
|
||||
def test_esp_eth_rtl8201(dut: IdfDut, eth_test_runner: 'EthTestRunner') -> None:
|
||||
eth_test_runner.run_ethernet_test_apps(dut)
|
||||
dut.serial.hard_reset()
|
||||
eth_test_runner.run_ethernet_l2_test(dut)
|
||||
|
||||
|
||||
# ----------- KSZ8041 -----------
|
||||
@pytest.mark.eth_ksz8041
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'default_ksz8041',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32'], indirect=['target'])
|
||||
def test_esp_eth_ksz8041(dut: IdfDut, eth_test_runner: 'EthTestRunner') -> None:
|
||||
eth_test_runner.run_ethernet_test_apps(dut)
|
||||
dut.serial.hard_reset()
|
||||
eth_test_runner.run_ethernet_l2_test(dut)
|
||||
|
||||
|
||||
# ----------- DP83848 -----------
|
||||
@pytest.mark.eth_dp83848
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'default_dp83848',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32'], indirect=['target'])
|
||||
def test_esp_eth_dp83848(dut: IdfDut, eth_test_runner: 'EthTestRunner') -> None:
|
||||
eth_test_runner.run_ethernet_test_apps(dut)
|
||||
dut.serial.hard_reset()
|
||||
eth_test_runner.run_ethernet_l2_test(dut)
|
||||
|
||||
|
||||
# ----------- W5500 -----------
|
||||
@pytest.mark.eth_w5500
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'default_w5500',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32'], indirect=['target'])
|
||||
def test_esp_eth_w5500(dut: IdfDut, eth_test_runner: 'EthTestRunner') -> None:
|
||||
eth_test_runner.run_ethernet_test_apps(dut)
|
||||
dut.serial.hard_reset()
|
||||
eth_test_runner.run_ethernet_l2_test(dut)
|
||||
dut.serial.hard_reset()
|
||||
eth_test_runner.run_ethernet_heap_alloc_test(dut)
|
||||
|
||||
|
||||
# ----------- KSZ8851SNL -----------
|
||||
@pytest.mark.eth_ksz8851snl
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'default_ksz8851snl',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32'], indirect=['target'])
|
||||
def test_esp_eth_ksz8851snl(dut: IdfDut, eth_test_runner: 'EthTestRunner') -> None:
|
||||
eth_test_runner.run_ethernet_test_apps(dut)
|
||||
dut.serial.hard_reset()
|
||||
eth_test_runner.run_ethernet_l2_test(dut)
|
||||
dut.serial.hard_reset()
|
||||
eth_test_runner.run_ethernet_heap_alloc_test(dut)
|
||||
|
||||
|
||||
# ----------- DM9051 -----------
|
||||
@pytest.mark.eth_dm9051
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'default_dm9051',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32'], indirect=['target'])
|
||||
def test_esp_eth_dm9051(dut: IdfDut, eth_test_runner: 'EthTestRunner') -> None:
|
||||
def test_esp32s31_ethernet(dut: IdfDut, eth_test_runner: 'EthTestRunner') -> None:
|
||||
eth_test_runner.run_ethernet_test_apps(dut)
|
||||
dut.serial.hard_reset()
|
||||
eth_test_runner.run_ethernet_l2_test(dut)
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
|
||||
CONFIG_UNITY_ENABLE_FIXTURE=y
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=n
|
||||
CONFIG_ETHERNET_SPI_DEV0_DM9051=y
|
||||
CONFIG_ETHERNET_SPI_DEV1_NONE=y
|
||||
CONFIG_ETHERNET_SPI_CLOCK_MHZ=20
|
||||
CONFIG_ETHERNET_DEFAULT_EVENT_HANDLER=n
|
||||
|
||||
# SPI specific test configuration
|
||||
CONFIG_ETH_TEST_MAC_ADDR_UI=n
|
||||
CONFIG_ETH_TEST_PHY_ADDRESS_DISABLED=y
|
||||
CONFIG_ETH_TEST_STRESS_TEST_TASK_PRIO=20
|
||||
|
||||
# W5500 specific test configuration
|
||||
# FILL_RX_BUFFER_ITERATIONS = 16384 / 1522 = 10.8
|
||||
CONFIG_ETH_TEST_FILL_RX_BUFFER_ITERATIONS=11
|
||||
CONFIG_ETH_TEST_10MB_LOOPBACK_DISABLED=y
|
||||
@@ -1,19 +0,0 @@
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
|
||||
CONFIG_UNITY_ENABLE_FIXTURE=y
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_DP83848=y
|
||||
CONFIG_ETHERNET_PHY_INTERFACE_RMII=y
|
||||
CONFIG_ETHERNET_RMII_CLK_OUTPUT=y
|
||||
CONFIG_ETHERNET_RMII_CLK_EXT_LOOPBACK_EN=n
|
||||
CONFIG_ETHERNET_RMII_CLK_GPIO=17
|
||||
CONFIG_ETHERNET_DEFAULT_EVENT_HANDLER=n
|
||||
|
||||
# DP83848 specific test configuration
|
||||
CONFIG_ETH_TEST_FILL_RX_BUFFER_ITERATIONS=10
|
||||
CONFIG_ETH_TEST_LOOPBACK_WITH_AUTONEGOTIATION_DISABLED=y
|
||||
@@ -1,15 +0,0 @@
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
|
||||
CONFIG_UNITY_ENABLE_FIXTURE=y
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_KSZ80XX=y
|
||||
CONFIG_ETHERNET_DEFAULT_EVENT_HANDLER=n
|
||||
|
||||
# KSZ8041 specific test configuration
|
||||
CONFIG_ETH_TEST_FILL_RX_BUFFER_ITERATIONS=10
|
||||
CONFIG_ETH_TEST_10MB_LOOPBACK_DISABLED=y
|
||||
@@ -1,23 +0,0 @@
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
|
||||
CONFIG_UNITY_ENABLE_FIXTURE=y
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=n
|
||||
CONFIG_ETHERNET_SPI_DEV0_KSZ8851SNL=y
|
||||
CONFIG_ETHERNET_SPI_DEV1_NONE=y
|
||||
CONFIG_ETHERNET_SPI_CLOCK_MHZ=20
|
||||
CONFIG_ETHERNET_DEFAULT_EVENT_HANDLER=n
|
||||
|
||||
# SPI specific test configuration
|
||||
CONFIG_ETH_TEST_MAC_ADDR_UI=n
|
||||
CONFIG_ETH_TEST_PHY_ADDRESS_DISABLED=y
|
||||
CONFIG_ETH_TEST_STRESS_TEST_TASK_PRIO=20
|
||||
|
||||
# KSZ8851SNL specific test configuration
|
||||
# FILL_RX_BUFFER_ITERATIONS = 12288 / 1522 = 8.1
|
||||
CONFIG_ETH_TEST_FILL_RX_BUFFER_ITERATIONS=9
|
||||
@@ -1,21 +0,0 @@
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
|
||||
CONFIG_UNITY_ENABLE_FIXTURE=y
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# interface configuration
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_LAN87XX=y
|
||||
CONFIG_ETHERNET_PHY_INTERFACE_RMII=y
|
||||
CONFIG_ETHERNET_RMII_CLK_OUTPUT=y
|
||||
CONFIG_ETHERNET_RMII_CLK_EXT_LOOPBACK_EN=n
|
||||
CONFIG_ETHERNET_RMII_CLK_GPIO=17
|
||||
CONFIG_ETHERNET_PHY_ADDR=0
|
||||
CONFIG_ETHERNET_DEFAULT_EVENT_HANDLER=n
|
||||
|
||||
# LAN8720 specific test configuration
|
||||
CONFIG_ETH_TEST_FILL_RX_BUFFER_ITERATIONS=10
|
||||
CONFIG_ETH_TEST_LOOPBACK_WITH_AUTONEGOTIATION_DISABLED=y
|
||||
CONFIG_ETH_TEST_LAN8720_ERRATA_ENABLED=y
|
||||
@@ -1,20 +0,0 @@
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
|
||||
CONFIG_UNITY_ENABLE_FIXTURE=y
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_PHY_RTL8201=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_RMII_CLK_INPUT=y
|
||||
CONFIG_ETHERNET_MDC_GPIO=16
|
||||
CONFIG_ETHERNET_MDIO_GPIO=17
|
||||
CONFIG_ETHERNET_PHY_RST_GPIO=-1
|
||||
CONFIG_ETHERNET_PHY_ADDR=0
|
||||
CONFIG_ETHERNET_DEFAULT_EVENT_HANDLER=n
|
||||
|
||||
# RTL8201 specific test configuration
|
||||
CONFIG_ETH_TEST_FILL_RX_BUFFER_ITERATIONS=10
|
||||
CONFIG_ETH_TEST_LOOPBACK_WITH_AUTONEGOTIATION_DISABLED=y
|
||||
@@ -1,25 +0,0 @@
|
||||
CONFIG_IDF_TARGET="esp32"
|
||||
|
||||
CONFIG_UNITY_ENABLE_FIXTURE=y
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=n
|
||||
CONFIG_ETHERNET_SPI_DEV0_W5500=y
|
||||
CONFIG_ETHERNET_SPI_DEV1_NONE=y
|
||||
CONFIG_ETHERNET_SPI_CLOCK_MHZ=20
|
||||
CONFIG_ETHERNET_DEFAULT_EVENT_HANDLER=n
|
||||
|
||||
# SPI specific test configuration
|
||||
CONFIG_ETH_TEST_MAC_ADDR_UI=n
|
||||
CONFIG_ETH_TEST_PHY_ADDRESS_DISABLED=y
|
||||
CONFIG_ETH_TEST_STRESS_TEST_TASK_PRIO=20
|
||||
|
||||
# W5500 specific test configuration
|
||||
# FILL_RX_BUFFER_ITERATIONS = 16384 / 1522 = 10.8
|
||||
CONFIG_ETH_TEST_FILL_RX_BUFFER_ITERATIONS=11
|
||||
CONFIG_ETH_TEST_LOOPBACK_DISABLED=y
|
||||
CONFIG_ETH_TEST_W5500_IP6_MCAST_DEVIATION_ENABLED=y
|
||||
@@ -0,0 +1,21 @@
|
||||
CONFIG_IDF_TARGET="esp32s31"
|
||||
|
||||
CONFIG_UNITY_ENABLE_FIXTURE=y
|
||||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# interface configuration
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_INTERFACE_DEFAULT=y
|
||||
CONFIG_ETHERNET_PHY_YT8531=y
|
||||
CONFIG_ETHERNET_DEFAULT_EVENT_HANDLER=n
|
||||
|
||||
# specific test configuration
|
||||
# ESP32S31 has smaller internal Rx FIFO, hence more Rx buffers is used by default
|
||||
CONFIG_ETH_TEST_FILL_RX_BUFFER_ITERATIONS=20
|
||||
CONFIG_ETH_TEST_LOOPBACK_WITH_AUTONEGOTIATION_DISABLED=y
|
||||
CONFIG_ETH_TEST_PHY_1000M_CAPABLE=y
|
||||
# ESP32S31 provides only two universally administered MAC addresses in eFuse, so the internal EMAC
|
||||
# gets a locally administered ETH MAC by default (see CONFIG_ESP32S31_UNIVERSAL_MAC_ADDRESSES).
|
||||
CONFIG_ETH_TEST_MAC_ADDR_UI=n
|
||||
@@ -5,8 +5,6 @@ examples/ethernet/basic:
|
||||
- if: INCLUDE_DEFAULT == 1
|
||||
disable:
|
||||
- if: IDF_TARGET not in ["esp32", "esp32p4", "esp32s31"]
|
||||
disable_test:
|
||||
- if: IDF_TARGET == "esp32s31"
|
||||
temporary: true
|
||||
reason: lack of runners
|
||||
depends_components:
|
||||
@@ -20,11 +18,10 @@ examples/ethernet/iperf:
|
||||
- if: IDF_TARGET in ["esp32h21", "esp32h4"]
|
||||
temporary: true
|
||||
reason: not supported yet # TODO: [ESP32H21] IDF-11581 [ESP32H4] IDF-12360
|
||||
- if: IDF_TARGET not in ["esp32", "esp32p4"]
|
||||
- if: IDF_TARGET not in ["esp32", "esp32p4", "esp32s31"]
|
||||
temporary: true
|
||||
reason: lack of runners
|
||||
depends_components:
|
||||
- *common_components
|
||||
- esp_eth
|
||||
- esp_netif
|
||||
- lwip
|
||||
|
||||
@@ -62,11 +62,12 @@ menu "Example Ethernet Configuration"
|
||||
config EXAMPLE_ETH_RMII_CLK_EXT_LOOPBACK_IN_GPIO
|
||||
depends on EXAMPLE_ETH_RMII_CLK_EXT_LOOPBACK_EN
|
||||
int "RMII CLK loopback input GPIO"
|
||||
range ENV_GPIO_RANGE_MIN ENV_GPIO_RANGE_MAX
|
||||
range -1 ENV_GPIO_RANGE_MAX
|
||||
default 32 if IDF_TARGET_ESP32P4
|
||||
default 0
|
||||
help
|
||||
Set GPIO number used by RMII REF CLK input to loopback internally generated RMII CLK output.
|
||||
You can set -1 to use internal REF CLK routing if target supports it.
|
||||
See datasheet for available GPIOs.
|
||||
|
||||
if SOC_EMAC_USE_MULTI_IO_MUX
|
||||
|
||||
@@ -14,6 +14,7 @@ from pytest_embedded import Dut
|
||||
pytest.param('lan8720_esp32', 'esp32', marks=[pytest.mark.eth_lan8720]),
|
||||
pytest.param('defaults_esp32p4', 'esp32p4', marks=[pytest.mark.eth_ip101]),
|
||||
pytest.param('defaults_esp32p4v1', 'esp32p4', marks=[pytest.mark.eth_ip101, pytest.mark.esp32p4_rev1]),
|
||||
pytest.param('defaults_esp32s31', 'esp32s31', marks=[pytest.mark.eth_yt8531]),
|
||||
],
|
||||
indirect=['target'],
|
||||
)
|
||||
|
||||
27
examples/ethernet/basic/sdkconfig.ci.alternate_esp32s31
Normal file
27
examples/ethernet/basic/sdkconfig.ci.alternate_esp32s31
Normal file
@@ -0,0 +1,27 @@
|
||||
CONFIG_IDF_TARGET="esp32s31"
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
CONFIG_EXAMPLE_ETH_PHY_INTERFACE_RGMII=y
|
||||
CONFIG_EXAMPLE_ETH_RGMII_RX_CLK_GPIO=14
|
||||
CONFIG_EXAMPLE_ETH_RGMII_TX_CLK_GPIO=13
|
||||
CONFIG_EXAMPLE_ETH_RGMII_PHY_REF_CLK_GPIO=-1
|
||||
CONFIG_EXAMPLE_ETH_RGMII_TX_CTL_GPIO=12
|
||||
CONFIG_EXAMPLE_ETH_RGMII_TXD0_GPIO=8
|
||||
CONFIG_EXAMPLE_ETH_RGMII_TXD1_GPIO=9
|
||||
CONFIG_EXAMPLE_ETH_RGMII_TXD2_GPIO=10
|
||||
CONFIG_EXAMPLE_ETH_RGMII_TXD3_GPIO=11
|
||||
CONFIG_EXAMPLE_ETH_RGMII_RX_CTL_GPIO=15
|
||||
CONFIG_EXAMPLE_ETH_RGMII_RXD0_GPIO=19
|
||||
CONFIG_EXAMPLE_ETH_RGMII_RXD1_GPIO=18
|
||||
CONFIG_EXAMPLE_ETH_RGMII_RXD2_GPIO=17
|
||||
CONFIG_EXAMPLE_ETH_RGMII_RXD3_GPIO=16
|
||||
|
||||
CONFIG_EXAMPLE_ETH_MDC_GPIO=5
|
||||
CONFIG_EXAMPLE_ETH_MDIO_GPIO=6
|
||||
CONFIG_EXAMPLE_ETH_PHY_RST_GPIO=7
|
||||
|
||||
CONFIG_EXAMPLE_ETH_DEINIT_AFTER_S=10
|
||||
|
||||
CONFIG_EXAMPLE_ETH_PHY_RST_TIMING_EN=y
|
||||
4
examples/ethernet/basic/sdkconfig.ci.defaults_esp32s31
Normal file
4
examples/ethernet/basic/sdkconfig.ci.defaults_esp32s31
Normal file
@@ -0,0 +1,4 @@
|
||||
CONFIG_IDF_TARGET="esp32s31"
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
@@ -1,5 +1,5 @@
|
||||
| Supported Targets | ESP32 | ESP32-P4 |
|
||||
| ----------------- | ----- | -------- |
|
||||
| Supported Targets | ESP32 | ESP32-P4 | ESP32-S31 |
|
||||
| ----------------- | ----- | -------- | --------- |
|
||||
|
||||
# Ethernet iperf Example
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||
"""
|
||||
Test case for iperf example.
|
||||
@@ -275,3 +275,19 @@ def test_esp_eth_iperf_ksz8851snl(
|
||||
log_performance: Callable[[str, object], None],
|
||||
) -> None:
|
||||
test_esp_eth_iperf(dut, log_performance, spi_eth=True, udp_rx_bw_lim=10)
|
||||
|
||||
|
||||
@pytest.mark.eth_yt8531
|
||||
@pytest.mark.parametrize(
|
||||
'config',
|
||||
[
|
||||
'default_yt8531_esp32s31',
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
@idf_parametrize('target', ['esp32s31'], indirect=['target'])
|
||||
def test_esp_eth_iperf_yt8531(
|
||||
dut: Dut,
|
||||
log_performance: Callable[[str, object], None],
|
||||
) -> None:
|
||||
test_esp_eth_iperf(dut, log_performance)
|
||||
|
||||
@@ -1,40 +1,4 @@
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
|
||||
@@ -1,40 +1,4 @@
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
@@ -1,40 +1,4 @@
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
@@ -1,43 +1,7 @@
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
CONFIG_IDF_TARGET="esp32p4"
|
||||
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
|
||||
@@ -1,44 +1,8 @@
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
CONFIG_IDF_TARGET="esp32p4"
|
||||
CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y
|
||||
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
|
||||
@@ -1,40 +1,4 @@
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
@@ -1,40 +1,4 @@
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
|
||||
@@ -1,40 +1,4 @@
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
@@ -1,40 +1,4 @@
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_PHY_RTL8201=y
|
||||
|
||||
@@ -1,40 +1,4 @@
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# --------------------------------
|
||||
# Performance optimization options
|
||||
# --------------------------------
|
||||
# The lwIP and iperf tasks have a serial dependency (i.e., iperf must wait for lwIP to process packets),
|
||||
# meaning that running in multi-core mode does not significantly improve performance. Additionally,
|
||||
# IRAM optimizations have a more noticeable effect in single-core mode.
|
||||
# However, while a single-core configuration can enhance iperf performance in controlled or isolated
|
||||
# testing scenarios, it may not be optimal for real-world applications where the system also needs to
|
||||
# handle additional, non-network-related tasks. In such cases, multi-core configurations might be better
|
||||
# suited for balancing workloads and ensuring overall system responsiveness.
|
||||
|
||||
# Run FreeRTOS only on the first core
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Enable lwIP IRAM optimization
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=y
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
|
||||
|
||||
# Enable Ethernet IRAM optimization
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=y
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_SPI_SUPPORT=y
|
||||
|
||||
10
examples/ethernet/iperf/sdkconfig.ci.default_yt8531_esp32s31
Normal file
10
examples/ethernet/iperf/sdkconfig.ci.default_yt8531_esp32s31
Normal file
@@ -0,0 +1,10 @@
|
||||
# Common / performance options live in sdkconfig.defaults
|
||||
|
||||
CONFIG_IDF_TARGET="esp32s31"
|
||||
|
||||
CONFIG_ETH_ENABLED=y
|
||||
CONFIG_ETH_USE_ESP32_EMAC=y
|
||||
|
||||
# Config Ethernet Init
|
||||
CONFIG_ETHERNET_INTERNAL_SUPPORT=y
|
||||
CONFIG_ETHERNET_PHY_YT8531=y
|
||||
@@ -12,28 +12,11 @@
|
||||
|
||||
CONFIG_IDF_TARGET="esp32c2"
|
||||
|
||||
# Increase main task stack size
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168
|
||||
|
||||
# Enable filesystem for console commands history storage
|
||||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"
|
||||
|
||||
# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
|
||||
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
||||
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
|
||||
|
||||
# Disable watch dog
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
|
||||
# Disable lwIP IRAM optimization
|
||||
# Disable lwIP IRAM optimization (overrides sdkconfig.defaults)
|
||||
CONFIG_LWIP_IRAM_OPTIMIZATION=n
|
||||
CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=n
|
||||
|
||||
# Disable Ethernet IRAM optimization
|
||||
# Disable Ethernet IRAM optimization (overrides sdkconfig.defaults)
|
||||
CONFIG_ETH_IRAM_OPTIMIZATION=n
|
||||
|
||||
# Config Ethernet Init and Choose w5500
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
examples/network/bridge:
|
||||
disable:
|
||||
- if: IDF_TARGET in ["esp32h21", "esp32h4", "esp32s31"]
|
||||
- if: IDF_TARGET in ["esp32h21", "esp32h4"]
|
||||
temporary: true
|
||||
reason: not supported yet # TODO: [ESP32H21] IDF-12203 [ESP32H4] IDF-12712 [ESP32S31] IDF-14929
|
||||
reason: not supported yet # TODO: [ESP32H21] IDF-12203 [ESP32H4] IDF-12712
|
||||
disable_test:
|
||||
- if: IDF_TARGET != "esp32"
|
||||
reason: Generic functionality, no need to be run on specific targets
|
||||
@@ -17,9 +17,6 @@ examples/network/bridge:
|
||||
examples/network/eth2ap:
|
||||
disable:
|
||||
- if: SOC_WIFI_SUPPORTED != 1
|
||||
- if: IDF_TARGET in ["esp32s31"]
|
||||
temporary: true
|
||||
reason: not support yet # TODO: [ESP32S31] IDF-14929
|
||||
depends_components:
|
||||
- esp_eth
|
||||
- esp_wifi
|
||||
@@ -27,10 +24,6 @@ examples/network/eth2ap:
|
||||
examples/network/simple_sniffer:
|
||||
disable:
|
||||
- if: SOC_WIFI_SUPPORTED != 1
|
||||
disable_test:
|
||||
- if: IDF_TARGET in ["esp32s31"]
|
||||
temporary: true
|
||||
reason: lack of runners
|
||||
depends_components:
|
||||
- esp_wifi
|
||||
- fatfs
|
||||
@@ -39,9 +32,6 @@ examples/network/simple_sniffer:
|
||||
examples/network/sta2eth:
|
||||
disable:
|
||||
- if: SOC_WIFI_SUPPORTED != 1
|
||||
- if: IDF_TARGET in ["esp32s31"]
|
||||
temporary: true
|
||||
reason: not support yet # TODO: [ESP32S31] IDF-14929
|
||||
depends_components:
|
||||
- esp_eth
|
||||
- esp_wifi
|
||||
@@ -50,10 +40,6 @@ examples/network/sta2eth:
|
||||
- http-server
|
||||
|
||||
examples/network/vlan_support:
|
||||
disable:
|
||||
- if: IDF_TARGET in ["esp32s31"]
|
||||
temporary: true
|
||||
reason: not support yet # TODO: [ESP32S31] IDF-14929
|
||||
disable_test:
|
||||
- if: IDF_TARGET not in ["esp32"]
|
||||
reason: Runner uses esp32 ethernet kit
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | -------- |
|
||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | -------- | --------- |
|
||||
|
||||
# Bridge Example
|
||||
(See the README.md file in the upper level 'examples' directory for more information about examples.)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- |
|
||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | --------- |
|
||||
|
||||
# eth2ap Example
|
||||
(See the README.md file in the upper level 'examples' directory for more information about examples. To try a more complex application about Ethernet to WiFi data forwarding, please go to [iot-solution](https://github.com/espressif/esp-iot-solution/tree/release/v1.0/examples/eth2wifi).)
|
||||
|
||||
@@ -56,6 +56,7 @@ def _sniffer_packets_check(dut: Dut, channel: int, packet_num: int) -> None:
|
||||
'esp32c61',
|
||||
'esp32s2',
|
||||
'esp32s3',
|
||||
'esp32s31',
|
||||
],
|
||||
indirect=['target'],
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- |
|
||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | --------- |
|
||||
|
||||
# WiFi station to "Wired" interface L2 forwarder
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |
|
||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- | --------- |
|
||||
|
||||
# Ethernet VLAN Support Example
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ env_markers =
|
||||
eth_rtl8201: connected via RTL8201 ethernet transceiver
|
||||
eth_ksz8041: connected via KSZ8041 ethernet transceiver
|
||||
eth_dp83848: connected via DP83848 ethernet transceiver
|
||||
eth_yt8531: connected via YT8531 ethernet transceiver
|
||||
eth_w5500: SPI Ethernet module with two W5500
|
||||
eth_ksz8851snl: SPI Ethernet module with two KSZ8851SNL
|
||||
eth_dm9051: SPI Ethernet module with two DM9051
|
||||
|
||||
Reference in New Issue
Block a user