The updates(from the dev-uart_speeup branch) mentioned in the recent blog post have been merged into master:
- Faster UART bridge between FX3 and FPGA
- IQ correction support
- FPGA version number
- Misc fixes
Windows may want to wait for issue 183 to get resolved before attempting to flash new firmware.
Because of the change to the UART bridge speed, be sure to disable FPGA autoloading before flashing the firmware. Otherwise, the two devices won't be communicating at the same baudrate.
To disable FPGA autoloading, pass "X" to the bladeRF-cli autoload flash (-L) argument.
Code: Select all
$ bladeRF-cli -L X
While a number of folks have been kind enough to test drive this branch and have been reporting good results, let's remain on the lookout for any new defects or regressions. As always, please report or comment on defects on the GitHub issue tracker.
As noted on the wiki, an si5338 communication failure is likely to be the first symptom of a firmware & FPGA version mismatch.
Just a couple reminders, if you're seeing the "Could not write to si5338" error:
- Ensure you've disabled FPGA autoloading before flashing new firmware.
- If you don't do this, you'll wind up with firmware using one bridge baudrate, and an older FPGA getting autoloaded that uses the slower baud rate, and therefore, peripheral communication issues.
- Ensure you've flashed FW v1.6.0. For good measure, power cycle the device after successfully flashing firmware.
- The lastest FPGA now has a v0.0.1 version number -- double check that this is what you're attempting to load.
To expand a bit more on how to recover from forgetting to disable FPGA autoloading before flashing, here's a slightly more detailed summary of the "recovery" process.
- Use the jumper J64 to force the device into the bootloader. Be sure to remove the jumper once you've powered on the device and see that it's in the bootloader. This will be evident via a Cypress entry in dmesg output, Device Manager, etc. If you forget to remove the jumper, you won't be able to access flash in the following steps.
- Use bladerf-flash or the Cypress SDK tool ("Control Center" in Windows, "cyusb_linux" in Linux) to load the older firmware into RAM, such as v1.5.3.
- Once the device is running firmware from RAM, you can run to disable autoloading.
Code: Select all
bladeRF-cli -L X
- At the point you could also re-flash the firmware. (However, if you're following this procedure, you probably already have it flashed.)
This thread contains more details on the above recovery procedure: http://nuand.com/forums/viewtopic.php?f=4&t=3515