以前公開したMicroPython用のNUCLEO-F767ZIのethernetドライバですが、先日MicroPython作者のDamien. P. Georgeさんが更新してくださいました。
このドライバは、もともと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自体はとても高速に動くのですが、その分他のパートのパフォーマンスに影響があるそうです。
コメント