8: 2017-01-07 (土) 12:32:15 takaboo |
現: 2017-01-10 (火) 15:52:45 takaboo |
| ***デバイスドライバのインストール [#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] |
| #============================================ | | #============================================ |
| 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 |
| set _CHIPNAME sam7 | | set _CHIPNAME sam7 |
| } | | } |
| + | |
| if { [info exists ENDIAN] } { | | if { [info exists ENDIAN] } { |
| set _ENDIAN $ENDIAN | | set _ENDIAN $ENDIAN |
| set _ENDIAN little | | set _ENDIAN little |
| } | | } |
| + | |
| if { [info exists CPUTAPID ] } { | | if { [info exists CPUTAPID ] } { |
| set _CPUTAPID $CPUTAPID | | set _CPUTAPID $CPUTAPID |
| 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 |
| + | |
| $_TARGETNAME configure -event reset-init { | | $_TARGETNAME configure -event reset-init { |
| soft_reset_halt | | soft_reset_halt |
| 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.0 at91sam7 0 0 0 0 $_TARGETNAME 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 |