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:
| Directory | Description |
|---|---|
| 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, orhostedx115.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 seelinux/kernel/README.mdfor a note about udev.) - Try
./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 inlinux/apps/README.md.
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.
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:
- Build FX3 firmware under
fx3_firmware - Build FPGA image under
hdl - Build linux kernel driver under
linux/kernel - Build linux libbladeRF library under
linux/lib - Build command-line application under
linux/apps