2020年7月5日日曜日

wio XIAO のuf2による実行プログラム書き込み

概要

arudinoIDEを使えば、コンパイルからボードへの書き込みが行えますが、実行ファイルだけを配布・書き込みしたい場合があります。

wioXIAOはパソコンにUSB接続して、ボードのRESET端子を2回連続でショートするとパソコンからUSBメモリとして認識され、出てきたドライブにbinファイルを変換して作ったuf2ファイルを書き込むとボードへのプログラム書き込みができます。

この手順をまとめておきます。(windows10)

必要なものとインストール・ファイルの準備

書き込むbinファイル

arduino IDEで作成する
(例として、サンプルプログラムのLED点滅のプログラムを使った)



コンパイル後に実行ファイル(binファイル)をファイルとするために
"スケッチ - コンパイルしたバイナリを出力 
を選択してコンパイルする。


実行ファイル(binファイル)
"ドキュメント - Arduino - プログラム名"
のフォルダに保管されている
(ここでは BlinkWithoutDelay.ino.XIAO_m0.bin という名称になっている)


uf2

 binファイルをuf2ファイルに変換するツール。pythonで動作する。


”Download ZIP"でダウンロードする。


解凍して "uf2-master - utils - uf2conv.py"
arudinoの実行ファイル(binファイル)のあるフォルダにコピーしておく



uf2を動作させるためのpython動作環境.20/07/05での最新Ver=3.7で動作した。


リンク先の説明に従ってインストールファイルをダウンロード&インストールする。

インストールの時には、"Add Python 3.7 to PATH"にチェックを入れる。
binファイル変換の時にDOS窓のコマンドラインで処理するため)


binからuf2ファイルの作成

コマンドプロンプトでbinファイルのあるフォルダに移動して、そのフォルダでuf2conv.pyを起動します。

コマンドプロンプトの起動



”Windownsシステムツール - コマンドプロンプト
を選択

binファイルのあるフォルダへの移動


"CD "と入力した後で、exploerbinファイルのあるフォルダをドラック&ドロップすると、フォルダ名が入力される。この状態で"Enter"を押す。

"CD"コマンドについては、こちらを参照
binからuf2ファイルへの変換操作


"python uf2conv.py -c -o filename.uf2 finename.bin"

filename.uf2 : 返還後のuf2ファイルの名称
filename.bin   : arduinoIDEが作ったbinファイル名

-c, -o :これらのコマンドオプションの詳細は不明。こちらのwebを参照した


uf2conv.pyのコードの中にコマンドオプションのコードがあった




uf2ファイルの確認



binファイルのあるフォルダにuf2ファイルができていることを確認する。

uf2ファイルのボードへの書き込み


XIAOを書き込みモードに入れる

製造販売元のwebにあるように、ボードのRESET端子を2回連続でショートすると書き込みモードに入る。そうするとパソコン上にドライブが現れる。





uf2ファイルをarduinoドライブにコピー

ボードをRESETして現れたドライブにuf2ファイルをコピーする。これで書き込みができる。uf2ファイルの書き込みが完了するとパソコン上のドライブは消えて、ボードのプログラムが動作する。

uf2に関する参考Web

ハンディバーサライタ PovRanianの表示映像生成フォームの仕組み

Wio Terminalの実行ファイルを配布するなら.UF2
wio terminalでのuf2での書き込み方法

0 件のコメント:

コメントを投稿