• 公開日:2018年09月11日
  • | 更新日:2022年11月21日

Texas Instruments社製JTAGエミュレータの選択方法

はじめに

マイコンのプログラム開発を行う際には、マイコン側が問題なく動作するかの検証が必要となります。本稿では、Texas Instruments社(以下、TI社)のマイコン開発において必要なエミュレータの選定方法について掲載させていただきます。

マイコンのプログラム開発に必要なツール

マイコンのプログラム開発には以下の4つのツールが必須となります。

・ マイコンボード
・ 統合開発環境
・ JTAGミュレータ
・ パソコン

マイコンボードについて:

マイコンボードは、メーカーが提供している評価用ボードや、自社で作成したオリジナルのボードを用意する必要があります。
最終製品はオリジナルボードを組み込んだものになりますが、このオリジナルボードの設計前に、マイコンの動作検証をするために各メーカーが提供している評価用ボードを用いることが多いです。

統合開発環境について:

プログラムを開発するために必要なソフトウェアをひとまとめにしたものを統合開発環境と呼びます。この統合開発環境を使い以下の流れでプログラム開発を行います。

1. C言語やアセンブリ言語を使いプログラムを記述(統合開発環境のエディタ機能を使います。)
2. 記述したプログラムからオブジェクトコードを生成します。(統合開発環境のコンパイラ及びアセンブラ機能を使います。)
3. オブジェクトコードを結合し、マイコンにロード可能な実行ファイルを生成します。(統合開発環境のリンカー機能を使います。)
4. 実行ファイルをマイコンにロードし、プログラムの動作検証をする。(統合開発環境のデバッグ機能を使います。)

なお、TI社の場合Code Composer Studioという統合開発環境が用意されておりますので、それをパソコンにインストールをすれば準備が整います。この統合開発環境は有償で提供されることが多いですが、TI社の場合にはこれを無償で提供しております。そのため、TI社のマイコンを使用する場合には、開発導入費用を低く抑えられるというメリットがあります。

JTAGエミュレータについて:

統合開発環境で開発したプログラムをマイコンボードに転送する必要があります。このプログラムの転送を行ってくれるのがJTAGエミュレータです。また、JTAGエミュレータでは開発したプログラムが正しく動作するかテストを行うためのデバッグ作業も併せて行うことが可能です。

以下にこれらのツールの接続概略図を記載します。

図1.JTAGエミュレータ接続図

上記の通り、TI社のマイコン開発を行う場合、マイコンボードとパソコンをつなぐためにJTAGエミュレータを接続します。
ただし、中には、JTAG回路が実装されているボードもあります。そのようなボードをお使いの場合にはJTAGエミュレータは不要でマイコンボードとパソコンをUSBで接続する形になります。

図2.JTAGエミュレータ接続図(マイコン内蔵品)

TI社からは複数のJTAGエミュレータが販売されております。初めてTI社のマイコンを開発するとき、どのJTAGエミュレータを選べば良いかわからないという声が多かったので、今回その選び方について記事にしてみました。

JTAGエミュレータとは

JTAGエミュレータは、上述の通りプログラマ機能とデバッグ機能の2つの機能をもったものが一般的です。

プログラマ機能とは、パソコン上の統合開発環境で開発したプログラムを、マイコン内蔵のFLASHメモリやRAMメモリに書き込むための機能です。デバッグ機能とは、この書き込みしたプログラムが正しく動作するかデバッグするための機能です。

TI社からは以下4種類のJTAGエミュレータが用意されております。

JTAG型番 クロック速度
※1
価格
※2
JTAG リンク先
TMDSEMU110-U Up to 2.5MHz $99 http://www.tij.co.jp/tool/jp/TMDSEMU110-U
TMDSEMU200-U Up to 20MHz $295 http://www.tij.co.jp/tool/jp/TMDSEMU200-U
TMDSEMU560V2STM-U Up to 50MHz $995 http://www.tij.co.jp/tool/jp/TMDSEMU560V2STM-U
TMDSEMU560V2STM-UE Up to 50MHz $1495 http://www.tij.co.jp/tool/jp/tmdsemu560v2stm-ue

図3.JTAG製品特性一覧表

※1 JTAG TCLKクロック速度はJTAGエミュレータ側の最大速度で、実際のアクセス速度は接続するデバイスに依存します。
※2 価格はTI社のWeb Priceになりますので正確な価格については取扱代理店にお問い合わせください。

TMDSEMU560は2種類ありますが、違いはデバイスとのインターフェースです。型番の末尾が”-U”となっている製品はPCと、USBで接続ができ、”-UE”となっている製品はUSB及びEthernetで接続が可能な製品になります。

上の表のように、性能と価格により製品が分けられていますが、この性能がどの程度のものかクロックの速度だけではイメージし難いと思いますので、実際にFLASHメモリに書き込みを行い、どの程度の時間差がでるのか見ていきたいと思います。

マイコン内蔵メモリへのFLASH書き込みベンチマークテスト

今回書き込みに使用したPCの環境は以下のとおりになります。

CPU:Intel Core i5-6300U (Quad core, 2.4GHz)
RAM:8GB
OS:Windows 7 64-bit
ハードディスク:SSD 256GB

書き込みに使用したデバイス:TMS320F28379D
書き込みに使用したソフトウェア:CCS UniFlash v3.4.1書き込みは以下の流れで行います:

1.内蔵FLASHの512KB分をEraseする
2.データ(0xA5A5)512KB分をWriteする
3.書き込みした512KBの領域をVerifyする

1~3までのTotal時間を書き込み時間とします。
※JTAGのTCLK設定はUniflash v3.3のデフォルト設定を使用します。

図4.JTAG転送速度比較
FLASH書き込みベンチマークテスト結果は、価格の高価なJTAGのほうが書き込み速度が早くなっているのがわかります。(あたりまえですが。)
また、グラフにTMDSEMU100というものがありますが、これは評価ボードに搭載されていることが多い、オンボードJTAGになります。こちらは単体での販売は行っておりませんが、比較のために計測しました。

ツールを選定の際にはこのデータを参考に、価格との両面から最適なものを選択していただければと思います。ただし書き込み速度は、デバイスやデータを書き込むメモリの種類にも依存します。また、これらの結果は速度を保証するものではございませんので、あくまでも参考値としてご利用下さい。
これらのデータ及び価格からも選定するのが難しいという方は、CPUの動作周波数に合わせて選んでみて下さい。

100MHz以下 → TMDSEMU110-U
200MHz以下 → TMDSEMU200-U
200MHzを超えるもの → TMDSEMU560V2-UまたはTMDSEMU560V2-UE

上記の選定は私の主観ですが、選定に困っているお客様にはこれを目安にいつもご紹介しています。
もちろん、ツールに関しては高価なもののほうが性能は良いので、可能であれば高価なものを購入されたほうが良いと思います。