2017年12月13日

NUCLEO-F767ZI ethernet driver for MicroPython

先日動作確認した、NUCLEO-F767ZI用Ethernetドライバを追加したMicroPythonを以下で公開しました。

https://github.com/boochow/micropython/tree/stm32-ethernet

ビルド手順は以下の通りです。(CROSS_COMPILE指定は各自の環境に合わせて変更してください)
git clone -b stm32-ethernet https://github.com/boochow/micropython.git
cd micropython
git submodule update --init
make -C mpy-cross
make -C ports/stm32 MICROPY_PY_ETH=RMII BOARD=NUCLEO_F767ZI CROSS_COMPILE=~/gcc-arm-none-eabi-5_4-2016q3/bin/arm-none-eabi-

ボード用のHAL設定ファイル(boards/NUCLEO_F767ZI/stm32f7xx_hal_conf.h)やリンカスクリプト(boards/stm32f767.ld)を修正していますので、NUCLEO-F767ZI以外のボードでは動作しません。
ですが、同じ構成(CPUがSTM32F7、PHYがLAN8742AでCPUとのインタフェースがRMII)であれば、同様の修正を施せば動作するのではないかと思います。

同じ構成になっていると思われるボードはNUCLEO-F746ZG, NUCLEO-H743ZI, STM32F746G-DISCOですが、STM32F746G-DISCOは使用しているGPIOが違う(TXD1がPG14)ため、ethernetif.c内の初期化コードを修正する必要があります。

ちなみに現状のコードではUM1974に記載されているGPIOを使っています。
記載は以下の通りです。

nucleo-ether-config.png
posted by boochow at 01:09| Comment(0) | stm32 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
人気記事