XJDirectが必要になるケース:
- インターフェースを基板のノーマル動作速度でテストしたい
- 内蔵/外付けフラッシュメモリを高速にプログラミングしたい
- バウンダリスキャンにアクセスできない、または不十分な場合のテスト
これらはXJDirectの3つの異なる側面でサポートされます。
- プロセッサエミュレートテスト
- プロセッサエミュレートプログラミング
- プロセッサ加速プログラミング
プロセッサエミュレートテスト(PET)
PETは、インターフェースを基板のノーマル速度で動作させる必要がある場合、またはデバイスへのバウンダリスキャンアクセスが不十分な場合に使用します。
その使用例は次のとおりです。
- プロセッサにDRAMインターフェースがあるが、バウンダリスキャンを使用してクロックにアクセスできない。
プロセッサの内部レジスタにアクセスして、DRAMへのインターフェースを構成します。インターフェースは、プロセッサから読み取りと書き込みを発行することによってテストされます。
- プロセッサには、バウンダリスキャンからアクセス可能な1線式インターフェースがあるが、タイミング要件がありバウンダリスキャンではインターフェースをテストできない。
プロセッサの内部レジスタにアクセスして1線式インターフェースを構成し、プロセッサインターフェースを使用して1線式インターフェースを使用した読み取りと書き込みを行います。
- プロセッサには、アナログモードまたはデジタルモードで構成できるピンがある。
バウンダリスキャンはデジタルモードでピンを使用しますが、インターフェースはアナログモードでテストする必要があります。プロセッサの内部レジスタを使用して、ピンをアナログモードに設定し、再びプロセッサの内部レジスタを使用して、アナログ値を読み取ってチェックします。
- プロセッサにはDDRインターフェースがあり、バウンダリスキャンよりも速い速度で実行する必要がある。
プロセッサの内部DDRコントローラーが構成され、プロセッサを介して発行される高速読み取りおよび書き込みを使用してインターフェースがテストされます。
- 接続テストを正しく実行するために、プロセッサのI/Oピンのプルアップとプルダウンを有効にする必要がある。それらピンは、プロセッサの内部レジスタにアクセスすることによって構成されます。
プロセッサエミュレートプログラミング(PEP)
PEPは、プロセッサ内部フラッシュ、および外部にペリフェラルとして接続されたフラッシュメモリの両方のプログラミングに使用されます。
- 内部フラッシュメモリのプログラミング
上記のPETソリューションと非常によく似た方法で、デバイスの内部レジスタにアクセスし、フラッシュを消去、プログラム、および検証します。
- 外部フラッシュメモリのプログラミング
バウンダリスキャンを使用した外部フラッシュメモリのプログラミングは、バウンダリスキャンのシリアル動作の性質により、特に外部デバイス自体がシリアルデバイスである場合、時間がかかります。プロセッサの内部レジスタにアクセスすることにより、外部ペリフェラルインターフェイスを構成して、外部フラッシュメモリへのアクセスに使用できます。その後、バウンダリスキャンでは実現できない速度で外部フラッシュをプログラムおよび検証できます。
プロセッサ加速プログラミング(PAP)
ほとんどの場合、PETとPEPは適切な速度性能を提供します。ただし、さらに高速なパフォーマンスが望ましい場合もあります。
多くのプロセッサは、JTAGインターフェースを使用して実行中のコードと通信するメカニズムや、メモリを読み書きする非常に効率的なメカニズムが提供されます。 XJDirectはこれらの機能(デバッグ用の機能)を利用して、非常に効率的なフラッシュプログラミングを提供します。XJDirectは一時的なアプリケーションイメージを使用してプロセッサを構成します-事実上、それを専用のフラッシュプログラマにします。次に、プロセッサによって提供される効率的なメカニズムを使用して、プログラミングデータをプロセッサに転送し、プログラミング速度を劇的に向上させます。
対応実績
以下、XJDirectでサポートされるデバイスの一部です。このリストは定期的に更新されています。デバイスがリストにない場合は、XJTAGにお問い合わせください。
- Altera – Cyclone V
- Ambarella – A288S, S2
- ARM – ARM7, ARM9, ARM11, Cortex Ax, Cortex Mx
- Cypress – PSoC4
- Infineon – TC1798 (TriCore), XMC4500, TC29x(TriCore)
- Microchip (ATMEL) – AT91, MEGA, XMEGA, UC3, SAM3U, ATSAME70/S70/V70/V71, PIC16LF1936, PIC12F609, PIC32MX
- MicroVision – MV6410
- Nordic Semiconductor – nRF52832
- NXP (Freescale) – Kinetis MK66, MKE06, MK24, MK10, MKL02, MK64, MKE02, MK60, MK22, MKW21, iMX6, iMX8 , iMX25, Vybrid VF3xxR, Vybrid VF5xxR
- NXP – LPC17xx, LPC18xx, LPC43xx, LPC24xx, LPC15xx, LP17xx, LPC408x/7x, MC56F8346
- OKI – ML674001, ML675001
- Renesas – RZ/A1H, RZ/A1M
- Samsung – S3C2440
- STMicroelectronics – STM32F0, STM32F1, STM32F2, STM32F3, STM32F4, STM32H7, STM32L1, STM32L4, STR71x, SPEAr1300
- TI – TMS570, AM335x, AM3703, AM/DM37xx, RM48, AM1808, AM1810, AM5729, DRA7xx (Jacinto) , MSP430, OMAP35xx, OMAP543x, Stellaris LM3S2948, TMS320F2803x, TMS320F2812, TMS320DM814x(DaVinci), TM4C129x(Tiva)
- Xilinx – Zynq, Zynq Ultrascale, Zynq Ultrascale+
Runs on Windows® 10 / 8.1 / 8 / 7.