Skip to content

Instantly share code, notes, and snippets.

@makestuff
Last active August 29, 2015 14:15
Show Gist options
  • Save makestuff/ce9018210ff94dac5551 to your computer and use it in GitHub Desktop.
Save makestuff/ce9018210ff94dac5551 to your computer and use it in GitHub Desktop.
UMDKv2 tools and FPGA designs
# -----------------------------------------------------------------
# BUILD TOOLS & XSVF FILES
sudo apt-get update
sudo apt-get install build-essential libreadline-dev libusb-1.0-0-dev python-yaml
export XILINX=/opt/Xilinx/14.7/ISE_DS/ISE
export PATH=${XILINX}/bin/lin64:${PATH}
cd $HOME
mkdir 20150315
mkdir umdkv2-bin
cd 20150315
wget -qO- http://tiny.cc/msbil | tar zxf -
cd makestuff/apps
../scripts/msget.sh makestuff/flcli/20150315
../scripts/msget.sh makestuff/gordon
cd flcli
make deps
cp lin.x64/rel/*.so $HOME/umdkv2-bin/
cp lin.x64/rel/flcli $HOME/umdkv2-bin/
cd ../gordon
make deps
cp lin.x64/rel/*.so $HOME/umdkv2-bin/
cp lin.x64/rel/gordon $HOME/umdkv2-bin/
cd ../..
scripts/msget.sh makestuff/hdlmake
cd hdlmake/apps
../bin/hdlmake.py -g makestuff/swled
../bin/hdlmake.py -g makestuff/readback
../bin/hdlmake.py -g makestuff/spi-talk
../bin/hdlmake.py -g makestuff/umdkv2
cd makestuff/swled/cksum/vhdl/
../../../../../bin/hdlmake.py -t ../../templates/fx2min/vhdl -b lx9r2 -p fpga
cp fpga.xsvf $HOME/umdkv2-bin/cksum.xsvf
cd ../../../readback/vhdl/
../../../../bin/hdlmake.py -t ../templates/fx2min/vhdl -b lx9r3 -p fpga
cp fpga.xsvf $HOME/umdkv2-bin/readback.xsvf
cd ../../spi-talk/vhdl/
../../../../bin/hdlmake.py -t ../templates/fx2min/vhdl -b lx9r3 -p fpga
cp fpga.xsvf $HOME/umdkv2-bin/spi-talk.xsvf
cd ../../umdkv2/vhdl/
../../../../bin/hdlmake.py -t ../templates/fx2min/vhdl -b lx9r3 -p fpga
cp top_level.bin $HOME/umdkv2-bin/fpga.bin
# -----------------------------------------------------------------
# BUILD 68000 CROSS-ASSEMBLER AND CROSS-COMPILER
# sudo apt-get install cvs lzma bison flex texinfo automake libtool libtool-bin zlib1g-dev gawk gperf libncurses5-dev
cd ../scripts/
./build-gcc.sh
# -----------------------------------------------------------------
# BUILD GDB-68000
./build-gdb.sh
# -----------------------------------------------------------------
# BUILD DDD FRONTEND
# sudo apt-get install libmotif-dev libx11-dev libxext-dev libxp-dev libxmu-dev
./build-ddd.sh
# -----------------------------------------------------------------
# BUILD SGDK
./build-sgdk.sh
# -----------------------------------------------------------------
# BUILD UMDKv2 TOOLS
cd ../logread/
make
cp lin.x64/rel/*.so $HOME/umdkv2-bin/
cp lin.x64/rel/logread $HOME/umdkv2-bin/
cd ../hackdump/
make
cp lin.x64/rel/*.so $HOME/umdkv2-bin/
cp lin.x64/rel/hackdump $HOME/umdkv2-bin/
cd ../m68k/menu/
./rel.sh
cd ../../gdb-bridge/monitor/
make
cat monitor.bin ../../m68k/menu/menu.bin > $HOME/umdkv2-bin/firmware.bin
cd ..
make rel
cp lin.x64/rel/*.so $HOME/umdkv2-bin/
cp lin.x64/rel/gdb-bridge $HOME/umdkv2-bin/
cd ../loader/
make
cp lin.x64/rel/*.so $HOME/umdkv2-bin/
cp lin.x64/rel/loader $HOME/umdkv2-bin/
# -----------------------------------------------------------------
# After all this, in $HOME/umdkv2-bin you should now have:
# Flash Binaries:
# fpga.bin - UMDKv2 FPGA configuration (load at 0x00000)
# firmware.bin - 2nd-stage bootloader and menu program (load at 0x60000)
# FPGA Binaries:
# cksum.xsvf - FPGA design for testing USB integrity and throughput
# readback.xsvf - FPGA design for testing SDRAM
# spi-talk.xsvf - FPGA design for loading flash
# Executables:
# flcli - FPGALink command-line interface
# gordon - gordon flash tool
# gdb-bridge - proxy for GDB remote-serial protocol
# logread - render a trace log in human-readable form
# hackdump - compare memory dumps for specific diffs
# loader - various low-level data transfer operations
# Dependent Libraries:
# libfpgalink.so - the FPGALink host-side library
# libfx2loader.so - load FX2LP firmware
# libbuffer.so - dynamic memory allocation
# liberror.so - error message handling
# libusbwrap.so - cross-platform host-side USB API
# libargtable2.so - parse command-line arguments
#
# You can then add the tools to your PATH:
# export PATH=${HOME}/x-tools/m68k-megadrive-elf/bin:${HOME}/umdkv2-bin:${PATH}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment