Gibt es eine Open-Source-USB-JTAG-Schaltung, die ich in mein PCB-Design aufnehmen kann?

8

Ich versuche herauszufinden, ob es möglich wäre, eine USB-JTAG-Schaltung auf meiner von mir entworfenen Experimentierplatine zu bauen / einzuschließen. Mein Ziel ist es nicht, das Rad neu zu erfinden, sondern etwas zu verwenden, das bereits vorhanden ist und einfach / klein genug ist, um mein PCB-Design zu erweitern.

Ich möchte meinen Atmel SAM3S-Chip mit JTAG über USB programmieren und debuggen können.

Ich habe Geräte wie den USB-zu-JTAG-Programmierer von Modular Circuits gesehen, und es sieht so aus, als ob dies ziemlich einfach in mein Design integriert werden kann. Ich bin mir jedoch nicht sicher, ob die Lizenz dies zulässt.

Ich habe versucht, ein bisschen nach alternativen Open-Source-Designs zu suchen, konnte aber nicht wirklich etwas finden. Kann mich jemand auf ein Open Source-Projekt für USB> JTAG-Schaltkreise verweisen, die online verfügbar sind?

josef.van.niekerk
quelle
Für die "Produktions" -Karte ist es üblich, nur einen JTAG-Header zu haben und einen externen Programmierer zu verwenden, anstatt den USB-JTAG in die Karte aufzunehmen.
pjc50

Antworten:

6

Beachten Sie, dass ich dieses System nicht selbst verwendet habe, aber das folgende Projekt namens opendous-jtag ist mit OpenOCD kompatibel und möglicherweise einen Blick wert. Die Softwarelizenz ist die ziemlich liberale MIT-Lizenz und basiert auf Open Source-Hardware, die Sie replizieren können sollten:

http://code.google.com/p/opendous-jtag/

PeterJ
quelle
7

Es gibt viele Beispiele im Internet für die Verwendung eines FTDI FT232R-Chips in seinem "synchronen Bit-Bang-Modus" zum Ansteuern einer JTAG-Schnittstelle zur Konfiguration eines Mikrocontrollers oder CPLD / FPGA, einschließlich der erforderlichen Host-Software. Ein Vorteil dieses Ansatzes besteht darin, dass Sie den Chip anschließend in den regulären UART-Modus schalten und damit mit der Zielanwendung kommunizieren können.

Dave Tweed
quelle
2
Ich würde den FT2232 gegenüber dem FT232 empfehlen, da er den JTAG-Modus besser unterstützt und Sie auch weiterhin auf die serielle Schnittstelle zugreifen können, um eine Verbindung zum UART der MCU herzustellen, wodurch Sie noch mehr Verkabelung sparen.
Akohlsmith
2
Wenn Sie einen FT232 verwenden möchten, habe ich vak.ru/doku.php/proj/bitbang/bitbang-jtag gefunden, der so einfach wie möglich aussieht. Sie müssen OpenOCD allerdings patchen, obwohl ich nicht weiß, warum dies nicht für alle zukünftigen Versionen akzeptabel ist.
Akohlsmith
1
Würde dieser Ansatz sowohl das Programmieren als auch das Debuggen ermöglichen? Die nützlichsten Kommentare, danke!
Josefvan.niekerk
1
Dies würde jedoch vollständig von der Softwareunterstützung für diese Funktionen auf der Hostseite abhängen. Debugger sind im Allgemeinen sehr spezifisch für die Softwareentwicklungs-Toolchain eines bestimmten Herstellers, und diese sind im Allgemeinen so geschrieben, dass sie mit der Programmier- / Debugging-Hardware dieses Herstellers funktionieren. Generische JTAG-Debugger sind sehr selten.
Dave Tweed
Sieht so aus, als müsste ich mir einen SAM-ICE kaufen, damit das richtig funktioniert. Ich muss entscheiden, welchen Arm und welches Bein ich abhacken werde. :)
josef.van.niekerk
4

Es gibt einen Bus Blaster mit gefährlichen Prototypen - er basiert auf FT2232H - dieser Chip verfügt über zwei serielle Schnittstellen - eine wird für JTAG und eine für JTAG verwendet -, um die integrierte CPLD neu zu programmieren und verschiedene JTAG-Debugger zu emulieren.

Mäuse
quelle