解決に時間がかかったので、メモを共有します。
使ったもの
- ubuntu16.10
- Arduino IDE 1.8.1
2017.01.23時点で最新のリリース版IDEです。 - nRF51822-Arduino
BLEnanoを作ったRedBearLabが作成してくれている、Arduino IDEでBLEnanoのプログラムを書き込むための、Arduino IDE向けボード情報です。
Arduino IDEにjsonを登録して、IDEのボードマネージャーからインストールしました。 - openOCDの設定ファイル
Arduinoのグループが管理している設定ファイルを利用しました。
エラーの内容
ubuntuでは何も設定しないと下記のエラーが出て書き込みが失敗してしまいます。Arduino: 1.8.1 (Linux), Board: "BLE Nano(V1.0 16KB)"
Build options changed, rebuilding all
Sketch uses 5980 bytes (2%) of program storage space. Maximum is 262144 bytes.
Open On-Chip Debugger 0.10.0-dev-00254-g696fc0a (2016-04-09-12:07)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
Info : only one transport option; autoselect 'swd'
cortex_m reset_config sysresetreq
adapter speed: 1000 kHz
Error: unable to open CMSIS-DAP device 0xd28:0x204
the selected serial port
does not exist or your board is not connected
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
回避方法: openOCDの設定ファイルをubuntuに追加
openOCDというARMのデバッガを制御するプログラムの設定が期待通りではないのが原因です。下記のコマンドで/etc/udev/rules.dに設定ファイルを置いて、デバイス設定を更新すると、DapLinkやMK20がArduino IDEの期待する設定でマウントされるようになります。
cd /etc/udev/rules.d sudo wget https://raw.githubusercontent.com/arduino/OpenOCD/master/contrib/60-openocd.rules sudo udevadm control --reload-rules
設定更新後にDapLinkかMK20をPCにして、Arduino IDEからプログラムを書き込んでみてください。
成功すると思います。
参考:
openocd issue on Linux #73
arduino/OpenOCD
arduino/OpenOCD/blob/master/contrib/60-openocd.rules
共有する情報は以上です。
0 件のコメント :
コメントを投稿