Template:CompileOpenOCDLinuxD2XX

From eLinux.org
Revision as of 03:24, 18 April 2012 by Wmat (Talk | contribs)

Jump to: navigation, search

This guide will compile OpenOCD {{{3}}} for Ubuntu 10.04 with the {{{{{2}}}_NAME_CAPS}} driver library, for use with the TinCanTools Flyswatter.


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.