Forum: Mikrocontroller und Digitale Elektronik uc über jtag mit fpga programmieren


von ewigergert (Gast)


Lesenswert?

Hallo,

ich möchte für meine studienarbeit einen avr32 (uc3c) über jtag 
programmieren. (das geht mit dem AVR-Studio und dem AVR-Dragon 
einwandfrei, aber es soll später über ein FPGA programmiert werden.)

Das AVR-Studio erstellt mir eine .hex file, die meinem programmcode 
entspricht.
Diese Datei würde ich gerne in eine svf-Datei umwandeln (also 
Programm-Code plus JTAG-Instructions), um sie dann mit einem SVF-Player 
"abzuspielen".
Leider gibt es nur ein uralt-Tool von AVR (avrsvf), das nur die 8bit 
atmegas unterstützt.
Kennt jemand eine komfortable lösung oder muss man sich da selbst was 
schreiben?
(oder ist die ganze Idee Quatsch?)

von Uwe (Gast)


Lesenswert?

Also ich würde sagen Quatsch. Was soll denn der tiefere sinn dahinter 
sein ?
Ich könnte mir jedoch vorstellen wenn du deinen µC über LAN oder WLAN 
oder  PCIe programmieren willst (und das im FPGA implementiert ist) kann 
es doch sinnvoll sein.

von ewigergert (Gast)


Lesenswert?

Hallo Uwe,

vielen Dank für deine Zeit.

Grundsätzlich sieht es so aus:
Der Mikrocontroller soll auf einem Board mit bestimmer Peripherie in ein 
bestehendes System eingebaut werden.
Dieses System beinhaltet einen FPGA mit PowerPC.
Nun muss der "leere" Mikrocontroller programmiert werden. Das muss 
(Vorgabe) über JTAG passieren.
Ich habe mir nun gedacht, dass man Softwaremäßig über den PowerPC die 
FPGA-Pins wackeln lässt, die an die JTAG-Schnittstelle des 
Mikrocontrollers angeschlossen sind.

Deshalb würde ich das gerne mit einem SVF-Player zu machen. Dafür 
brauche ich aber eine SVF-Datei, die zu meinen UC3C passt. (Wobei ich 
dachte das sei ein Standard, aber irgendwie scheint es da doch 
Unterschiede zu geben).

Viele Grüße und friedvolle Weichnachten

von Uwe Bonnes (Gast)


Lesenswert?

Hallo,

in wie weit ist die JTAG Prohrammierung des uc3c offengelegt? Gibt es 
1532-BSDL Dateien? Oder ist es etwa wie fuer die AVRs im Datenblatt 
beschrieben?

xc3sprog auf sourceforge implementiert die JTAG Programmierung fuer 
Xilinx Bausteine und einige AVR/XMega. Schau doch mal, ob du das auf den 
uc3c erweitern kannst. Dann kannst Du den Code auf Deine Ziel CPU 
portieren.

Adererseits gibt es auch verschiedene (x)svf Player, z.B. auf 
www.ethernut.de. Dass sollte auch gehen, wenn Du XVSF erzeugen kannst.

Ansosnten ist ein Bootloader auch eine gute Idee und universeller.

Tschuess

von ewigergert (Gast)


Lesenswert?

Hallo Uwe,

vielen Dank für deine Ratschläge.
Ich werde mich mit deinen Vorschlägen auseinandersetzen.

Viele Grüße

von ewigergert (Gast)


Lesenswert?

Hallo,

zwischen den Jahren kam ich leider nicht dazu mich weiter mit dem Thema 
auseinander zu setzen. Aber jetzt gehts weiter ...

/Gibt es 1532-BSDL Dateien?/
Ja, die kann man von der Atmel-Seite runteraden. Ich geh' mal davon aus, 
dass die sich an den IEEE Standard gehalten haben.

/xc3sprog auf sourceforge implementiert die JTAG Programmierung fuer
Xilinx Bausteine und einige AVR/XMega. Schau doch mal, ob du das auf den
uc3c erweitern kannst. Dann kannst Du den Code auf Deine Ziel CPU
portieren./

Ich weiss nicht, ob ich das mit dem Erweitern hinkriege und würde eine 
einfachere Lösung bevorzugen. Ansonsten steige ich damit ein.


Ich habe aber noch ein grundsätzliches Verständnisproblem.

BSDL-Files beinhalten Informationen über die Physikalischen und 
Logischen Zusammenhänge, sowie über die JTAG-Hardware auf dem 
Ziel-Device.

SVF-Files beinhalten Anweisungen an den TAP-Controller, sowie die 
Binaries des Programms, das ich auf das Device flashen will.

Wenn ich nun einen JTAG-Programmer benutzen will. Benötige ich dann 
beide Dateien? Oder ist das BSDL File unnötig wenn man schon das 
richtige SVF-File hat?
Kann man eine svf-file nur mit den Informationen, die in dem BSDL-File 
enthalten sind, erzeugen?

Viel Fragen, sorry

Viele Grüße
EwigerGert

von Frank K. (fchk)


Lesenswert?

Kannst Du die JTAG-Kette auftrennen und Deinen AVR32 mit hineinhängen?
-> TCK und TMS parallel
-> TDO vom FPGA an TDI vom AVR32
-> TDI ext an TDI vom FPGA
-> TDO ext an TDO vom FPGA

Damit kannst Du beide Bausteine über einen einzigen herausgeführten JTAG 
mit den herstellerspezifischen Tools programmieren und debuggen.

Ansonsten ist die Programmierung des AVR über ISP oder PDI einfacher.

fchk

von ewigergert (Gast)


Lesenswert?

Meine Kette besteht nur aus FPGA und AVR und das anschließen ist nicht 
das Problem.
Das Problem ist vielmehr, dass ich im Moment über JTAG mit dem Dragon 
und AVRSTudio5 das "Programm" auf den Mikrocontroller flashe.

Im Endzustand soll aber weder der Dragon noch das AVRStudio benutzt 
werden.
Daher denke ich, dass ich eine svf-Datei brauche, die mit einem 
linux-tool "abgespielt" werden kann.
Nur wie erzeuge ich eine, für meinen AVR32 passende, svf-Datei aus 
meiner Hex/Bin Datei.
(Die BDSL-File vom avr habe ich, sollte man die brauchen)

viele grüße
ewigergert

von ewigergert (Gast)


Lesenswert?

Also ich habe nach langer ergebnisloser Suche mal den ATMEL Support 
angeschrieben und die haben auch schnell geantwortet.

Die haben mir ein Programm geschickt (Beta Version), das folgende 32bit 
Atmel Devices unterstützt:

32UC3A0512
32UC3A0256
32UC3A0128
32UC3A1512
32UC3A1256
32UC3A1128
32UC3B0256
32UC3B0128
32UC3B064
32UC3B1256
32UC3B1128
32UC3B164
32UC3L064
32UC3L032
32UC3L016

Zusätzlich noch einige atmegas und xmegas.
Leider ist mein Uc3c nicht dabei.
Aber es gibt dort eine Device-Liste mit einigen Einstellungen, wie
-page size
-erase delay
-id
-idmask
-flashcontroller
-default fuses

Kann man, wenn man die uc3c spezifischen werte rausfindet, das programm 
nur anhand der device liste ändern und für den uc3c benutzen?

PS: Wenn jmd das Programm will, dann schicke ich ihm das gerne.

viele grüße
ewigergert

von Frank K. (fchk)


Lesenswert?

Bei der Programmierung über JTAG wird das PDI-Protokoll über einen 
JTAG-Spezialbefehl durchgetunnelt. Wenn Du das PDI-Protokoll Deines 
Prozessors mit dem eines bekannten Prozessors anhand der Datenblätter 
vergleichst, müsste das gehen.

fchk

von Hans H. (hanshogendoorn)


Lesenswert?

Haben Sie diese SVF-Tool für mich?

viele grüße
Hans (hanshogendoorn@hetnet.nl)

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.