MicroPython のビルドと転送

micro:bit V1

ここでは micro:bit V1 の MicroPython について説明します。micro:bit V1 用のソースは次のところにあります: bbcmicrobit/micropython

必要となるもの

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

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

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

$ cd micropython

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

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

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

yt up

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

make all

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

ファームウェア と Python プログラムの準備

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

./makecombinedhex.py <firmware.hex> <script.py> [-o <combined.hex>]
# 出力先を指定しない場合は stdout に出力する。

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

./hexlifyscript.py <script.py>

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

micro:bit V2

ここでは micro:bit V2 の MicroPython について説明します。micro:bit V2 用のソースは次のところにあります: microbit-foundation/micropython-microbit-v2

リポジトリには MicroPythonファームウェアビルド の履歴も含まれています。

必要となるもの

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

$ git clone https://github.com/microbit-foundation/micropython-microbit-v2
$ cd micropython-microbit-v2

サブモジュールを更新します:

$ git submodule update --init

次に MicroPython クロスコンパイラをビルドします:

$ make -C lib/micropython/mpy-cross

準備が整ったら、src/ ディレクトリに移動してビルドします:

$ cd src

$ make

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