This document describes how to install and run XXICC on your computer, either by compiling XXICC source code or installing binaries. install00p.zip contains two files: install00p.pdf is the readable document and install.xoe is its source code which you can edit using the XXICC Object Editor (XOE).
This is revision 0.0p, which updates GNU/Linux FTDI permissions in section 5.3 to support the Gadget Factory Papilio DUO FPGA board.
For more information on XXICC and GalaxC, see the ’blog post XXICC (21st Century Co-design) release 0.0p and XXICC's home page: xxicc.org
install00p.pdf has instructions for installing XXICC for all versions (GNU/Linux and Windows) and for all purposes. This means finding all the steps you need for a particular platform such as Raspberry Pi 2 can be a little involved. As a supplement to Raspberry Pi 2 meets Papilio DUO, here are the specific steps for installing XXICC including Flavia on RasPi 2. They have been tested on Raspbian “Wheezy” 2015-02-16. For more detail on any of the steps, see install00p.pdf.
- Create a directory for XXICC. You can call it anything you want, but the instructions assume you have called it XXICC and it’s in your home directory.
cd ~
mkdir XXICC - Change to your XXICC directory: cd ~/XXICC
- Download the XXICC source code code00p.zip into your XXICC directory and unzip it:
unzip code00p.zip - Before compiling XXICC, you need to install the libxft developer’s libraries:
sudo apt-get update
sudo apt-get install libxft-dev - Make a subdirectory for XXICC object code: mkdir xxicc.od
- Compile XXICC’s C files: make T=XGL
This should create the XXICC executable xxicc in about 26 seconds. - Install libftdi.so, which XXICC needs to talk to Papilio DUO’s FT2232H USB serial chip.
sudo apt-get install libftdi1
This installs libftdi.so.1. However, XXICC needs it to be named libftdi.so, so you must add a symbolic link in /usr/lib/arm-linux-gnueabihf:
cd /usr/lib/arm-linux-gnueabihf
sudo ln -s libftdi.so.1 libftdi.so
cd ~/XXICC - Compile XXICC’s GalaxC files, including the ones needed for Flavia: ./xxicc fla
When XXICC finishes compiling (about 36 seconds), it should bring up a file selection dialog. For now, close the dialog and xxicc terminates. The next time you run xxicc it will load object code and come up in less than a second. - Before you use Papilio DUO, download 85-ftdi.rules (udev rules file for FTDI FT2232D/H, FT232H, and Papilio DUO) and copy it (using
sudo) to /etc/udev/rules.d. 85-ftdi.rules sets permissions so that XXICC can talk to FTDI serial devices without having to run as superuser. 85-ftdi.rules takes effect when you reboot or you can reload udev rules with the command:
sudo udevadm control --reload
85-ftdi.rules requires that you are a member of the dialout group. User pi is already in dialout. Otherwise see if you’re in dialout by giving the groups command. If you’re not in dialout, give the command:
sudo adduser <userid> dialout
That should do it! Please comment if you have any questions or helpful suggestions.