WebUSBを使ったプログラムの書き込み
ファームウェア(DAPLink)のバージョン247でサポートされたWebUSBを使って、プログラムを書き込む手順を紹介します。
付録1-5-1.WebUSBとは
micro:bitに搭載されているインターフェースプロセッサーKL26Zのファームウェア(DAPLink)のバージョン247で、新たにWebUSBがサポートされました。以下は、リリースノートからの引用です。
WebUSB support
This major feature adds a new WebUSB-compliant HID endpoint. Applications running in browsers that support WebUSB (currently only Chrome) can communicate directly with DAPLink.
As part of this change, several CMSIS-DAP vendor-specific commands were added to allow access to the UART (virtual serial), as well as to support flash programming using DAPLink's built-in flash algorithm.
https://github.com/ARMmbed/DAPLink/releases
WebUSBとは、ブラウザー上で実行されるアプリケーションから、パソコンに接続されたUSBデバイスと直接通信できる機能です。現在(2018/09/01)、WebUSBをサポートしているブラウザーはGoogle Chromeのみです。
この機能を使って、ブラウザー上のMakeCode(Javascript Block Editor)から、micro:bitへ直接プログラムを書き込む手順を紹介します。これにより、hexファイルを保存して、micro:bitへドラッグ&ドロップする面倒な手間から解放されます。
付録1-5-2.前提条件
WebUSBの前提となる条件は次の通りです。
- ファームウェア(DAPLink)のバージョンが249以上
- ブラウザーはGoogle Chrome バージョン65以上
ファームウェア(DAPLink)のバージョンを確認する手順、およびバージョンアップについては「付録1-4.ファームウェア(DAPLink)の更新」をお読みください。
Google Chromeについては「Google Chrome」で利用規約をご確認の上、ダウンロードしてください。
付録1-5-3.WebUSBによるプログラムの書き込み
USBケーブルを使って、micro:bitをパソコンと接続します。
次に、ブラウザー(Google Chrome バージョン65以上)で、micro:bit MakeCodeのホーム画面へアクセスして、「新しいプロジェクト」をクリックします。
歯車アイコンをクリックして「デバイスをペアリングする」を選択します。
ペアリングの手順を説明する画面が表示されるので「デバイスをペアリングする」を選択します。
接続先の一覧が表示されるので「DAPLink CMSIS-DAP」または「BBC micro:bit CMSIS-DAP」を選択して「接続」をクリックします。
接続先が見つからず「対応デバイスが見つかりませんでした。」というメッセージが表示されることがあります。Mbedシリアルドライバーが手動でインストールされている場合に発生するようです。対応方法は、https://support.microbit.org/support/solutions/articles/19000089574-beta-testing-mbed-driver-doesn-t-work-with-windowsで紹介されています。
ペアリングが完了すると「デバイスをペアリングしました。ダウンロードを試してみてください。」というメッセージが表示されるので確認します。これで準備ができました。
何かプログラムして、ダウンロードボタンをクリックしましょう。そのまま、プログラムがmicro:bitに書き込まれれば成功です。初回だけ少し時間がかかります。
一度ペアリングが成功すると、ブラウザー(Google Chrome バージョン65以上)が状態を記憶するので、後はmicro:bitを接続するだけで、WebUSBによるプログラムの書き込みが行われます。
ペアリングを解除する場合は、アドレスバーの左側にある「保護された通信」と書かれた部分(サイト情報を表示するボタン)をクリック後、対象のデバイス欄にある×印(アクセス権の取消し)をクリックします。