A Day in the Life

nrf51 で SWDIO がピンリセットとして認識される

SWD経由で書き込んでちゃんと動いて、電源入れ直すと動かなくなってハマった…。VINとGNDのみの配線なら動いてるので、一つ一つ確認するとSWDIOのピンがGND(かLOW)の時に起動せず、HIGHかオープンな時に起動することが解った。

nrf はSWD書き込み直後の起動はdebug mode といわれるモードで起動するらしく、この場合はSWDIOがresetとならない。

なので書き込み直後は動くが、再度電源を入れ直すとSWDIOがLOWに落ちているため、延々と起動しない、ということになる。ちゃんと動かすためには、SWDIOで書き込んでいないときはHIGHにし、書き込み時には繋がないといった回路が必要。

とりあえず開発時でリセットピンを使わない時には

NRF_POWER->RESET = 0;

にセットしておくことで、リセット機能を無効化して起動してる。

記事の一覧 >

関連するかもエントリー

nRF51/nRF52 DK を J-Link のライタとして使う
nRF51-DK や nRF52-DK (Preview含む) から J-Link を使って SWD で書き込む。具体的な方法はhttp://electronut.in/nrf51-dk-external-programming/のページに書かれているとおり。P20の八本のインタ...
nRF51-DK や nRF52-DK (Preview含む) から J-Link を使って SWD で書き込む。具体的な方法はhttp:/...
nRF5x-DK のファームウェアを更新する
nRFのDKのJLinkを使ってのファームウェア書き込み、windows 環境のnRFgo からだと5%ぐらいの確率で、Linux環境だとJLinkExeで書き込むとほぼ二回目で失敗する。調べたらファームウェアアップデートしとけ情報があった。https://www.nordics...
nRFのDKのJLinkを使ってのファームウェア書き込み、windows 環境のnRFgo からだと5%ぐらいの確率で、Linux環境だとJ...
mbed で Serial の CTS/RTS を普通のGPIOとして利用する
現状バグっていて出来ない。BLE NanoのSerialクラスのバグ回避 - 滴了庵日録BLE Nano + mbed の Serial の実装がつらい感じだった | tech - 氾濫原DEVICE_SERIAL_FC を定義すればうまくいきそうなものの、こちらもうまく動かない...
現状バグっていて出来ない。BLE NanoのSerialクラスのバグ回避 - 滴了庵日録BLE Nano + mbed の Serial の...