2019/08/25

nrfjprog.exeをWSLから実行できそうだ

いま、zephyrでビルドしたHEXファイルをnRF51822に焼くとき、west flashを使っている。
jlink用に設定しているので、nrfjprog.exeが呼ばれているのだと思う。

Windowsでzephyrをやっているのは、ほぼこのwest flashのためだ。
試していないが、WSLだとUSBが使えなかったと思うので、nRF Command Line ToolsのLinux版をインストールしても動かんだろう。
nrfjprogだけWindowsでやればいいんだろうけど、それは敗北だろう。

幸い、westをたたくくらいしかやることはないので、WindowsだろうとWSLだろうとそんなに問題は無く、毎回lsなどと打ってしまってエラーになるのがしゃくに障るだけだ。

 

そこで思いついたのが、WSLからWindowsのnrfjprog.exeをたたく、という方法だ。
これだとコマンドはWindows側で実行されるだろうから、USBも動くはずだ。

nrfjprog.exeのシンボリックリンクを作ってnrfjprogという名前を付けたのだけど、うまくいかなかった。
代わりにbashのシェルスクリプトの中でnrfjprog.exeを実行するようにして、ファイル名をnrfjprogにするとよさそうだった。

 

最初は、HEXファイルが見つからないと怒られた。
Windows風のパスじゃないとダメなのかとwslpathでやってみたが、それでもダメ。
試していて分かったが、実際にファイルのある場所がWindows側だったためか、そのディレクトリにシンボリックリンクした先のファイルを指定したからかわからないが、ともかくそんな理由で見つからなかったようだ。

作業ディレクトリをWSL側にしたところ、wsl flashがそのまま動いた。


Windows側のフォルダに置いておくと、他の開発作業と同じ管理ができるから楽だったのだが、WSL側にあったとしても最近はUNCの\\WSL$でアクセスできるようになっていたので、クイックアクセスか何かでピン留めしておけばよかろう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。