Hallo,
ich habe ein DE0-Nano Board von Altera/Terasic mit dem EP4CE22F17
darauf.
Jetzt versuche ich aktuell mit OpenOCD statt mit dem Quartus Programmer
das FPGA zu konfigurieren.
Meine .cfg Datei sieht so aus:
1 | interface usb_blaster
|
2 | usb_blaster_lowlevel_driver ftdi
|
3 | set CHIPNAME EP4CE22F17
|
4 | set FPGA_TAPID 0x020F30DD
|
5 | adapter_khz 6000
|
6 | |
7 | jtag newtap $CHIPNAME tap -irlen 10 -expected-id $FPGA_TAPID
|
8 | init
|
9 | scan_chain
|
10 | svf -tap $CHIPNAME.tap output_files/test.svf progress
|
11 | exit
|
und mit
1 | openocd -f altera_blaster.cfg
|
rufe ich OpenOCD auf.
Die SVF-Datei erzeuge ich mit Quartus. Wenn ich ein SVF erzeuge, das das
FPGA nur direkt konfiguriert, dann klappt es auch mit OpenOCD.
Allerdings ist auf meinem Board auch ein EPCS64 Config-Flash darauf und
ich möchte auch per OpenOCD mein Design dort hinein bringen. In Quartus
erstelle ich dazu ein .jic File welches ich per
1 | quartus_cpf -c -q 6.0MHz -g 3.3 -n p C2616.jic C2616.svf
|
in ein SVF wandle.
Sende ich allerdings dieses SVF per OpenOCD dann bricht der Vorgang mit
folgendem Fehler ab:
1 | Error: tdo check error at line 57
|
2 | Error: READ = 0xf
|
3 | Error: WANT = 0x0
|
4 | Error: MASK = 0xf
|
5 | Error: fail to run command at line 1510
|
6 | Error: tdo check error at line 57
|
7 | Error: READ = 0xf
|
8 | Error: WANT = 0x0
|
9 | Error: MASK = 0xf
|
Zeile 57 der SVF Datei:
1 | SDR 4 TDI (0) TDO (0) MASK (F);
|
und Zeile 1510:
1 | SDR 2108 TDI (0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
2 | 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
3 | 00000000000000000000000000D380C0);
|
Hat jemand einen Tipp, wie ich es sonst machen könnte?