2016/04/30

nRF51822でSEGGER J-Linkがつながらなくなった

タイトル通りだ。

Eddystoneサンプルを動かそうとKeilであれこれデバッグしていたのだが、その途中で急にJ-Linkがつながらなくなったのだ。
あらまあ。

アンインストールやインストールを繰り返したのであまり記録が残っていないのだが、メモとして残しておこう。


JLinkARM.dllが読み込めないとか見つからないとか、そういうログが出たと思う。
複数のSEGGERをインストールしていたので、なんか悪さをし始めたのかと思い、最新版を削除して、今まで使っていた安定版だけにしてみた。
が、変わらず。

Keilをあきらめ、nRFgo Studioで見てみることにした。
こっちもダメなのだが、エラーが「JLinkARM.dllが正しくインストールされていない」というようなことを告げていた。nRF Toolsをインストールせよとか何とか。

なので、あれをインストールしたり、これをインストールしたり、アンインストールしてやり直したり、再起動したり。
どれも変わらず。

1つ見つかったのは、レジストリ。
nRFgo Studio cannot load JLinkARM.dll, re-installing does not help. What went wrong? - Nordic Developer Zone
現象はこれと同じで、私はV5.12dをインストールした後、V5.10nをインストールして、V5.12dをアンインストールしていた。
そうすると、レジストリのInstallPathにはV5.12dの方が残っていたのだ。

きれいにしたかったので、SEGGERを全部アンインストールし、レジストリもregeditで削除して、V5.10nをインストールした。
そうすると「正しくインストールされていない」の現象は消えた。

 

が、JLinkARM.dllが正しく動いていないのは変わらない。
もう1枚あったnRF51822を使ってみると、こっちはちゃんと読めた。
nRFgo Studioには、リセット後にSystem OFFになってるんじゃないのー、みたいなことが書かれていたのだが、そんなこと言われてもどうしようもない。
そういうのを何とかするのが、あんたの仕事だろうが!と思うのだがね。。

正しくnRF51822が動いた後、また元のnRF51822に差し替えると、今度はnRFgo StudioでRegionの画面まで出てきた。
おお!とErase Allしようとすると、つながらない・・・。


ということで、タイミングとか、なんかそういうものっぽいから、コマンドラインから消すことにした。

> nrfjprog –e

これは—eraseallの省略形なのだが、全部消すオプションだ。
動かすと、エラーもなくすぐに終わった。
nRFgo Studioにつなぐと、見えた。

 

今回はたまたまうまくいっただけかもしれないが、困っていたら試すとよいかもしれん。

0 件のコメント:

コメントを投稿

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

注: コメントを投稿できるのは、このブログのメンバーだけです。