Modifying USRP-related code (C, FX2 f/ware & FPGA f/ware)

Hello,

Apologies for this simple set of questions - I’m a
relative newcomer to developing under Linux.

I am trying to modify the USRP code framework to
handle some custom hardware I’ve designed which also
uses the FX2 though with a different FPGA (Spartan-3).

I’m running Ubuntu Dapper and have gotten all the
gnuradio packages, passed their configure sanity
checks, run make && make install on all - everything
is built.

I now need to modify the top-level usrp interface C
code (usrp_standard.cc ?), the usrp firmware
(usrp_common.c?), and eventually create my own FPGA
bitfile to be downloaded.

I’d like to have a setup whereby I modify a particular
source, run make to build the affected app and therby
generate a modified binary. Are the default make
output paths setup to handle this - should they point
to /usr/local/bin? or to some dir in my /home
directory?

Also, will the top-level python scripts which call
have to change in their function/method calls? I’d
assume that provided the C code has been built
successfully they’ll just call the new code.

Many thanks for any help - and sorry again for my lack
of knowledge on how to get things done under Linux!

Cheers
Kalen Watermeyer

I assume that the make files have been setup to invoke
the right compilers/swig etc depending on the sources
that have changed.


The all-new Yahoo! Mail goes wherever you go - free your email address
from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html

On Wed, Jun 21, 2006 at 10:52:57AM +0100, Kalen Watermeyer wrote:

Hello,

Apologies for this simple set of questions - I’m a
relative newcomer to developing under Linux.

Welcome.

I am trying to modify the USRP code framework to
handle some custom hardware I’ve designed which also
uses the FX2 though with a different FPGA (Spartan-3).

Shouldn’t be too hard… (famous last words).

I’m running Ubuntu Dapper and have gotten all the
gnuradio packages, passed their configure sanity
checks, run make && make install on all - everything
is built.

I now need to modify the top-level usrp interface C
code (usrp_standard.cc ?), the usrp firmware
(usrp_common.c?), and eventually create my own FPGA
bitfile to be downloaded.

OK, before you start chopping away, I suggest modifying the FX2 code
so that it knows how to load your FPGA. I don’t think that’ll require
many changes to the host code (the default name for the firmware and
fpga image it loads).

Start by writing a small test program that uses usrp_basic.h to load
everything, or something like usrper.cc which uses only the low level
primitives to get FX2 firmware and the FPGA bits loaded.

I’d like to have a setup whereby I modify a particular
source, run make to build the affected app and therby
generate a modified binary. Are the default make
output paths setup to handle this - should they point
to /usr/local/bin? or to some dir in my /home
directory?

You can specify a --prefix= argument to configure and it will
install there. By default it goes in /usr/local.

Also, will the top-level python scripts which call
have to change in their function/method calls? I’d
assume that provided the C code has been built
successfully they’ll just call the new code.

If you use the same classes and same methods, the python code will
work as is. The python code wraps usrp_standard_rx and
usrp_standard_tx, admittedly through an excessively convoluted path.

Many thanks for any help - and sorry again for my lack
of knowledge on how to get things done under Linux!

Good luck.

Cheers
Kalen Watermeyer

I assume that the make files have been setup to invoke
the right compilers/swig etc depending on the sources
that have changed.

Yes.

Eric

Kalen -

On Wed, Jun 21, 2006 at 10:52:57AM +0100, Kalen Watermeyer wrote:

I am trying to modify the USRP code framework to
handle some custom hardware I’ve designed which also
uses the FX2 though with a different FPGA (Spartan-3).

You may or may not find my modifications to USRP helpful.
I ran both a Virtex4 and a Spartan3 board off of this.

http://recycle.lbl.gov/~ldoolitt/xguff.html

- Larry

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs