メインコンテンツ

STM32 プロセッサ ベースのボード向けの STM32CubeMX でのイーサネット オプションの構成

STM32 ベースのボードをターゲットとするモデルで Ethernet (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 ICache][CPU DCache]Enabled に設定します。

    Cortex interface

  4. [Connectivity][ETH][Mode] に移動し、[Mode] として RMII を選択します。

  5. [Configurations][NVIC Settings] に移動し、[Ethernet global interrupt] パラメーターと [Ethernet 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 ツールで開きます。

    メモ

    STM32F4xx ベースのボードのイーサネット オプションは、STM32F7xx ベースのボードと同様に構成できます。

    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 ブロックが含まれる場合や、複雑度に基づいて追加のメモリが必要な場合、これらの値を増やします。値が有効な範囲内にあることを確認します。

    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

参考

| | | | |

トピック