2009年06月01日

秋月電子 1700円のJTAGデバッガ発売

秋月電子 FT2232

秋月電子から新発売になった「FT2232D USB-シリアル2ch変換モジュール」ですが、これを利用して簡単にARM用USB-JTAGデバッガが自作できそうです。
(現在、販売価格は1450円になっているようです。)

2013/3/6 発売の「FT232HL ハイスピードUSBシリアル変換モジュール」でも同様のことができそうです。
この基板にはEEPROMが実装され、販売価格は更にお安く1200円です。

 http://akizukidenshi.com/catalog/g/gK-06503/


FT2232シリーズは、他のFT232やFT245シリーズなどと異なり下記説明にあるように「MPSSE」機能を持っています。
(アプリケーションノートの6ページに概要説明あります。)

• Multi-Protocol Synchronous Serial Engine Interface (M.P.S.S.E.)
The Multi-Protocol Synchronous Serial Engine (MPSSE) interface is a new option designed to interface efficiently with synchronous serial protocols such as JTAG and SPI Bus.


FT2232

アプリケーションノートは下記サイトをご参照ください。
http://www.ftdichip.com/Documents/DataSheets/DS_FT2232D.pdf
http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT2232D.pdf

この「MPSSE」機能を使って、Open On-Chip Debugger (ARM-JTAG)を実現しています。

秋月電子の「FT2232Dモジュール」を転用するにあたり、次の資料を参考にしました。
下記写真はとあるサイトで紹介されている Open On-Chip Debugger ですが、よく見ると通信バッファICの数が少ないです。

サイトの説明を読むと下記の通りです。

http://www.hs-augsburg.de/~hhoegl/proj/usbjtag/usbjtag.html
http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html
より引用

One year later I met Joern at Embedded World 2007. He now also has built a version of the OOCD-Link adaptor which directly uses the FT2232 signals to drive the target. This works for targets running with 3.3V and 5V. A nice additional feature is the 10-pin header which carries the UART signals of channel B. The adaptor is called "OOCD-Link-S". Please see the following photography:

<訳>
1年前、Embedded World 2007でジョーンに会った。
彼はFT2232の信号を直接ターゲットに接続するOOCD-Linkアダプタを作った。
これは、3.3V、5Vのターゲットで動作する。
ナイスな追加機能はチャンネルBのUART信号を出した10ピンヘッダである。
このアダプタは「OOCD-Link-S」と呼ばれる。
下記の写真をご覧ください。


OOCD-Link-S


回路図の抜粋は下記です。 全回路図やその他設計資料は
 http://www.joernonline.de/
からpdfファイルとしてダウンロードできます。



つまり、ハンドシェイクラインの一部はバッファが不要でも動作しそうです。

それを踏まえ「Design Wave MAGAZINE (デザイン ウェーブ マガジン) 2008年 06月号」記載の回路図を基にして下記の回路で実験してみました。

なお、モジュール上にはE2PROM(93C66)を実装しました。

また、回路図は追加配線部分のみ記載していますので、その他の配線は、秋月電子のFT2232Dモジュールの回路図をご参照ください。

静電気対策部品(抵抗、コンデンサ)や電源コンデンサは省略しました。
(ご使用環境によっては追加が必要です。)

【重要】
ジャンパーである JP2A と JP2B はオープンにしてください。

ARM JTAG

 3-State-Bufferを別の回路でも実験してみました。
 記事URL: http://micom.hamazo.tv/e1832647.html

 ケースに入れた様子: http://micom.hamazo.tv/e1839077.html

実際の検証治具
(ARM Cortex-M3基板には今回の検証に無関係な部品も付いています。)

秋月電子 1700円のJTAGデバッガ発売

Cygwin上でJTAGの確認とGDBによるプログラム実行を行い正常に動作することが確認できました。(下記ログご参照)
動作サンプルは、DesignWave 2008年6月号ダウンロードサイトのLED点滅ソフト(プロジェクト)を使いました。



$ openocd-ftd2xx.exe -f myJTAG_Debug.cfg
Open On-Chip Debugger (2008-06-19 19:00) svn: 717
URL: http://svn.berlios.de/svnroot/repos/openocd/trunk
Info: options.c:50 configuration_output_handler(): Open On-Chip Debugger (2008-06-19 19:00) svn: 717
Info: options.c:50 configuration_output_handler(): jtag_speed: 10, 10
Info: jtag.c:1389 jtag_examine_chain(): JTAG device found: 0x3ba00477 (Manufacturer: 0x23b, Part: 0xba00, Version: 0x3)
Info: jtag.c:1389 jtag_examine_chain(): JTAG device found: 0x16410041 (Manufacturer: 0x020, Part: 0x6410, Version: 0x1)



$ arm-none-eabi-gdb.exe
GNU gdb (Sourcery G++ Lite 2009q1-161) 6.8.50.20081022-cvs
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"and "show warranty" for details.
This GDB was configured as "--host=i686-mingw32 --target=arm-none-eabi"
For bug reporting instructions, please see:.
(gdb) target remote localhost:3333
Remote debugging using localhost:3333
0x08000126 in ?? ()
(gdb) continue
Continuing.


また、Eclipse(Ver3.3.2) + CDT + ZylinCDT + OpenOcd でのデバッグ動作も確認できました。

Eclipse + CDT + ZylinCDT

「Design Wave MAGAZINE (デザイン ウェーブ マガジン) 2008年 06月号」記載の開発環境設定については、現時点で各アプリケーションのバージョンや、ダウンロード先URLが異なっているので注意してください。

なお、タイトルで1700円と書きましたが、E2PROM、74HC125、接続ケーブル、ケースを考慮すると2500円くらいになりそうです。

jtag本体を要望であれば「デバッグアダプタ NGX CoLinkEx」(1700円)が良いかと思います。 (2013/02/07発売)
http://akizukidenshi.com/catalog/g/gM-06460/


参考リンク

・ARM Cortex-M3 開発環境構築方法
 http://homepage3.nifty.com/zus/ARM_M3_Dev_Flame.html

・JTAGkey cloneの製作
 http://www.koka-in.org/~kensyu/handicraft/diary/20080926.html

・CQ出版社のDesignWave 2008年6月号記載のJTAG回路図がダウンロード可
 http://www.cqpub.co.jp/dwm/download/download.htm

・FT2232デバイスを使ったJTAG操作
 http://www.digientity.com/d3services/den2mm/index.php?JTAG

・GNU ARM toolchain (ARM開発環境インストールガイド・英文)
 http://www.yagarto.de/howto/yagarto2/index.html

マルツエレック MAX10-JB(JTAG)基板 全実装版 【MTG-MAX10-JB-F】

価格:4,210円
(2020/6/11 21:10時点)
感想(0件)








同じカテゴリー(マイコン開発)の記事
Fusion PCBでエレキー
Fusion PCBでエレキー(2020-04-01 19:00)


この記事へのコメント
初歩的な質問で申し訳ありません。
秋月の基板にEEPROMをハンダ付けするだけで
(何か書き込むとかしないで)
そのまま追加回路を繋げば動くのでしょうか??
宜しくお願いいたします。
Posted by funei at 2009年12月28日 23:23
EEPROMの設定は必要です。

FTDI社のWebサイトから 「MProg」 というEEPROMの設定ツールをダウンロードして必要項目の書込みを行います。

設定項目はいくつかありますので、デザイン ウェーブ マガジン 2008年 06月号 を参考にしてください。
Posted by 宇都宮 at 2009年12月29日 09:14
ありがとうございます!
Posted by funei at 2009年12月29日 09:45
Cortex-M3 は確認していますが、その他については未確認です。
Posted by 宇都宮 at 2017年05月19日 17:58
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
秋月電子 1700円のJTAGデバッガ発売
    コメント(4)