pátek 11. listopadu 2011

Jak zprovoznit JTAG pro Quartus II a Nios

Ověřeno pro vývojový kit Altera DE2-70.


Vytvoříme pravidlo pro udev
$ nano /etc/udev/rules.d/51-usbblaster.rules


# USB-Blaster
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6002", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6003", MODE="0666"

Načteme znovu udev pravidla
$ udevadm control --reload-rule

Dále provedeme následující
$ mkdir /etc/jtagd
$ cp /opt/altera/11.0/quartus/linux/pgm_parts.txt /etc/jtagd/jtagd.pgm_parts

Spustíme Nios2 Command Shell
$ /opt/altera/11.0/nios2eds/nios2_command_shell.sh 

------------------------------------------------
Altera Nios2 Command Shell [GCC 4]

Version 11.0, Build 157
------------------------------------------------

$ jtagconfig --enum
1) USB-Blaster [2-1.2]
  020B60DD   EP2C70

$ killall jtagd
$ jtagd

Nahrajeme .sof soubor
$ nios2-configure-sof nios2_quartus2_project_time_limited.sof

Tento projekt má omezení kvůli licenci, proto v Quartusu by při nahrání vyskočila hláška:
"Click Cancel to stop using OpenCore Plus IP"
Nesmíme dát Cancel, pokud chceme do Niosu nahrávat!
V konzoli se nám výpis obdobně zastaví, můžeme pak ukončit písmenem "q".
Zatím neukončujeme a proces si buď dáme na pozadí abychom mohli psát další příkazy nebo otevřeme další okno terminálu.

Info: SRAM Object File ./nios2_quartus2_project_time_limited.sof contains time-limited megafunction that supports OpenCore Plus feature -- Vendor: 0x6AF7, Product: 0x00A2
Info: *******************************************************************                                                                
Info: Running Quartus II Programmer
Info: Command: quartus_pgm --no_banner --mode=jtag -o p;./nios2_quartus2_project_time_limited.sof
Info: Using programming cable "USB-Blaster [2-1.2]"
Info: Using programming file ./nios2_quartus2_project_time_limited.sof with checksum 0x007F2952 for device EP2C70F896@1
Info: Started Programmer operation at Sat Nov 12 00:32:51 2011
Info: Configuring device index 1
Info: Device 1 contains JTAG ID code 0x020B60DD
Info: Configuration succeeded -- 1 device(s) configured
Info: Successfully performed operation(s)
Info: Ended Programmer operation at Sat Nov 12 00:32:54 2011
Info: Quartus II Programmer was successful. 0 errors, 0 warnings
    Info: Peak virtual memory: 101 megabytes
    Info: Processing ended: Sat Nov 12 00:32:57 2011
    Info: Elapsed time: 00:00:06
    Info: Total CPU time (on all processors): 00:00:00
Please enter i for info and q to quit:

Poté nahrajeme .elf soubor
$ nios2-download count_binary.elf 

Using cable "USB-Blaster [2-1.2]", device 1, instance 0x00
Pausing target processor: OK
Initializing CPU cache (if present)
OK
Downloaded 12KB in 0.0s
Verified OK
Leaving target processor paused

Nyní se vrátíme k nahrávání .sof a zmačkneme "q" (obdoba Cancel v Quartus II)
Please enter i for info and q to quit: q
Info: Quartus II Programmer was successful. 0 errors, 0 warnings
    Info: Peak virtual memory: 101 megabytes
    Info: Processing ended: Sat Nov 12 00:43:26 2011
    Info: Elapsed time: 00:04:12
    Info: Total CPU time (on all processors): 00:00:00

Žádné komentáře:

Okomentovat