MicroPython のビルドと転送

必要となるもの

MicroPython のビルド

MicroPython のビルドには yotta ツールを使います。ビルドの前には準備として Makefile で追加のファイルを生成しなければなりません。ビルドの後には付加データを hex ファイルに追加します。

リポジトリをクローンして、ディレクトリを移動します:

$ git clone https://github.com/bbcmicrobit/micropython

$ cd micropython

micro:bit のターゲットを使うように yotta に設定します::"

yotta target bbc-microbit-classic-gcc-nosd@https://github.com/lancaster-university/yotta-target-bbc-microbit-classic-gcc-nosd

yotta update を実行してリモートアセットを取得します::"

yotta up

makefile を使ってビルドを開始します:

make all

ビルドの結果、 firmware.hexbuild/ ディレクトリに作成されます。このファイルが micro:bit にコピーするものです。

Makefile はソースに対して追加の前処理を行います。これは qstrdefsport.h に新しい登録済み文字列を追加する場合にのみ必要です。また、Makefile はビルド結果のファームウェア を build/firmware.hex に置き、いくつかの便利なターゲットを含みます。

Python プログラムを含んだ MicroPython の用意

tools/makecombinedhex.py を使って、MicroPython ファームウェアにPython スクリプトを結合し、micro:bit にアップロードする hex ファイルを生成できます。

./makecombinedhex.py <firmware.hex> <script.py> [-o <combined.hex>]

出力先オプション(-o)を指定しない場合、スクリプトは stdout に出力します。

tools/hexlify.py を使って、Pythonスクリプトを Intel HEX 形式に変換できます。結果は MicroPython の firmware.hex の最後に連結できます。簡単なヘッダーがスクリプトに追加されます:

./hexlifyscript.py <script.py>

標準入力からもデータを受けつけます。

micro:bit への転送

micro:bit を USB で接続すると MICROBIT という名前の USB マスストレージデバイスとしてマウントされます。この USB ドライブに .hex ファイルをコピーするとmicro:bit に自動的に転送され、プログラムの実行を開始します。