diff options
author | michael-west <michael.west@ettus.com> | 2020-08-22 16:33:06 -0700 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2020-08-25 07:28:22 -0500 |
commit | f405c24bc676c7ba91e737a57ca7e5088ad20400 (patch) | |
tree | a4eb182e3ca0514d2dc7651429ab6a8353c4fce6 /firmware/fx3/README.md | |
parent | 0f52366533dfe5d9d5d74ffb0e41013171fb79b9 (diff) | |
download | uhd-f405c24bc676c7ba91e737a57ca7e5088ad20400.tar.gz uhd-f405c24bc676c7ba91e737a57ca7e5088ad20400.tar.bz2 uhd-f405c24bc676c7ba91e737a57ca7e5088ad20400.zip |
firmware: b2xx: Update to newer Cypress FX3 SDK
- Updated README with instructions on how to build using new SDK
(1.3.4 as of this change)
- Updated makefiles
- Updated memory map patch
Signed-off-by: michael-west <michael.west@ettus.com>
Diffstat (limited to 'firmware/fx3/README.md')
-rw-r--r-- | firmware/fx3/README.md | 56 |
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. |