PizzaFactory Tiny JTAG for Blackfin/Sharc (以下、PF-JTAG)はアナログ・デバイセズ社の文書EE-68に準拠したデバッグコネクタとなっています。

しかしながら、JTAG は IEEE 1149.1 という標準規格に基づくものですので,信号電圧等合致すれば,セミコンダクタメーカの別を問わずに接続できます。

一例として、PF-JTAG と Raspberry Pi ボードを繋ぎ,Linux 上から OpenOCD で接続する方法を概説します。

バージョン等

本稿で用いた Raspberry Pi ボードのリビジョンは 2 です。 リビジョン 1 ボードは、JTAG 関連のピン配置が異なりますので,本稿のとおりには動きません。

Linux は Ubuntu Linux 12.0.4.4 LTS を用いています。

結線

下表のように結線します。

JTAG端子名 Raspberry PiのP1端子のピン番号 PF-JTAGのピン番号
TRST 15 10
TDI 7 12
TMS 13 6
TCK 22 8
TDO 18 14

結線の様子

写真では間違いを避けるために、変換基板を用いています。 しかしRaspberry Pi の P1端子とPF-JTAG とを直結しても問題はありません。

OpenOCD のインストール

Ubuntu Linux は、apt のリポジトリに OpenOCD が存在します。 PF-JTAG は、回路的には oocdlink-s と等価ですので,ドライバは libftdi を用います。 よって、OpenOCD は,下記のようにしてインストールが可能です。

1
sudo apt-get install openocd libftdi1

OpenOCD に与えるコンフィグレーションファイル

下記リストのようになります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
interface ft2232
ft2232_device_desc "PizzaFactory TinyJTAG"
ft2232_layout oocdlink
ft2232_vid_pid 0x0403 0xbaf8
adapter_khz 5

# Broadcom 2835 on Raspberry Pi

telnet_port 4444
#gdb_port 0
#tcl_port 0

#jtag_khz 1000
adapter_khz 1000

#jtag_nsrst_delay 400
#jtag_ntrst_delay 400

if { [info exists CHIPNAME] } {
   set  _CHIPNAME $CHIPNAME
} else {
   set  _CHIPNAME raspi
}

reset_config none

if { [info exists CPU_TAPID ] } {
   set _CPU_TAPID $CPU_TAPID
} else {
   set _CPU_TAPID 0x07b7617F
}
jtag newtap $_CHIPNAME arm -irlen 5 -expected-id $_CPU_TAPID

set _TARGETNAME $_CHIPNAME.arm
target create $_TARGETNAME arm11 -chain-position $_TARGETNAME

このリストを、例えば raspi.cfg として保存し,下記のようにして openocd を起動します。

1
openocd -f raspi2.cfg

sudo は不要です。

OpenOCD の起動ログ

注意事項

本稿は、参考情報として掲示しております。 本稿を参照して作業をなさったことに起因して、お客様にいかなる損失が発生しても,弊社は責を負いません。