6: 2013-07-08 (月) 00:23:11 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-u​s/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やデバイスが多い事から、最近では共有できる内容であれば分割して記述する方向になっているようです。
なお、ファイル名に日本語や全角は使えないのと、フォルダの区切り記号は\(エンもしくはバックスラッシュ)ではなく/(スラッシュ)を使用すると問題が少なくなります。 なお、ファイル名に日本語や全角は使えないのと、フォルダの区切り記号は\(エンもしくはバックスラッシュ)ではなく/(スラッシュ)を使用すると問題が少なくなります。


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom