aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/fx3/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/fx3/README.md')
-rw-r--r--firmware/fx3/README.md56
1 files changed, 17 insertions, 39 deletions
diff --git a/firmware/fx3/README.md b/firmware/fx3/README.md
index 00f38185f..49442e368 100644
--- a/firmware/fx3/README.md
+++ b/firmware/fx3/README.md
@@ -14,59 +14,37 @@ managing the transport from the host to the FPGA by configuring IO and DMA.
## Setting up the Cypress SDK
-In order to compile the USRP B200 and B210 firmware, you will need the FX3 SDK
-distributed by the FX3 manufacturer, Cypress Semiconductor. You can download the
-[FX3 SDK from here](http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-sdk-archives)
-*Note*: You *must* use SDK version 1.2.3!
+In order to compile the USRP B200 and B210 bootloader and firmware, you will
+need the FX3 SDK distributed by Cypress Semiconductor. You can download the
+[FX3 SDK from here](https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit)
-Once you have downloaded it, extract the ARM cross-compiler from the tarball
-`ARM_GCC.tar.gz` and put it somewhere useful. The highest level directory you
-need is `arm-2013.03/`.
+From the SDK, extract the ARM cross-compile toolchain tarball `ARM-GCC.tar.gz`
+and the FX3 firmware tarball `fx3_firmware_linux.tar.gz`.
-Now that you have extracted the cross compilation toolchain, you need to set up
-some environment variables to tell the B2xx `makefile` where to look for the
-tools. These variables are:
+Set up the appropriate environment variables for the build:
```
- $ export ARMGCC_INSTALL_PATH=<your path>/arm-2013.03
- $ export ARMGCC_VERSION=4.5.2
+ $ export ARMGCC_INSTALL_PATH=<ARM toolchain dir>
+ $ export ARMGCC_VERSION=<ARM toolchain version>
+ $ export FX3FWROOT=<FX3 firmware dir>
```
-Now, you'll need to set-up the Cypress SDK, as well. In the SDK, copy the
-following sub-directories from the `firmware` directory to
-`uhd.git/firmware/fx3`: `common/`, `lpp_source/`, `u3p_firmware/`, `boot_fw/`.
-In addition, copy the `elf2img` sub-directory from the `util` directory to
-`uhd.git/firmware/fx3`.
-
-Your directory structure should now look like:
+These should look something like this:
```
-uhd.git/
- |
- --firmware/
- |
- --fx3/
- |
- --b200/ # From UHD
- --boot_fw/ # From Cypress SDK
- --common/ # From Cypress SDK
- --elf2img/ # From Cypress SDK
- --gpif2_designer/ # From UHD
- --lpp_source/ # From Cypress SDK
- --u3p_firmware/ # From Cypress SDK
- --README.md # From UHD
+ $ export ARMGCC_INSTALL_PATH=/path/to/my/files/arm-2013.11
+ $ export ARMGCC_VERSION=4.8.1
+ $ export FX3FWROOT=/path/to/my/files/cyfx3sdk
```
-
## Applying the Patch to the Toolchain
-Now, you'll need to apply a patch to a couple of files in the Cypress SDK. Head
-into the `common/` directory you just copied from the Cypress SDK, and apply the
-patch `b200/fx3_mem_map.patch`.
+Now, you'll need to apply a patch to some files in the Cypress SDK. Apply the
+patch `b200/fx3_mem_map.patch` as follows:
```
- # cd uhd.git/firmware/fx3
- $ patch -p1 < ../b200/fx3_mem_map.patch
+ $ cd uhd.git/firmware/fx3
+ $ patch -p1 -d $FX3FWROOT < b200/fx3_mem_map.patch
```
If you don't see any errors print on the screen, then the patch was successful.