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?)
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.
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
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
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
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
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
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
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