DFUで簡単インストール。STM32F4 Discovery board で MicroPythonをはじめる

MicroPythonをSTM32F4 Discovery ボードへインストールしてみましたので、その方法について紹介します。

  • 公式公開されているDFU用バイナリ・ファイルを使って簡単インストール
  • LED点滅プログラムの作成方法
LEDを点滅制御の一例。LED1~4の4つを点灯させてみた

使用するもの

以下のSTM32F4 Discoveryボード、MicroPythonのファームウェア(DFU形式のバイナリファイル)、DfuSeファームウェア・アップデート用ツールを使用します。

STM32F4 Discovery Boardの設定

BOOT0とVDDとの間にジャンパ・ピンを接続する。書き込み後、取り外すのを忘れないように注意する
  • JP1にジャンパピンを接続する(通常は予め接続されている)
  • P2のBOOT0とVDDにジャンパ・ピンを接続する
  • Micro USBにパソコンを接続する
  • Mini USBに電源を接続する

JP1にジャンパピンを接続し、BOOT0をVDDへ接続した状態で、Micro USBへパソコンを、Mini USBへ電源を接続します。本ボードにはMini USB端子と、Micro USB端子とが搭載されているので、誤らないように注意してください。

電源が入ると、STM32マイコンがDFUモードで起動し、パソコンへデバイスドライバが自動インストールされ、デバイスマネージャの「ユニバーサルシリアルバスコントローラ」に「STM Device in DFU Mode」が表示されます。

MicoroPythonのダウンロード

MicoroPythonのページからDFU形式のファームウェアをダウンロードします。様々なボード用にビルド済みのファームウェアが公開されているので、「STM32F4 Discovery board」と書かれたファイルを探してください。
誤って他のファームウェアを書き込むと、ボードが壊れることもあるので、注意してください。

DfuSeDemoによる書き込み

DfuSeDemoを起動すると、DFUモードのSTM32F4 Discoveryボードを自動認識し、画面上部の「Available DFU Devices」に「STM Device in DFU Mode」と表示されます。

画面下部の「Choose」でファームウェアを選択し、「Upgrade」を押すと書き込みが開始されます。

ChooseでDFUファイルを選択し、Upgradeで書き込みを行う。

シリアル・ターミナル15200bpsで接続する

ファームウエアの書き込みが完了したら、BOOT0のジャンパを取り外してから、黒色のResetボタンを押すと、MicroPythonが起動します。

パソコンに接続したCN5のMicro USB端子には、仮想シリアルポートとプログラム転送用の仮想ドライブが形成されます。デバイス・ドライバのインストールに時間がかかることもあるので、Resetを押してから、しばらく、待ってください。

仮想ドライブ(uPt microSD Flash USB Device)と仮想シリアル(USBシリアルデバイス)がインストールされた

シリアルに接続するには、パソコンからシリアル・ターミナルで接続してください。ビットレートは15200bpsです。

Pythonプログラムを作成する

プログラムを作成するには、仮想ドライブへアクセスします。

予め、空のプログラム・ファイルmain.pyが保存されてるので、テキスト・エディタで開き、プログラムを作成してみます。

LEDを点滅させるプログラムは、以下のようになります。保存後、仮想ターミナルで[Ctrl]キーを押しながら[D]を押すか、Resetボタンを押すと、プログラムが開始されます。

# main.py -- put your code here!

while True:
	pyb.LED(1).on()
	pyb.delay(1000)
	pyb.LED(1).off()
	pyb.delay(1000)
LEDを点滅させたときのようす

by bokunimo.net