Template:CompileOpenOCDLinuxD2XX
This guide will compile OpenOCD {{{3}}} for Ubuntu 10.04 with the {{{{{2}}}_NAME_CAPS}} driver library, for use with the TinCanTools Flyswatter.
Contents
Installing Packages
You will need to install several packages to compile and run OpenOCD. Open a terminal window (Applications menu > Accessories > Terminal) and type:
sudo apt-get install libtool sudo apt-get install autoconf sudo apt-get install texinfo sudo apt-get install libusb-dev
If you prefer to compile libusb yourself, you can find the source at http://sourceforge.net/projects/libusb/files/libusb-1.0/.
Installing libFTD2XX
Download version {{{{{2}}}_VERNUM}} of the D2XX Linux drivers from http://www.ftdichip.com. Direct link is here: http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx{{{{{2}}}_VERNUM}}.tar.gz. Extract the contents to your home directory (/home/USERNAME, replacing USERNAME with your username.)
In the terminal window, navigate to ~/libftd2xx{{{{{2}}}_VERNUM}} and copy the files ftd2xx.h and WinTypes.h to /usr/local/include. Then navigate to /usr/include and create symbolic links to the header files.
cd ~/libftd2xx{{{{{2}}}_VERNUM}} sudo cp ftd2xx.h /usr/include sudo cp WinTypes.h /usr/include cd /usr/local/include sudo ln -s /usr/include/ftd2xx.h ftd2xx.h sudo ln -s /usr/include/WinTypes.h WinTypes.h
Now return to the ~/libftd2xx{{{{{2}}}_VERNUM}} directory and copy the library file to /usr/local/lib. The libftd2xx directory contains both 32-bit and 64-bit library files. If in doubt, use the 32-bit library file. To install the 32-bit library, copy the file located in /build/i386:
cd ~/{{{{{2}}}_LIBDIR_32}} sudo cp libftd2xx.so.{{{{{2}}}_VERNUM}} /usr/local/lib
To install the 64-bit libraries, instead copy the file in /build/x86_64:
cd ~/{{{{{2}}}_LIBDIR_64}} sudo cp libftd2xx.so.{{{{{2}}}_VERNUM}} /usr/local/lib
Regardless of which you install, create symbolic links to the file in /usr/lib and /usr/local/lib. Name the links libftd2xx.so.
cd /usr/local/lib sudo ln -s libftd2xx.so.{{{{{2}}}_VERNUM}} libftd2xx.so cd /usr/lib sudo ln -s /usr/local/lib/libftd2xx.so.{{{{{2}}}_VERNUM}} libftd2xx.so
Downloading OpenOCD
Download the OpenOCD {{{3}}} source from http://prdownload.berlios.de/openocd/openocd-{{{3}}}.tar.gz and extract openocd-{{{3}}} to your home directory (/home/USERNAME/openocd-{{{3}}}).
{{FS3PATCH_{{{3}}}|{{{1}}}|~/openocd-{{{3}}}}}
Compiling OpenOCD
In the terminal window, navigate to the new folder containing the OpenOCD source and compile as follows.
cd ~/openocd-{{{3}}} sudo ./configure --disable-werror --enable-ft2232_ftd2xx --with-ftd2xx-linux-tardir="../libftd2xx{{{{{2}}}_VERNUM}}" sudo make sudo make install
Preparing to Run OpenOCD
Navigate to /home/USERNAME/openocd/src to find the openocd binary. You will need superuser priveleges to run OpenOCD.
You can run openocd from /home/USERNAME/openocd-{{{3}}}/src, but you may encounter problems with configuration files. For a more in-depth discussion of these issues, see OpenOCD Config File Paths. This guide recommends that you create a new directory containing OpenOCD and its config files.
Create a new directory in /home/USERNAME called openocd-bin, and copy the openocd binary and the contents of /home/USERNAME/openocd/tcl to the new directory. You can do this from the terminal window with the collowing commands:
cd ~ mkdir openocd-bin cd ~/openocd-{{{3}}}/tcl cp -r * ~/openocd-bin cd ~/openocd-{{{3}}}/src cp openocd ~/openocd-bin
openocd-bin should now contain the following files and subdirectories:
board chip cpld cpu openocd interface target test bitsbytes.tcl mem_helper.tcl memory.tcl mmr_helpers.tcl
You can now run OpenOCD from /home/USERNAME/openocd-bin. To get started running OpenOCD, see Running OpenOCD on Linux.