3
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

STM32F769 Discovery Kit > Ethernet > pingが通るまでの手順 > trap: PHY addressの指定でハマる (STM32CubeIDEのデフォルト1では動かない)

動作環境
Ubuntu 18.04 LTS
STM32CubeMX v5.2.1
STM32CubeIDE v1.0.1
基板: STM32F769 Discovery Kit
(Ethernet PHY:  LAN8742A-CZ-TR from MICROCHIP @ UM2033 Rev 6 p19 6.11 Ethernet)

概要

  • Ethernet設定をしてpingが通るようにする

大切なこと (PHY addressを0にする)

STM32CubeIDEを使った設定ではPHY addressは1に設定される。そのままでは動かない。

PHY addressは0にすること

これを知らないで3日溶かした (平日の夜 * 3)。

  • LWIP with STM32F769
    • > Make sure you set the PHY address to 0. STM32CubeMX application STILL wants to set it to 1.

ここで「PHYアドレスは0にしろ」とある。STM32CubeIDE(STM32CubeMX)では初期値が1になる。

ネットワーク環境

  • ゲートウェイ: 192.168.0.1
  • PC: 192.168.0.9
  • STM32F769 Discovery Kit: 192.168.0.10とする

手順

手順は以下となる。

  • `1. STM32 Projectプロジェクトを作る

    • Part Number Searchにて「769NI」
    • Reference: STM32F769NIHxを選択
    • プロジェクト名(任意): F769NI_ping_190808_2138
  • `2. FREERTOSを有効にする

    • defaultTaskのStack Sizeを512に増やしておく
      • 今回の実装では不要かもしれないが

Screenshot from 2019-08-08 21-46-01.png

  • `3. ETHを設定する
    • Mode: RMIIにする
    • PHY Address: 0にする

Screenshot from 2019-08-08 22-27-32.png

  • `4. RCCのHSEを設定する
    • ST-LINK側のオシレータを使用することにした > BYPASS Clock Source選択

Screenshot from 2019-08-08 21-46-20.png

  • `5. LWIPを有効にする
    • LWIP_DHCP (DHCP Module): Disabledにする
    • IP_ADDRESS : 192.168.000.010
    • NETMASK: 255.255.255.000
    • GATEWAY: 192.168.000.001

Screenshot from 2019-08-08 21-46-34.png

  • `6. SYSの設定をする
    • Debug: Serial Wire
      • 今回は使わないかもしれない
    • Timerbase Source: TIM14 (Sys Tick以外の任意)

Screenshot from 2019-08-08 21-47-37.png

  • `7. Clock 設定をする
    • HSEのInput Frequency: 8MHzに
    • 他の設定は下記の画像を参考に

Screenshot from 2019-08-08 21-27-25.png

  • `8. 保存してコードを生成する

    • > Do you want generate Code?
    • [Yes]
  • `9. ビルドして実行すると192.168.0.10にpingが通るようになる

トラブル

上記を実行して、STM32に接続できなくなった時はLWIPを再設定してみる。

その後、ビルドしてデバッガ接続するが、デバッガ接続できない時は下記を実施する。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
3
Help us understand the problem. What are the problem?