Version 2

    This document describes how to install and run XXICC on your computer, either by compiling XXICC source code or installing binaries. 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:

    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.


    1. 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

    2. Change to your XXICC directory: cd ~/XXICC
    3. Download the XXICC source code into your XXICC directory and unzip it:


    4. Before compiling XXICC, you need to install the libxft developer’s libraries:

      sudo apt-get update
      sudo apt-get install libxft-dev

    5. Make a subdirectory for XXICC object code: mkdir xxicc.od
    6. Compile XXICC’s C files: make T=XGL

      This should create the XXICC executable xxicc in about 26 seconds.

    7. Install, which XXICC needs to talk to Papilio DUO’s FT2232H USB serial chip.

      sudo apt-get install libftdi1

      This installs  However, XXICC needs it to be named, so you must add a symbolic link in /usr/lib/arm-linux-gnueabihf:

      cd /usr/lib/arm-linux-gnueabihf
      sudo ln -s
      cd ~/XXICC

    8. 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.

    9. 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.