urJTAG(1)
urJTAGでバウンダリスキャンしてみる
LCMXO2280とFT2232Hが載っているLCMXO2280 break out board(LCMXO228-BB-ENV)を買ってみた。
LCMXO2280C-B-ENVをurJTAGでバウンダリスキャンするまでのメモ
- ダウンロード
urJTAGのページから最新版をダウンロードしてインストール - 実行
インストールディレクトリのjtag.exeを実行すると、メッセージが表示された後に、プロンプト( jtag> ) が表示され、コマンドが入力できるようになる。
helpコマンドで使えるコマンドが表示される。また、"help コマンド"でコマンドの詳細が表示される
UrJTAG 0.10 #1502
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors
UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.
WARNING: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.
jtag> help Command list:
quit exit and terminate this session
help display this help
frequency setup JTAG frequency
cable select JTAG cable
reset reset JTAG chain
discovery discovery of unknown parts in the JTAG chain
idcode Read IDCODEs of all parts in a JTAG chain
detect detect parts on the JTAG chain
signal define new signal for a part
scan read BSR and show changes since last scan
salias define an alias for a signal
bit define new BSR bit
register define new data register for a part
initbus initialize bus driver for active part
print display JTAG chain list/status
part change active part for current JTAG chain
bus change active bus
instruction change active instruction for a part or declare new instruction
shift shift data/instruction registers through JTAG chain
dr display active data register for a part
get get external signal value
test test external signal value
shell shell cmmd
set set external signal value
endian set/print endianess
peek read a single word
poke write a single word
pod Set state of POD signal(s)
readmem read content of the memory and write it to file
writemem write content of file to the memory
detectflash detect parameters of flash chips attached to a part
flashmem burn flash memory with data from a file
eraseflash erase flash memory by number of blocks
script run command sequence from external file
include include command sequence from external repository
addpart manually adds parts on the JTAG chain
usleep Sleep some number of microseconds
svf execute svf commands from file
bsdl manage BSDL files
debug debug jtag program
Type "help COMMAND" for details about a particular command.
jtag> - ケーブルの選択
urjtag>help cableで使用できるケーブルのリストが表示される。
このボードにはFT2232Hが載っているのでFT2232(Generic FTDI FT2232 Cable)を使う。urjtag>cable ft2232 helpでFT2232ドライバのパラメータが表示される。
jtag> help cable Usage: cable DRIVER [DRIVER_OPTS]
Select JTAG cable type.
DRIVER name of cable
DRIVER_OPTS options for the selected cable
Type "cable DRIVER help" for info about options for cable DRIVER.
List of supported cables:
ARCOM Arcom JTAG Cable
ByteBlaster Altera ByteBlaster/ByteBlaster II/ByteBlasterMV Parallel Port Down
load Cable
UsbBlaster Altera USB-Blaster Cable
FT2232 Generic FTDI FT2232 Cable
JTAGkey Amontec JTAGkey (FT2232) Cable
ARM-USB-OCD Olimex ARM-USB-OCD[-TINY] (FT2232) Cable
gnICE Analog Devices Blackfin gnICE (FT2232) Cable (EXPERIMENTAL)
OOCDLink-s OOCDLink-s (FT2232) Cable (EXPERIMENTAL)
Signalyzer Xverve DT-USB-ST Signalyzer Tool (FT2232) Cable (EXPERIMENTAL)
Turtelizer2 Turtelizer 2 Rev. B (FT2232) Cable (EXPERIMENTAL)
USB-to-JTAG-IF USB to JTAG Interface (FT2232) Cable (EXPERIMENTAL)
Flyswatter TinCanTools Flyswatter (FT2232) Cable
usbScarab2 KrisTech usbScarabeus2 (FT2232) Cable
DLC5 Xilinx DLC5 JTAG Parallel Cable III
EA253 ETC EA253 JTAG Cable
EI012 ETC EI012 JTAG Cable
IGLOO Excelpoint IGLOO JTAG Cable
KeithKoep Keith & Koep JTAG cable
Lattice Lattice Parallel Port JTAG Cable
MPCBDM Mpcbdm JTAG cable
TRITON Ka-Ro TRITON Starterkit II (PXA255/250) JTAG Cable
WIGGLER Macraigor Wiggler JTAG Cable
WIGGLER2 Modified (with CPU Reset) WIGGLER JTAG Cable
xpc_int Xilinx Platform Cable USB internal chain
xpc_ext Xilinx Platform Cable USB external chain
jlink Segger/IAR J-Link, Atmel SAM-ICE and others.
jtag> cable ft2232 help Usage: cable FT2232 [vid=VID] [pid=PID] [desc=DESC] [driver=DRIVER]
VID vendor ID (hex), defaults to 0000
PID product ID (hex), defaults to 0000
DESC Some string to match in description or serial no.
DRIVER usbconn driver, either ftdi-mpsse or ftd2xx-mpsse
defaults to ftd2xx-mpsse if not specified
jtag> cable ft2232 Connected to libftd2xx driver.
jtag>
- デバイスの識別
IDCODEを表示させて、デバイスを自動識別させる(jtag> detect)が識別されない。
jtag> cable ft2232 Connected to libftd2xx driver.
jtag> idcode
Reading 0 bytes if idcode
Read 01000011 11010000 00101000 00000001 00000000 00000000 00000000 00000000
jtag> detect IR length: 8
Chain length: 1
Device Id: 00000001001010001101000001000011 (0x000000000128D043)
Manufacturer: Lattice Semiconductors
Unknown part!
chain.c(149) Part 0 without active instruction
chain.c(200) Part 0 without active instruction
chain.c(149) Part 0 without active instruction
jtag>
DeviceIDは取得できているが、urJTAGにはデフォルトでLCMXO2280Cが登録されていないので、Unknown part!となる。
自動機別させるためにはjrJTAGにLCMXO2280を登録する必要がある。
- デバイスの登録
LCM2280C-B-ENVに使用されているチップは ftBGA256なので、以下のcaBGAはftBGAに読み替えること。(2012/7/19)
LatticeのサポートページからLCMXO2280C caGBA256のBSDLファイル(lcmxo2280c_cabga256.bsm)をダウンロードする。
lcmxo2280_cabga256.bsmをエディタで開いて”IDCODE_REGISTER”を探すと、detectコマンドで表示されたDeviceIDがCompany code, Device specific number, Version numberに分かれていることが分かる。この情報を元に識別用の情報をurJTAGに登録する。
---
lcmxo2280c_cabga256.bsm---
:--IDCODE and USERCODE register definition
attribute IDCODE_REGISTER of LCMXO2280C_XXB256 : entity is
"0000" & --Version number
"0001001010001101" & --Device specific number
"000001000011"; --Company code
:
Company Codeは、~\urJTAG\data\MANUFACTURERSに既に登録されている。LCMXO2280C-caBGA256の登録方法は次のとおり
- ~\urJTAG\data\lattice\PARTSの編集
PARTSの最終行にlcmxo2280c-cabga256とDevice specific number を登録する。---PARTS---
0001001010001101 lcmxo2280c-cabga256 LCMXO2280-caBGA256
- ~\urJTAG\data\lattice\lcmxo2280c-cabga256ディレクトリの作成
~\urJTAG\data\lattice\lcmxo2280c-cabga256ディレクトリを作って、その中にSTEPPINGSとlcmxo2280c-cabga256を作る。
STEPPINGSにはVersion numberを記述する。---STEPPING---
# bits 31-28 of the Device Identification Register
0000 lcmxo2280c-cabga256 0
lcmxo2280c-cabga256には内部レジスタとピンの情報を記述する。
- ~\urJTAG\data\lattice\lcmxo2280c-cabga256\lcmxo2280c-cabga256の作成
bsdlコマンドを使用すると自動的にbsdlファイルからinstructionコマンド、signalコマンド、bitコマンドを作成してくれる。urjtag> bsdl dump lcmxo2280c_cabga256.bsm
(dump が抜けていた! 2013/10/2)
の結果をlcmxo2280c-cabga256にコピペする。urJTAG.exeを起動後プロパティで画面バッファサイズを大きくしておかないとコマンド実行結果が全てコピペできない。
または、bsdlコマンドを記述したbsdl.txtを作り、lcmxo2280c_cabga256.bsmと同じディレクトリに置いて、---bsdl.txt---
bsdl dump lcmxo2280c_cabga256.bsm
c:\hoge> urJTAG\jtag.exe bsdl.txt > lcmxo2280c-cabga256
で作る。先頭数行のwarnigは削除しておく。
- ~\urJTAG\data\lattice\PARTSの編集
- 自動識別
detectコマンドで自動識別させてみる。
jtag> cable ft2232 Connected to libftd2xx driver.
jtag> detect IR length: 8
Chain length: 1
Device Id: 00000001001010001101000001000011 (0x000000000128D043)
Manufacturer: Lattice Semiconductors
Part(0): LCMXO2280-caBGA256
Stepping: 0
Filename: c:\program files\urjtag\data/lattice/lcmxo2280c-cabga256/lcmxo2280c-cabga256
jtag>
このブログので長文&&HTMLレベルの編集をしようとすると大変だ。
その都度修正ということで...
« 改訂新版 定本 トロイダル・コア活用百科 | トップページ | なぜマネジメントは壁につきあたるのか »
「JTAG」カテゴリの記事
- STM32F0-Discovery + OpenOCD(2014.07.30)
- versaloon(2014.02.03)
- usb_jtag + カメレオンUSB FX2(2013.09.16)
- OpenOCD TI-ICDI + LM4F120 LaunchPad(2013.09.03)
- JTAGkey Clone(2012.08.04)
コメント