GNU Radio and USRP2 on the Gumstix and BeagleBoard

Hello:

I am about to try to build and install GNU Radio 3.3.0 on a Gumstix
Overo Water board. I have seen people on this list working with the
BeagleBoard. I have some questions about this.

  1. Both the Gumstix Overo Water and the BeagleBoard use a TI OMAP 3530,
    which uses an ARM Cortex A8 CPU. Since it contains a single-precision
    floating point unit, this should be adequate for running GNU Radio with
    floating point support, right?

Here’s more information on the ARM Cortex A8 CPU and the Gumstix:

http://www.gumstix.com/store/catalog/product_info.php?products_id=228

  1. Should I use the GNU Radio 3.3.0 tarball from the website, or should
    I get the very latest code from git? Which git branch should I use?

  2. I know the USRP2 requires a 1Gb Ethernet link, but the Gumstix and
    BeagleBoard only support 100 Mbps Ethernet. Is there any way around
    this? I am only going to use it for low-bandwidth signals, say around
    100e6/500 = 200 kHz sample rates. Does anyone know whether 1 Gb Ethernet
    will be supported on the Gumstix or BeagleBoard anytime within the next
    six months?

  3. The Gumstix Overo Water board uses OpenEmbedded Linux. Can GNU Radio
    work under this distribution, or must I use Ubuntu on my Gumstix? (I
    don’t even know whether the Gumstix can run anything other than
    OpenEmbedded)

Thanks a lot for your help!!

Steve McMahon

Hi Steve,

On Nov 6, 2010, at 9:03 PM, Steve M. wrote:

  1. The Gumstix Overo Water board uses OpenEmbedded Linux. Can GNU Radio work
    under this distribution, or must I use Ubuntu on my Gumstix? (I don’t even know
    whether the Gumstix can run anything other than OpenEmbedded)

OpenEmbedded is a convenient way to build the rootfs. When you build the
omap3-console-image bitbake recipe, it builds the gcc cross compiler,
begins with the prefix arm-angstrom-linux-gnueabi-*

This compiler is usually located in your
overo-oe/tmp/sysroots/x86_64-linux/usr/armv7a/bin folder

If you specify the CROSS_COMPILE environment variable, it will
automatically prefix the arm-angstrom-linux-gnueabi- part, so that
instead of using the host gcc, it will use the
arm-angstrom-linux-gnueabi-gcc version, thus allowing you to cross
compile each package. e.g. make ARCH=arm
CROSS_COMPILE=arm-angstrom-linux-gnueabi-

I’m not certain if the whole GNU Radio stack will run on the Overo. You
could try, and one way to start is to build a complete list of all
required dependent packages, and check if recipes exist for them in
overo-oe. You would need to build the missing ones, and then finally
create a GNU Radio omap3-console-image that uses all of those packages,
and build the rootfs.

From my experience building GNU Radio from sources on Mac OS X, here is
the list of dependent packages, and the order in which I built them. You
can use this list to verify if OE recipe exist, and create new ones if
it doesnt, to build your GNU Radio recipe. It shouldn’t be too
difficult, since most packages that compile on Ubuntu/Fedora linux
should work just fine for the Overo, but I think it would take you at
least 3 to 4 weeks to finish this task.

GNU m4
autoconf
automake
GNU libiconv
GNU libtool
pkg-config
asciidoc
gettext
getopt
docbook-xsl
docbook-xml
xmlto
GNU readline
GNU MP multiple precision arithmetic library
GNU Scientific Library
guile
libjpeg
zlib
libtiff
libsdl
FFTW library
CppUnit
SWIG
boost C++
python
uhd ?
gnuradio

I’ve skipped the list for wxwidgets, qt, & some python libraries from
this list.

Best regards,

Elvis D.