Wednesday, December 22, 2010

Connect GRMON Debugger ke LEON3 via JTAG

Definisi:
1) GRMON adalah software debuger (debug monitor) untuk prosesor LEON. GRMON berkomunikasi dengan DSU (Debug Support Unit) yang ada di LEON, dan memungkinkan debugging secara non-intrunsive. Keterangan selengkapnya llihat disini.
2) LEON3 adalah versi ketiga LEON, sebuah prosesor open source 32-bit dengan arsitektur SPARC. Prosesor ini pertama kali dikembangkan oleh Jiri Gaisler dibawah Gaisler Research atau Aeroflex Gaisler. Informasi selengkapnya lihat disini.
3) JTAG adalah singkatan dari Joint Test Action Group, merupakan standard IEEE untuk interface IC debugging.

Untuk bisa mengkoneksikan GRMON debugger ke LEON3 menggunakan interface JTAG, berikut langkah-langkahnya (case LEON3 dijalankan di platform StratixII-60):
1. Install USB blaster
a. Untuk Windows-XP, drivernya bisa didownload disini.
b. Untuk Linux:
- Tambahkan line berikut pada /etc/udev/rules.d/40-permissions.rules

# Altera USB-Blaster
BUS=="usb", SYSFS(idVendor)=="09fb", SYSFS(idProduct)=="6001", MODE="0666", SYMLINK+="usbblaster"

- Buat file kosong .jtag.conf pada directory home user.
- Jalankan jtagconfig di terminal
- Jalankan perintah berikut:

$ sudo mount -t usbfs /dev/bus/ /proc/bus/usb/
$ killall jtagd
$ sudo /bin/jtagd
$ jtagconfig

2. Jalankan GRMON

Untuk Board CycloneIII:
LD_LIBRARY_PATH=/opt/altera9.1/quartus/linux grmon-eval -u -altjtag -jtagdevice 1 -freq 40 -mcfg1 0x10f808ff -mcfg2 0x0000100f -mcfg3 0x000ff000 -stack 0x401f4000

Untuk Board StratixII S180:
LD_LIBRARY_PATH=/opt/altera9.1/quartus/linux ./grmon-eval/linux/grmon-eval -u -altjtag -mcfg2 0xe5006e60 -mcfg1 0x00400888 -mcfg3 0x000ff000 -stack 0x40ef0000 -jtagdevice 1

Seharusnya akan muncul screen berikut:


grmon-eval dapat didownload disini. Selamat mencoba. =)