OK here's a new software build, incorporating all the necessary fixes we discovered so far, and a few more tweaks added for good measure. It's also a binary distribution, so no need to compile everything from source. I built it on a Debian 7.9 machine, and tested it on Debian 8.1 and Fedora 23, and it seems to work fine.
Code: Select all
export ARCH=x64 # set this to x86 if your OS is 32-bit
export RELEASE=20151220
cd ${HOME}
mkdir umdk-old
mv umdkv2-bin umdk-old/
mv x-tools umdk-old/
wget -q https://dl.dropboxusercontent.com/u/80983693/umdkv2/umdk-l${ARCH}-${RELEASE}.tar.gz
tar zxf umdk-l${ARCH}-${RELEASE}.tar.gz
wget -q https://dl.dropboxusercontent.com/u/80983693/umdkv2/xtools-l${ARCH}-${RELEASE}.tar.gz
tar zxf xtools-l${ARCH}-${RELEASE}.tar.gz
You can now install SGDK and build a debug version of the menu program to play with:
Code: Select all
mkdir ${RELEASE}
cd ${RELEASE}
wget -qO- http://tiny.cc/msbil | tar zxf -
cd makestuff
scripts/msget.sh makestuff/hdlmake/${RELEASE}
cd hdlmake/apps
mkdir makestuff
cd makestuff
../../../scripts/msget.sh makestuff/umdkv2
cd umdkv2/scripts
./build-sgdk.sh
cd ../m68k/menu
./dbg.sh
Note that these "RELEASE" and "ARCH" variables are only used for this install operation; there's no need to permanently add them to your .bash_aliases or whatever.
I felt the need to change a couple of file-names, to make things more consistent. To upgrade your FPGA & MD firmware, do:
Code: Select all
flcli -v 1d50:602b -p J:A7A0A3A1:${HOME}/umdkv2-bin/spi-talk.xsvf
gordon -v 1d50:602b -t indirect:1 -w ${HOME}/umdkv2-bin/fpga-prod.bin:0
gordon -v 1d50:602b -t indirect:1 -w ${HOME}/umdkv2-bin/firmware.bin:0x60000
I also found a potential reason for why others were getting different results from the sig-test thing we tried (I doubled the depth of the trace FIFO in the FPGA, and increased the size of each chunk of trace data read over USB to 64KiB). It would be good if everyone could try that again. There's no need to hit ctrl-c this time; it'll stop after grabbing 2048 chunks of trace data, which is more than enough.
Code: Select all
cd ${HOME}
mkdir sigtest
cd sigtest
wget -q https://dl.dropboxusercontent.com/u/80983693/umdkv2/sigtest.bin.bz2
bunzip2 sigtest.bin.bz2
flcli -v 1d50:602b -p J:A7A0A3A1:${HOME}/umdkv2-bin/fpga-test.xsvf
loader -w sigtest.bin:0 -x 2 -t trace.bin:2048
logread trace.bin | grep -v HEARTBEAT | head -8388250 | awk '{print $2$3$4$5}' | md5sum
As before, the resulting MD5 should be
d5a670db486de8597e214c6849fdfacb.
Probably the most noticeable difference is I no longer build DDD myself, but rely on you having DDD installed, which you can do with something like
sudo apt-get install ddd or
sudo yum install ddd.
Finally, as promised in the separate thread, I removed gdb-bridge's "-d" option, and replaced it with a couple of GDB monitor commands. So if you want a WRAM dump, enter this in the DDD command-window:
And if you want to get a trace of the next continue-to-breakpoint or similar command, do this:
As always, any problems, let me know. I'll be moving the "getting started" posts at the beginning of this thread to the UMDK wiki in GitHub in the next few days, with suitable edits to reflect all we've learned recently.