5: 2011-08-29 (月) 15:02:28 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 37: | Line 37: | ||
***デバイスドライバのインストール [#ocfdb851] | ***デバイスドライバのインストール [#ocfdb851] | ||
openocdのGPL準拠の都合から、面倒ではありますが2種類のデバイスドライバのインストールを行う必要があります。勿論自身でビルドされるのであれば、ftdiのドライバベースでも構いません。~ | openocdのGPL準拠の都合から、面倒ではありますが2種類のデバイスドライバのインストールを行う必要があります。勿論自身でビルドされるのであれば、ftdiのドライバベースでも構いません。~ | ||
- | 2種類という理由は、FT2232は見かけ上2つのデバイスとして認識され、一方をFTDI社のドライバベースのシリアルI/F、もう一方をlibusbベースのJTAG I/Fとして構成するためです。 | + | 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]]を参照下さい。~ | +本製品には[[FTDI社>http://www.ftdichip.com/]]のUSBシリアル変換ICが使用されています。詳細は[[こちら>How to install FTDI's device driver]]を参照下さい。~ | ||
- | まずは[[この>How to install FTDI's device driver]]手順に従ってデバイスドライバのインストールを進め、使用可能な状態にします。 | + | まずは[[この>How to install FTDI's device driver]]手順に従ってデバイスドライバのインストールを進め、使用可能な状態にします。(以下のデバイスマネージャーの表示は接続別で紹介) |
#ref(dev1.png)~ | #ref(dev1.png)~ | ||
なお、COMポートの番号はPCの環境によって異なります。 | なお、COMポートの番号はPCの環境によって異なります。 | ||
- | +以下のlibusb-win32ベースのドライバが含まれたファイルをダウンロードし、適当な場所に解凍しておきます。 | + | +Zadigのサイトよりドライバのインストールツールをダウンロードします。 |
- | #ref(TINY_JTAG-ICE2_driver.zip)~ | + | [[http://zadig.akeo.ie/]] |
- | +デバイスマネージャーから「USB Serial Converter A」を見つけ、「ドライバーソフトウェアの更新」を選択します。 | + | +ダウンロードしたZadigのツールを起動します。 |
- | #ref(dev2.png)~ | + | #ref(Zadig_1.png)~ |
- | 「ドライバーソフトウェアの最新版を自動検索」ではなく、「コンピューターを参照してドライバーソフトウェアを検索」を選び、2.で解凍しておいたドライバファイルの場所を指定して「TINY JTAG-ICE (Interface 0)」に置き換えます。 | + | +メニューの「Options」→「List All Devices」をクリックした後、リストに「TINY JTAG-ICE (Interface 0)」が含まれていることを確認し選択します。 |
- | #ref(dev3.png)~ | + | #ref(Zadig_2.png)~ |
- | +最終的に以下の構成になればデバイスドライバのインストールは完了です。 | + | #ref(Zadig_3.png,80%)~ |
- | #ref(dev4.png) | + | +最後に入れ替えるドライバのリストから「WinUSB」を選択し、「Replace Driver」ボタンを押せばインストールは完了です。 |
***OpenOCDの入手 [#b0cf4aab] | ***OpenOCDの入手 [#b0cf4aab] | ||
Line 68: | Line 68: | ||
tcl_port 6666 | tcl_port 6666 | ||
interface/tiny_jtagice.cfg はTINY JTAG-ICE2をPCのJTAG I/Fとして使用する事を宣言。 | interface/tiny_jtagice.cfg はTINY JTAG-ICE2をPCのJTAG I/Fとして使用する事を宣言。 | ||
- | #============================================ | + | #============================================ |
- | # JTAG interface configuration | + | # JTAG interface configuration |
- | #============================================ | + | #============================================ |
- | interface ft2232 | + | interface ftdi |
- | ft2232_layout jtagkey | + | ftdi_layout_init 0x0c08 0x0f1b |
- | ft2232_device_desc "TINY JTAG-ICE" | + | ftdi_layout_signal nTRST -data 0x0100 -noe 0x0400 |
- | ft2232_vid_pid 0x0403 0x6010 | + | 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 81: | 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 87: | Line 89: | ||
set _CHIPNAME sam7 | set _CHIPNAME sam7 | ||
} | } | ||
+ | |||
if { [info exists ENDIAN] } { | if { [info exists ENDIAN] } { | ||
set _ENDIAN $ENDIAN | set _ENDIAN $ENDIAN | ||
Line 93: | Line 95: | ||
set _ENDIAN little | set _ENDIAN little | ||
} | } | ||
+ | |||
if { [info exists CPUTAPID ] } { | if { [info exists CPUTAPID ] } { | ||
set _CPUTAPID $CPUTAPID | set _CPUTAPID $CPUTAPID | ||
Line 99: | 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 129: | 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クライアント経由で行ってみましょう。 |