MicroPython用のNUCLEO-F767ZIのethernetドライバがアップデート

以前公開したMicroPython用のNUCLEO-F767ZIのethernetドライバですが、先日MicroPython作者のDamien. P. Georgeさんが更新してくださいました。

stm32: Add support for ETH RMII peripheral by dpgeorge · Pull Request #3808 · micropython/micropython

このドライバは、もともとDamienさんがMicroPythonにlwIP(TCP/IPプロトコルスタック)を導入するパッチをつくり、それに対して私がNUCLEO-F767ZIのEthernetを使えるように、lwIPの下位層のEthernetドライバを作成(というかSTMicro製のドライバ+そのドライバを叩くMicroPythonのモジュールを作成)したものです。

その後、MicroPython自体がアップデートされ、それに合わせてDamienさんのパッチもアップデートされ、ついでに?このドライバ、およびforester3さんがSTM32F746G-Discoveryボードに移植されたものもアップデートして最新のMicroPythonでビルドできるようにしていただけました。

ビルド手順は以下の通りです(NUCLEO-F767ZIの場合)。[2018/6/23追記:その後パッチが更新されましたが、その結果masterブランチのmodnetwork.cのbug fixを取り込む必要があるため、手順を更新しました。]

git clone http://github.com/micropython/micropython.git
cd micropython/
git fetch origin pull/3808/head:local-branch-name
git checkout local-branch-name
git cherry-pick 309fe39dbb14b1f715ea09c4b9de235a099c01b0
git submodule update --init
make -C mpy-cross
make -C ports/stm32 MICROPY_HW_ENABLE_ETH_RMII=1 BOARD=NUCLEO_F767ZI
make -C ports/stm32 MICROPY_HW_ENABLE_ETH_RMII=1 BOARD=NUCLEO_F767ZI deploy-stlink

ちなみに、メインに統合されるかどうかはまだ未定のようです。lwIP自体はとても高速に動くのですが、その分他のパートのパフォーマンスに影響があるそうです。

コメント