3: 2010-09-28 (火) 13:22:01 takaboo | 現: 2017-01-10 (火) 15:52:45 takaboo | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | TITLE:BTE067B TINY JTAG-ICE2マニュアル | + | TITLE:TINY JTAG-ICE2マニュアル |
#norelated | #norelated | ||
#contents | #contents | ||
Line 36: | Line 36: | ||
***デバイスドライバのインストール [#ocfdb851] | ***デバイスドライバのインストール [#ocfdb851] | ||
- | 本製品には[[FTDI社>http://www.ftdichip.com/]]のUSBシリアル変換ICが使用されています。詳細は[[こちら>How to install FTDI's device driver]]を参照下さい。 | + | openocdのGPL準拠の都合から、面倒ではありますが2種類のデバイスドライバのインストールを行う必要があります。勿論自身でビルドされるのであれば、ftdiのドライバベースでも構いません。~ |
+ | 2種類という理由は、FT2232は見かけ上2つのデバイスとして認識され、一方をFTDI社のドライバベースのシリアルI/F、もう一方を[[WinUSB>https://msdn.microsoft.com/en-us/library/windows/hardware/ff540174.aspx]]ベースのJTAG I/Fとして構成するためです。 | ||
+ | +本製品には[[FTDI社>http://www.ftdichip.com/]]のUSBシリアル変換ICが使用されています。詳細は[[こちら>How to install FTDI's device driver]]を参照下さい。~ | ||
+ | まずは[[この>How to install FTDI's device driver]]手順に従ってデバイスドライバのインストールを進め、使用可能な状態にします。(以下のデバイスマネージャーの表示は接続別で紹介) | ||
+ | #ref(dev1.png)~ | ||
+ | なお、COMポートの番号はPCの環境によって異なります。 | ||
+ | +Zadigのサイトよりドライバのインストールツールをダウンロードします。 | ||
+ | [[http://zadig.akeo.ie/]] | ||
+ | +ダウンロードしたZadigのツールを起動します。 | ||
+ | #ref(Zadig_1.png)~ | ||
+ | +メニューの「Options」→「List All Devices」をクリックした後、リストに「TINY JTAG-ICE (Interface 0)」が含まれていることを確認し選択します。 | ||
+ | #ref(Zadig_2.png)~ | ||
+ | #ref(Zadig_3.png,80%)~ | ||
+ | +最後に入れ替えるドライバのリストから「WinUSB」を選択し、「Replace Driver」ボタンを押せばインストールは完了です。 | ||
***OpenOCDの入手 [#b0cf4aab] | ***OpenOCDの入手 [#b0cf4aab] | ||
[[こちら>OpenOCD]]にてコンパイル済みバイナリを提供中です。アーカイブファイルをフォルダの階層構造ごと展開の後、パスの通った場所にコピーします。 | [[こちら>OpenOCD]]にてコンパイル済みバイナリを提供中です。アーカイブファイルをフォルダの階層構造ごと展開の後、パスの通った場所にコピーします。 | ||
Line 57: | Line 71: | ||
# JTAG interface configuration | # JTAG interface configuration | ||
#============================================ | #============================================ | ||
- | interface ft2232 | + | interface ftdi |
- | ft2232_device_desc "TINY JTAG-ICE" | + | ftdi_layout_init 0x0c08 0x0f1b |
- | ft2232_layout jtagkey | + | ftdi_layout_signal nTRST -data 0x0100 -noe 0x0400 |
+ | ftdi_layout_signal nSRST -data 0x0200 -noe 0x0800 | ||
+ | ftdi_device_desc "TINY JTAG-ICE" | ||
+ | ftdi_vid_pid 0x0403 0x6010 | ||
target/sam7.cfg はAT91SAM7Sを対象とした諸設定。 | target/sam7.cfg はAT91SAM7Sを対象とした諸設定。 | ||
Line 66: | Line 83: | ||
#============================================ | #============================================ | ||
reset_config srst_only srst_pulls_trst | reset_config srst_only srst_pulls_trst | ||
+ | |||
if { [info exists CHIPNAME] } { | if { [info exists CHIPNAME] } { | ||
set _CHIPNAME $CHIPNAME | set _CHIPNAME $CHIPNAME | ||
Line 72: | Line 89: | ||
set _CHIPNAME sam7 | set _CHIPNAME sam7 | ||
} | } | ||
+ | |||
if { [info exists ENDIAN] } { | if { [info exists ENDIAN] } { | ||
set _ENDIAN $ENDIAN | set _ENDIAN $ENDIAN | ||
Line 78: | Line 95: | ||
set _ENDIAN little | set _ENDIAN little | ||
} | } | ||
+ | |||
if { [info exists CPUTAPID ] } { | if { [info exists CPUTAPID ] } { | ||
set _CPUTAPID $CPUTAPID | set _CPUTAPID $CPUTAPID | ||
Line 84: | Line 101: | ||
set _CPUTAPID 0x3f0f0f0f | set _CPUTAPID 0x3f0f0f0f | ||
} | } | ||
+ | |||
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID | jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID | ||
+ | |||
#============================================ | #============================================ | ||
# Target configuration | # Target configuration | ||
#============================================ | #============================================ | ||
set _TARGETNAME $_CHIPNAME.cpu | set _TARGETNAME $_CHIPNAME.cpu | ||
- | + | target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME | |
- | target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi | + | |
$_TARGETNAME configure -event reset-init { | $_TARGETNAME configure -event reset-init { | ||
soft_reset_halt | soft_reset_halt | ||
Line 114: | Line 131: | ||
sleep 100 | sleep 100 | ||
} | } | ||
+ | |||
#============================================ | #============================================ | ||
# Flash configuration | # Flash configuration | ||
#============================================ | #============================================ | ||
$_TARGETNAME configure -work-area-phys 0x00200000 -work-area-size 0x2000 -work-area-backup 0 | $_TARGETNAME configure -work-area-phys 0x00200000 -work-area-size 0x2000 -work-area-backup 0 | ||
+ | |||
set _FLASHNAME $_CHIPNAME.flash | set _FLASHNAME $_CHIPNAME.flash | ||
- | flash bank $_FLASHNAME at91sam7 0 0 0 0 0 0 0 0 0 0 0 0 18432 | + | flash bank $_FLASHNAME.0 at91sam7 0 0 0 0 $_TARGETNAME 0 0 0 0 0 0 0 18432 |
いずれも個別のファイルになっている必要は有りませんが、OpenOCDが対応するI/Fやデバイスが多い事から、最近では共有できる内容であれば分割して記述する方向になっているようです。 | いずれも個別のファイルになっている必要は有りませんが、OpenOCDが対応するI/Fやデバイスが多い事から、最近では共有できる内容であれば分割して記述する方向になっているようです。 | ||
なお、ファイル名に日本語や全角は使えないのと、フォルダの区切り記号は\(エンもしくはバックスラッシュ)ではなく/(スラッシュ)を使用すると問題が少なくなります。 | なお、ファイル名に日本語や全角は使えないのと、フォルダの区切り記号は\(エンもしくはバックスラッシュ)ではなく/(スラッシュ)を使用すると問題が少なくなります。 | ||
- | |||
- | **簡単な使用例 [#t9d4c7ef] | ||
- | 詳細はOpenOCDの[[マニュアル>OpenOCD#z925cbc3]]を参照するとして、実行中のマイコンを停止・リブートといった操作をtelnetクライアント経由で行ってみましょう。 |