nRF52-DKを使ってBL652をデバッグ

nRF52-DKボードをJ-Linkデバッガとして使ってBL652をデバッグする方法をメモ。

BL652の線を引き出す

BL652モジュールの端子は0.75mmピッチの端面スルーホールである。
まずはなんらかの方法で線を引き出す。

UEW(ウレタン線)で引き出す

やり方はChaNさんのページに詳しい。端面スルーホールは見にくいので実体顕微鏡があると吉。2万円くらいの安いやつでも十分役に立つ。
BL652

ブレークアウトボードを使う

残念ながら市販のものは見つからないが、shrhdkさんがGitHubでブレークアウトボードのガーバデータを公開されている。これをFusionPCBやEleclowなどに発注すれば、UEWよりはラクできれいにハンダ付けできる。ただし、お金と時間はかかる。
ブレークアウト基板

nRF52-DKで外部基板をデバッグする方法

Nordicのオンラインドキュメントによると、nRF52-DKボードは外部基板のプログラム/デバッグをサポートしている。nRF52-DKボードのオンボードJ-Linkで外部基板をデバッグするには、debug outコネクタ(P19)に外部基板を接続する。


外部基板が給電されると、nRF52-DKボード上のデバッガチップはそれを検知して、オンボードのnRF52832の代わりに外部基板をプログラム/デバッグする。P19は一般的な10ピンのCortexデバッグコネクタであるが、狭ピッチなP19の代わりに、2.54mmピンヘッダのP20を使うこともできる。もしP19とP20の両方の給電を検知したら、P19のターゲットをプログラム/デバッグする。


P19とP20の位置は下図の通り。(上記オンラインドキュメントより)
nRF52-DK


要するに、外部基板の給電を検知して、勝手にターゲットが切り替わるということである。基板上のジャンパで設定したり、ソフトウェア側で設定したりという必要はない。


原文は、オンラインドキュメントの nRF52 Series > nRF52832 > nRF52 Development Kit (for nRF52832) > Development Kit content and key features v1.1.0 > Hardware description > Debug output を参照。

結線

デバッガ結線
ここではP20の2.54mmピンヘッダからの結線について説明する。
最低限必要なのは以下の4本

  • GND DETECT → ターゲットのGNDに接続
  • VTG → ターゲットの電源電圧(VDD_nRF)に接続
  • SWD CLK → ターゲットのSWDCLKに接続
  • SWD IO → ターゲットのSWDIOに接続

加えて、nRF52-DKボードから外部基板に給電する場合には以下の2本を結線

  • GND → ターゲットのGNDに接続
  • VDD → ターゲットの電源電圧(VDD_nRF)に接続

注意すべきは、GND DETECT とは別にGNDの結線が必要だという点。GND DETECTをBL652のGNDにつないだだけでは動かなかった。


BL652のピン配置は下図の通り。(BL652データシートより)
BL652ピン配置

プログラムとデバッグ

nRF52-DK自身のプログラム/デバッグと何も変わらない。
uVisionであれば、[Flash]>[Download]でプログラム。
[Debug]>[Start/Stop Debug Session]でデバッグ


※ BL652にはSoftDevice S132が最初から書き込まれている。そのためSDKのサンプルコードはSoftDevice無し用(blankフォルダ)ではなく、S132用(s132フォルダ)を使うこと。