Skip to content

Instantly share code, notes, and snippets.

View makestuff's full-sized avatar

Chris McClelland makestuff

View GitHub Profile
/*
* Copyright (C) 2013 Chris McClelland
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
const char *fileName;
unsigned long chan = strtoul(dumpOpt->sval[0], (char**)&fileName, 10);
FILE *file = NULL;
struct ReadReport readReport = {0,};
CHECK_STATUS(*fileName!=':', FLP_ARGS, cleanup);
fileName++;
printf("Copying from channel %lu to %s", chan, fileName);
file = fopen(fileName, "wb");
CHECK_STATUS(!file, FLP_CANNOT_SAVE, cleanup);
sigRegisterHandler();
@makestuff
makestuff / gist:7190673
Created October 28, 2013 02:46
Build FPGALink on Raspberry Pi, and use it to load and readback the 16MiB SDRAM on the Aessent aes220
Building the readback VHDL on Linux:
mkdir $HOME/20131026
cd $HOME/20131026
wget -qO- http://www.swaton.ukfsn.org/bin/makestuff-lindar-20130829.tar.gz | tar zxf -
cd makestuff/
scripts/msget.sh makestuff/hdlmake/20131026
cd hdlmake/apps
../bin/hdlmake.py -g makestuff/readback
cd makestuff/readback/vhdl/
@makestuff
makestuff / cksum_sbt.project
Last active December 27, 2015 02:49
A project file for building the swled/cksum/vhdl example for the iCEblink40 devkit, using the iCEcube2 IDE.
[Project]
ProjectVersion=2.0
Version=Lattice Semiconductor Corporation iCEcube - Release: 2013.08.24169 - Build Date: Sep 6 2013 16:26:56
ProjectName=cksum
Vendor=SiliconBlue
Synthesis=synplify
ProjectVFiles=../../templates/epp/vhdl/top_level.vhdl=work,../../templates/harness.vhdl=work,../../../../../libs/makestuff/comm-fpga/epp/vhdl/comm_fpga_epp.vhdl=work,../../../../../libs/makestuff/seven-seg/vhdl/seven_seg.vhdl=work,cksum_rtl.vhdl=work
ProjectCFiles=
CurImplementation=cksum_Implmnt
Implementations=cksum_Implmnt
@makestuff
makestuff / BootloaderDFU.hex
Last active December 27, 2015 06:29
The 20131101 FPGALink/AVR firmware for the iCEblink40 FPGA devkit.
:1030000039C000006FC000006DC000006BC0000040
:1030100069C0000067C0000065C0000063C0000018
:1030200061C000005FC000005DC0000027C5000057
:1030300059C0000057C0000055C0000053C0000038
:1030400051C000004FC00000DBC100004BC00000B9
:1030500049C0000047C0000045C0000043C0000058
:1030600041C000003FC000003DC000003BC0000068
:1030700039C0000011241FBECFEFD2E0DEBFCDBFAC
:1030800004B603FE1AC080918501909186012CED53
:103090008234920791F484B7877F84BF88E10FB6AA
@makestuff
makestuff / fmc-s6-howto
Last active December 27, 2015 16:49
FPGALink on the Digilent FMC-carrier-S6 board.
---------------------------------------------------------------------------------------------------
Building FPGALink & the cksum example VHDL for Digilent FMC-S6 on Linux:
# Install prerequisites:
sudo apt-get install build-essential libreadline-dev libusb-1.0-0-dev python-yaml
mkdir $HOME/20140330
cd $HOME/20140330
wget -qO- http://tiny.cc/msbil | tar zxf -
# Fetch and build flcli:
@makestuff
makestuff / minimus16.hex
Created November 11, 2013 15:29
20131101 AVR firmware for Minimus-16
:1000000076C00000ABC00000A9C00000A7C000007F
:10001000A5C00000A3C00000A1C000009FC0000058
:100020009DC000009BC0000099C000000C94F30A22
:1000300095C0000093C0000091C000008FC0000078
:100040008DC000008BC0000089C0000087C0000088
:1000500085C0000083C0000081C000007FC0000098
:100060007DC000007BC0000079C0000077C00000A8
:1000700075C0000012011001FFFFFF08501D2B602A
:100080000100010200010902200001010080320983
:1000900004000002FFFFFF00070584024000FF0785
@makestuff
makestuff / HOWTO
Last active December 28, 2015 00:48
Running blinky demo on Spartan-3AN
First, add these two lines to /etc/udev/rules.d/10-local.rules (create the file if it doesn't
already exist):
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffa", GROUP="users", MODE="0660"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1d50", ATTR{idProduct}=="602b", GROUP="users", MODE="0660"
...so you can talk to the relevant USB devices without sudo. Then connect your JTAG port to
your Minimus (TDO->PB3, TDI->PB2, TCK->PB1, TMS->PB0, +3.3V->VCC and GND->GND - keep the
connections short), and power up the board. No need to connect the USB cable to the FPGA board,
just the Minimus.
$ # Fetch the ACME source code...
$ wget -qO- http://www.esw-heim.tu-clausthal.de/~marco/smorbrod/acme/current/acme093testing.tar.bz2 | bunzip2 -c | tar xf -
$
$ # Build it...
$ cd acme093testing/src/
$ sed -i 's/$(CC) $(LIBS)\(.*\)/$(CC)\1 $(LIBS)/g' Makefile
$ make -s 2>/dev/null
$
$ # Fetch the DOS 3.1 binary disk image...
$ wget -q -O dos3.1.d13 'http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Software/Operating%20Systems/Apple%20DOS/Disk%20Images/Apple%20DOS%203.1%20Master.d13'
@makestuff
makestuff / knight_rider.vhdl
Last active June 2, 2017 12:53
Blinky LEDs, Knight-Rider style.
--
-- Copyright (C) 2013 Chris McClelland
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU Lesser General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of