MicroPython のビルドと転送¶
micro:bit V1¶
ここでは micro:bit V1 の MicroPython について説明します。micro:bit V1 用のソースは次のところにあります: bbcmicrobit/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.hex
が build/
ディレクトリに作成されます。このファイルが 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 V2¶
ここでは micro:bit V2 の MicroPython について説明します。micro:bit V2 用のソースは次のところにあります: microbit-foundation/micropython-microbit-v2
リポジトリには MicroPythonファームウェアビルド の履歴も含まれています。
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.hex
が src/
ディレクトリに作成されます。このファイルが micro:bit にコピーするものです。
micro:bit への転送¶
micro:bit を USB で接続すると MICROBIT
という名前の USB マスストレージデバイスとしてマウントされます。この USB ドライブに .hex ファイルをコピーするとmicro:bit に自動的に転送され、プログラムの実行を開始します。