Ich habe ein ZC706-Board, das mit einem Zynq 045 FPGA ausgestattet ist. Ich habe die Jumper umgestellt, um den Zynq in die JTAG-Kette des Digilent-Programmierers einzufügen. Die erste Programmierung funktioniert wie erwartet, aber die zweite Programmierung verändert die FPGA-Konfiguration nicht.
Wenn ich das komplette Board einmal komplett aus- und wieder einschalte, kann ich das FPGA wieder programmieren, aber kein drittes Mal ...
Warum kann ich ein ZC706-Board nicht ein zweites Mal über JTAG programmieren? Sperrt der ARM die interne Konfigurations-FSM?
Die „Fertig“-LED bleibt immer hoch, damit iMPACT keinen Programmierfehler bemerkt!
Meine Aufgabe ist es, ein Design von KC705 auf den ZC706 zu portieren. Das Hardware-Testbeispiel benötigt kein ARM - dies wird von anderen implementiert :).
PROG_B
Es scheint, dass das PS den externen Pin und die JTAG-Anweisung sperren kann JPROGRAM
. Das entsprechende Bit ist PCFG_PROG_B
in devcfg.CTRL
(Adresse 0xF8007000, Bit 30).
Mit einem Lokalanalysator kann ich sehen, dass Vivado dieses Bit vor der Programmierung des FPGA setzt. Ich weiß nicht, wie ich IMPACT dazu bringen kann, dasselbe zu tun, aber Sie könnten wahrscheinlich den ARM-Teil dazu bringen, ein kleines Programm auszuführen, um das Bit zu setzen.
johnnymopo
Paebbels
johnnymopo
Paebbels
johnnymopo