主要内容

为基于 STM32 处理器的板配置 STM32CubeMX 中的以太网选项

要在以基于 STM32 的板为目标的模型中使用以太网(TCP、UDP 或 MQTT)模块,您必须使用 STM32CubeMX 配置以太网选项。STM32CubeMX 是配置工具,它使您能够设置这些协议所需的外设和网络功能。

如果您不熟悉 STM32CubeMX 工具,请参阅 https://www.st.com/en/development-tools/stm32cubemx.html

前提条件

完成以下教程:

配置基于 STM32H7xx 的板

本节介绍如何针对基于 STM32H7xx 的板配置 STM32CubeMX 工程中的以太网选项。

  1. 点击启动以在 STM32CubeMX 工具中打开选定 STM32CubeMX 工程。

  2. 在 STM32CubeMX 工具中,您可以配置选定 STM32 处理器的外设。

  3. 在 STM32CubeMX 工具中,转至 System Core > CORTEX_M7 > Parameter Settings > Cortex Interface settings,并将 CPU ICacheCPU DCache 设置为 Enabled

    Cortex interface

  4. 转至 Connectivity > ETH > Mode,并对 Mode 选择 RMII

  5. 导航到 Configurations > NVIC Settings,并启用参数 Ethernet global interruptEthernet wake-up interrupt through EXTI line 86

    Ethernet global

  6. 转至 ETH > Parameters Settings > Ethernet Configuration,确保 Rx Buffers Address 设置为 0x30040200

    注意

    对于基于 STM32H723xx、STM32H735xx、STM32H725xx、STM32H733xx 和 STM32H730xx 的板,请确保将 Rx Buffers Address 设置为 0x30000200

    Ethernet configuration

  7. 转至 Middleware > LWIP > Mode,并启用 Mode

  8. Platform settings 中,将 Found solutions 设置为 LAN8742

    LWIP LAN

  9. 转至 File,然后点击 Save Project

配置基于 STM32F7xx/STM32xx 的板

本节介绍如何针对基于 STM32F7xx 或任何 STM32xx 的板配置 STM32CubeMX 工程中的以太网选项。

  1. 点击启动以在 STM32CubeMX 工具中打开选定 STM32CubeMX 工程。

    注意

    您可以通过类似于基于 STM32F7xx 的板的方式针对基于 STM32F4xx 的板配置以太网选项。

    Launch stm32cubemx

  2. 转至 Connectivity > ETH > Mode,并对 Mode 选择 RMII

  3. 导航到 Configurations > NVIC Settings,并启用参数 Ethernet global interrupt

    Ethernet

  4. 转至 Middleware > LWIP > Mode,并启用 Mode

    LWIP

  5. 转至 File,然后点击 Save Project

配置以太网 FreeRTOS 设置

除了上述通用配置外,还要配置以下设置以在使用 FreeRTOS 作为操作系统时启用以太网功能。

  1. 打开 IOC 文件并导航到 LWIP > Key Options > Infrastructure - Heap and Memory Pools Options

    MEM_SIZE 增大到 10*1024,并将 LWIP_RAMN_HEAP_POINTER 设置为 0x30020000。如果模型包含更多以太网模块或基于复杂度需要更多内存,请增大这些值。确保值保持在有效范围内。

    Ethernet FreeRTOS

  2. 在 IOC 文件中,选择 FreeRTOS。将 Interface 设置为 CMSIS_V2,然后转至 Tasks and Queues。如果启用了 LWIP,则会自动创建默认任务。确保堆栈大小设置为 256,并可以根据应用程序需求选择增大堆栈大小。

    Tasks and Queues

  3. 转至 Config Parameters 并将 TOTAL_HEAP_SIZE 设置为 30,720。根据应用程序需求调整堆大小。

    heap size

另请参阅

| | | | |

主题