This repository contains all the source code required to program and interact with a bladeRF platform, including firmware for the Cypress FX3 USB controller, HDL for the Altera Cyclone IV FPGA, and C code for the host side driver, library, and command line interface.
The source is organized as follows:
|common||Source and header files common across the platform|
|fx3_firmware||Firmware for the Cypress FX3 USB controller|
|hdl||All HDL code associated with the Cyclone IV FPGA|
|linux||The linux kernel driver, library and command-line interface for interacting with a bladeRF device|
It is not necessary to rebuild the Cypress FX3 firmware (hooray!), and there are pre-built FPGA images that will get you underway.
- Compile and install the kernel driver, libbladeRF library, and command-line application, in that order.
- Download pre-compiled FPGA binaries from http://nuand.com/fpga. You'll want
hostedx40.rbfif you've got the 40 kLE board, or
hostedx115.rbfif you have a 115 kLE board.
- Attach the bladeRF board to your fastest USB port.
- You should have a
/dev/bladerf0character device file. Make sure it is chowned and/or chmodded as you'd like it. (Please see
linux/kernel/README.mdfor a note about udev.)
./bladeRF-cli -d /dev/bladerf0 -l /path/to/fpga.rbfto load an FPGA image and open a dialogue with your bladeRF board, per the advice in
If you've made it this far, congratulations! You can read (or write) raw samples in a variety of formats using the
bladeRF-cli tool, or you can use third-party tools that support the bladeRF.
Building for use with GNU Radio
Directions for building and using this with GNU Radio have been compiled by kb3gtn.
Each subsection of the source code can be built by itself and maintains their own README files for building. The recommended build flow is as such: