Latest USRP2 firmware binaries updated

The most recent USRP2 binary firmware files based on 3.3git series
have been posted.

Changes:

  • Addition of WBX daughterboard support in USRP2 (Jason A., Ettus
    Research)

  • Addition of set_antenna() call in libusrp2/gr-usrp2 API, currently
    supported by the XCVR2450 only. (Josh B., Ettus R.)

Due to size limitations, the support for the WBX and XCVR2450
daughterboards has been separated into distinct firmware images.
Thus, USRP2 users will now need to select the firmware image file
based the type of daughterboard they have installed.

For all currently shipping daughterboards except the WBX and XCVR2450,
use:

http://gnuradio.org/releases/usrp2-bin/trunk/txrx.bin

…which currently points to:

http://gnuradio.org/releases/usrp2-bin/trunk/txrx_edk10.1_3.3git-645-gb811e87.bin

For an image that supports the WBX, LFTX/RX, and BasicTX/RX boards only,
select:

http://gnuradio.org/releases/usrp2-bin/trunk/txrx_wbx.bin

…which currently points to:

http://gnuradio.org/releases/usrp2-bin/trunk/txrx_wbx_edk10.1_3.3git-645-gb811e87.bin

For an image that supports the XCVR2450, LFTX/RX and BasicTX/RX boards
only, select:

http://gnuradio.org/releases/usrp2-bin/trunk/txrx_xcvr.bin

…which currently points to:

http://gnuradio.org/releases/usrp2-bin/trunk/txrx_xcvr_edk10.1_3.3git-645-gb811e87.bin

The most recently synthesized FPGA bitstream (unchanged) remains:

http://gnuradio.org/releases/usrp2-bin/trunk/u2_rev3.bin

…which is the same for all daughterboards, and currently points to:

http://gnuradio.org/releases/usrp2-bin/trunk/u2_rev3_ise10.1sp3_3.3git-594-g02616cf8.bin

Please note that these binary files also require GNU Radio host code
version 3.3git-645 (today’s date) or newer.

Johnathan C.
Corgan Enterprises LLC

Hi,

From: Johnathan C. [email protected]

Due to size limitations, the support for the WBX and XCVR2450
daughterboards has been separated into distinct firmware images.

Johnathan C.

USRP2 RAM limitations? Or what limitations?

Best Regards,

Firas

On Tue, 2010-03-02 at 22:48 -0800, Firas A. wrote:

Due to size limitations, the support for the WBX and XCVR2450
daughterboards has been separated into distinct firmware images.

Johnathan C.

USRP2 RAM limitations? Or what limitations?

Yes, the code store for the embedded processor is limited to 32K. There
is no longer enough room to have all daughterboard code present
simultaneously.

Johnathan

On Tue, Mar 2, 2010 at 23:28, Firas A. [email protected]
wrote:

I think USRP2 has a big (1 MByte) external static RAM.

Yes, it does. But that’s not where the embedded microprocessor
instruction store is located. The aeMB reads instructions out of a
32K block ram inside the FPGA itself.

It may be possible to use the SRAM as the code store and the block RAM
as an I-cache, but that’s a fairly significant amount of FPGA design
work/modification, and cache-miss performance might be too slow.

In any case, about 25% of code in the firmware (txrx.bin) is combined
daughterboard management, like tuning control parameter calculation,
etc. By breaking these out into individual images, most of that space
is freed up for other things. Another option would have been to
implement overlays, where the required daughterboard code is loaded
into a common place in memory from the SD card after the unit detects
which daughterboard is installed.

There are other opportunities for improving the code size of the other
75%. It seems the Microblaze gcc port, at least the version we’re
using, is not that efficient at code generation.

Patches always welcome :slight_smile:

Johnathan

Hi,

is no longer enough room to have all daughterboard code present
simultaneously.

Johnathan

I think USRP2 has a big (1 MByte) external static RAM.

Best Regards,

Firas