Forum: Projekte & Code Altera USB Blaster


von Thomas R. (tinman) Benutzerseite



Lesenswert?

Hallo allerseits,

z.zt. gibts auf ebay jede menge günstige Altera USB Blaster,
die meisten sind basierend auf dem code von Kolja Waschk
bzw. der verbesserten version von http://fpga4u.epfl.ch/wiki/FX2

Auch wenn die nur 10EUR kosten wird garantiert jemanden geben
der für "einmal proggen" kein geld ausgeben will oder einfach
nicht 2 wochen warten will auf HK post.

Anbei der schaltplan von so einem Altera USB Blaster clone
und die passende firmware:
- dump der chinesischen version
- meine version

In meiner version sind folgende anpassungen vorgenomen:
- Port A statt Port C (wie bei der org firmware von Kolja
  Waschk oder EPFL) wird für JTAG benutzt
- GPIF ports ohne funktion
- USB Endpoints angepasst, es sind jetzt nur 2 (nur Blaster)
  statt 4 (Blater + unbenutztes GPIF) wie bei der chinesischen
  version. Warum die chinesen dies nciht angepasst haben bleibt
  wohl ein rätsel.

EDIT: Als vorlage habe die EPFL firmware 4.2 genommen.

von Thomas R. (tinman) Benutzerseite


Lesenswert?

EDIT: Es sollte schon SDCC 2.9 sein um den code compilieren
können ohne irgendwelche anpassungen.

von Hans M. (gast4711)


Lesenswert?

Habe mir auch so einen Altera-USB-JTAG geholt und jetzt die Frage, ob 
der auch mit avrdude zusammen läuft (wie?).

avrdude USBasp??? atmega8-U flash: w: test.hex

oder so ähnlich ??

von Kampfbastler (Gast)


Lesenswert?

Die originalen Altera USB Blaster kosten rund 200€ und werden 
wahrscheinlich von Terasic produziert.
Bei Terasic direkt kosten diese 50$.
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=&No=46
Die Versionen von Altera und Terasic unterscheiden sich nur in Details 
und enthalten einen Altera-CLPD und einen µC für den USB Anschluss. Die 
Schaltung und das CLPD Design findet man auch im Netz zum nachbauen.

Die China USB Blaster kosten 5-10€ und enthalten nur einen µC für Alles. 
Der USB Blaster auf dem Bild kommt trotz Altera Aufdruck bestimmt nicht 
von Altera.
Ich habe alle 3 Typen im Einsatz, mein China Blaster mit ähnlichem 
Gehäuse in grau funktioniert, ist aber um mindestens Faktor 2 langsamer 
als die Großen von Altera und Terasic.

von Hans M. (gast4711)


Lesenswert?

Keine Ahnung, welchen ich habe, meine Frage wäre "nur" :
Wie steuere ich ihn mit avrdude an

wenn ich in die avrdude.conf
"AVRDUDE_PORT = usb" oder
"AVRDUDE_PROGRAMMER = blaster"
eintrage erhalte ich "syntax error" und

avrdude blaster atmega8-U flash: w: test.hex

wird nicht ausgeführt.

Hast Du denn den originalen Altera Blaster mit avrdude zusammen im 
Einsatz und wenn ja mit welcher Kommandozeile ?

P.S.: mit -c blaster sucht er immer lpt1

avrdude -c blaster -p m8 flash: w: test.hex
avrdude: can't open device "giveio"
avrdude: failed to open parallel port "lpt1"

: Bearbeitet durch User
von Peter F. (peter_frend)


Lesenswert?

@Hans:
Versuchst du mit dem Blaster einen ATMega zu programmieren?
Dann hast du den falschen Programmer gekauft. Du brauchst entweder
einen Atmel JTAG Programmer oder einen Atmel ISP (USB-ASP, etc.)

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Alter Beitrag, reaktiviert.

Ich habe mir auch mal so einen Blaster Clone gekauft.

Ich wollte den ESP32 damit debuggen.

Ich hänge aber leider irgendwie fest.

Unter Linux OpenOCD gestartet mit den entsprechenden Parametern. OpenOCD
startet auch ohen Fehler und findet den USB Blaster.

ABER: im GDB bekomme ich kein Connect auf port 3333.

Port 4444/5555 macht der OpenOCD auf, aber kein Port 3333 zu sehen.

Muss ich noch einen Treiber dafür laden?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://eckstein-shop.de/USB-Blaster-V2
21,95 €, auch ein chinesisches Produkt von waveshare

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Ok! teste ich mal. Danke ...

Der läuft ohne extra Software? Einfach einstecken, erkennen lassen,
OpenOCD starten, GDB starten, target remote :3333

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Keine Ahnung, ich habe das bei einer Bestellung von Eckstein 
mitbestellt, seither liegt es herum. Der Beschreibung nach ist es nur 
für CPLDs und FPGAs, Wieweit auch Mikrocontroller damit programmiert 
oder debuggt werden können weiß ich nicht.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Hier wenigstens ein Foto der Platine

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Ok, da ist ein FTDI drin, dass ist mehr als in der einfachen Version.

Ich probiers.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ja, der parallele Typ 245, nicht der bekanntere 232. Aber die werden 
soweit ich weiß beide als serieller USB-Port angesprochen.

Könnte es sein, dass der Port 3333 von einer Firewall geblockt wird - 
nur so eine Idee?

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Christoph K. schrieb:
> Könnte es sein, dass der Port 3333 von einer Firewall geblockt wird -
> nur so eine Idee?

Ja, nee ist keine Firewall am laufen, localhost.

Port 4444 Telnet und 5555 mtm macht OpenOCD sofort auf und horcht 
(LISTEN).

Aber ehrlicherweise antwortet auf 4444 auch nichts :(

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Zum Vergleich der originale Terasic Blaster.

von w3llschmidt (Gast)


Lesenswert?

Läuft!
1
Open On-Chip Debugger 0.10.0-dev-g7aeadf8e (2017-11-16-23:38)
2
Licensed under GNU GPL v2
3
For bug reports, read
4
  http://openocd.org/doc/doxygen/bugs.html
5
Warn : Adapter driver 'usb_blaster' did not declare which transports it allows; assuming legacy JTAG-only
6
Info : only one transport option; autoselect 'jtag'
7
Warn : Transport "jtag" was already selected
8
adapter speed: 20000 kHz
9
force hard breakpoints
10
Info : No lowlevel driver configured, will try them all
11
Info : usb blaster interface using libftdi
12
Info : This adapter doesn't support configurable speed
13
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
14
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
15
Info : esp32: Debug controller was reset (pwrstat=0x5F, after clear 0x0F).
16
Info : esp32: Core was reset (pwrstat=0x5F, after clear 0x0F).
17
Info : esp32: Debug controller was reset (pwrstat=0x5F, after clear 0x0F).
18
Info : esp32: Core was reset (pwrstat=0x5F, after clear 0x0F).
19
Info : accepting 'gdb' connection on tcp/3333
20
Info : Target halted. PRO_CPU: PC=0x400D179E (active)    APP_CPU: PC=0x00000000 
21
esp32: target state: halted
22
Info : Use core0 of target 'esp32'
23
Info : Target halted. PRO_CPU: PC=0x40091D07 (active)    APP_CPU: PC=0x00000000 
24
Info : Auto-detected flash size 4096 KB
25
Info : Using flash size 4096 KB

Ich musste den OpenOCD (die Espresif Version!) mit:

./configure --enable-usb-blaster-2 --enable-usb_blaster_libftdi

neu compilieren.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Schade, dass der AVRdude noch nicht den USB-Blaster kennt, nur den alten 
ByteBlaster am LPT.

Einen Linux-Treiber zum Boundary-Scan mit "Urjtag" habe ich gefunden, 
der ist auch in den Paketquellen von Ubuntu enthalten. Zwei AVR-Typen 
sind in der Liste der bereits getesteten Chips enthalten:

ixo-usb-jtag
Altera Bus Blaster emulation using Cypress FX2 chip
Supported hardware: The Cypress FX2 EZ-USB family, or an FTDI FT245 in
combination with a CPLD. Builds are included for the hdmi2usb project's 
boards (Digilet Nexys, Nexys2, Atlys and Numato Opsis).

Damit sollte auch der Blaster von Waveshare benutzbar sein.

Altera Quartus soll den USB-Blaster direkt ansteuern können, auch die 
Linux-Version, das werde ich noch ausprobieren. Quartus darf man ohne 
irgendeine Beschränkung, z.B. Anbindung an die MAC-Adresse, 
installieren.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Scheint zu funktionieren. Die Linux-Version Quartus 21.1.0 vom 
21.Okt.2021 erkennt den Waveshare-Clon des USB-Blaster. Eckstein bietet 
den immer noch an für 35,95 €, "sofort lieferbar":
https://eckstein-shop.de/WaveshareUSBBlasterV2ALTERAFPGACPLDProgrammerDebugger

von Alex P. (ra_p)


Lesenswert?

Da sehe ich einen 74LVC244 als Pegelwandler, wie soll es gehen wenn ich 
einen 5V CPLD zu programmieren habe ?, VRef kann unmöglich 5V 
ajzeptieren, oder ?

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://www.ti.com/lit/ds/symlink/sn74lvc244a-q1.pdf
der ist immerhin 5V-tolerant:
Operates From 1.65 V to 3.6 V
Inputs Accept Voltages to 5.5 V

von Alex P. (ra_p)


Lesenswert?

jaja die eingänge wie TDI, aber ich meine VRef.

von Oliver D. (ollinoscope)


Angehängte Dateien:

Lesenswert?

Moin,

ich habe mir gerade ein Max II EPM240T100C5-Evalboard und so einen USB 
Blaster Clone mit der Aufschrift Rev.C bei Ebay geholt.
Den USB Blaster kriege ich nicht zum Laufen, weder mit Quartus 21.1 Lite 
noch mit der vom Verkäufer empfohlenen Version 17.0.
Mit dem Treiber von Quartus 21 wird das Ding als "Altera USB Blaster" 
erkannt und taucht im Geräte-Manager ohne Ausrufezeichen auf, sieht gut 
aus. Leider erkennt das Programmer-Tool von Quartus keine Hardware ("No 
Hardware").
Ausprobiert auf zwei PCs, einer mit Windows 11, der andere mit Windows 
10.

Der Verkäufer meinte daraufhin, ich solle mal Quartus 17 oder 18 
probieren. Also Q17 runtergeladen, Q21 deinstalliert, Q17 installiert, 
Programmer rein. Treiber war immer noch derselbe (der durch Q21 
installierte signierte Treiber von 2017). Gleiches Spiel, keine 
Hardware.

Treiber deinstalliert und den von Q17 mitgelieferten installiert. Hat 
nun ein Datum von 2014. Mit diesem Treiber stürzen beide Rechner wenige 
Sekunden nach dem Reinstecken des USB-Steckers ab (BSOD, 
PFN_LIST_CORRUPT).

In dem Ding ist ein CH552G-Mikrocontroller.

Hat schon mal jemand so ein Ding zum Laufen bekommen?
Oder funktionieren die Teile nur unter Linux?
Oder nur unter Windows 7?

Bin gespannt auf eure Antworten,

Gruß,
Olli

: Bearbeitet durch User
von Josef G. (Gast)


Lesenswert?

Oliver D. schrieb:
> Leider erkennt das Programmer-Tool von Quartus keine Hardware ("No
> Hardware").

Bei mir (unter Linux und mit anderem Programmer) kann ich dann irgendwo 
draufklicken, ich glaub es ist das Feld wo "No Hardware" draufsteht, und 
dann "USB-Blaster" auswählen.

von Oliver D. (ollinoscope)


Lesenswert?

Genau. Da öffnet sich dann bei mir ein Dialog mit einer leeren Liste, 
leider kein USB-Blaster zum auswählen. Schon seltsam, das das Teil im 
Geräte-Manager angezeigt wird, aber im Hardwareauswahldialog von Quartus 
nicht.

von Bernd (Gast)


Lesenswert?

Probiere mal mit einem anderen USB-Kabel. Ich hatte es schon, das der 
Host den Descriptor noch auslesen konnte, aber bei der eigentlichen 
Übertragung nix mehr ging.

von Oliver D. (ollinoscope)


Lesenswert?

Schöne Idee, das wärs gewesen.

Habs gerade voller Hoffnung mit einem anderen USB-Kabel probiert (von 
einem Altium Nanoboard). Leider dasselbe: Im Geräte-Manager wird's 
angezeigt, im Quartus nicht. "Add Hardware" führt übrigens zu einem 
Fehler "JTAG Error 82..." (sinngemäß, da waren noch ein paar Füllworte, 
die Zahl stimmt aber)

Ich hab mit jetzt bei Ebay einen USB Blaster-Nachbau mit FTDI-Chip und 
CPLD bestellt, mal sehen, ob's damit was wird...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.