Wanted to add some additional information in hopes it might help point
the way.
An interesting thing that I found was that I was not able to get a
working SD image through what I thought was the "normal" way. I
installed UHD v3.15.0.0 and then ran "uhd_images_downloader -t e310 -t
sdimg". This provided a file called usrp_e310_fs.sdimg in the
/share/uhd/images folder. I used both dd and bmaptool to copy the image
onto a freshly erased SD card (partitions deleted). The end result of
both these methods was a SD card with 4 partitions (boot, data, primary,
secondary). Each time I installed this into the E310 it would error out
in uboot with "ERROR: can't get kernel image".
After some trial and error and poking around the Ettus web-site I found
a directory of images:
https://files.ettus.com/binaries/cache/e3xx/meta-ettus-v3.15.0.0/e3xx_e310_sg1_sdimg_default-v3.15.0.0.zip.
When I installed this image the E310 booted fine. So, I downloaded the
SDK that was in the same directory and was able to cross-compile UHD
(and gnuradio) and see everything execute on the E310. Everything seems
great except the FPGA builds don't seem to work with this version of UHD.
Another thing I noted was that when I installed the SDK it created a
directory in the oe/sysroots folder for
cortexa9t2hf-neon-oe-linux-musleabi whereas the pybombs installation is
using:
armv7ahf-vfp-neon-oe-linux-gnueabi
Anyway, it seems like I'm trying to mix apples and oranges and I'm not
sure what the correct combination is.
Any ideas are greatly appreciated.
Mike
On 11/6/20 3:01 PM, Mike via USRP-users wrote:
Hi all - just joined today as I have recently started using the E310.
My goal is to get a customized FPGA build running on the E310.
Using the various application notes on the Ettus site I have been able
to install (manually with source) UHD, GNU Radio, gr-ettus. I've also
downloaded the SDK and cross-compiled each for the E310. I've been
able to flash a SD image to a 32G SD card and then copy the newly
compiled development environment over to the E310. I've been able to
verify gnuradio operation by implementing the simple FM receiver that
runs both on the embedded device and on the host.
For the FPGA environment I used pybombs to install the rfnoc recipe. I
modified the rfnoc recipe as follows: (thinking that I need to ensure
FPGA is at 3.15 level which is what I manually cross-compiled the UHD
with)
config:
packages:
uhd:
gitbranch: UHD-3.15.LTS
forcebuild: True
vars:
config_opt: " -DENABLE_RFNOC=ON "
gnuradio:
gitbranch: maint-3.7
forcebuild: True
gr-ettus:
gitbranch: maint-3.7
forcebuild: True
uhd-fpga:
gitbranch: UHD-3.15.LTS
I also have Xilinx, Vivado 2018.3. I've been stepping through the
AN-823 (getting started with RFNOC). Before getting into the more
complex development with rfnocmodtool, I started with simply creating
a new FPGA file with existing RFNOC modules. I ran the script:
"./uhd_image_builder.py window fft -d e310 -t E310 -m 5
--fill-with-fifos" and successfully got the output files
(usrp_e310_sg1_fpga.bit/dts/rpt). I then copied the output files onto
the E310 device into ~/fpga_bit.
This is where I started to run into problems. First, I verified that
I was using the newly installed version of UHD. I ran "which
uhd_usrp_probe" to verify
"/data/localinstall/usr/bin/uhd_usrp_probe". I also checked the version:
root@ni-e31x:/data/localinstall/usr/share/uhd/images# uhd_usrp_probe
--version
3.15.0.HEAD-0-gaea0e2de
Then I ran "uhd_image_loader --args type=e3xx --fpga-path
~/fpga_bit/usrp_e310_sg1_fpga.bit"root@ni-e31x:/data/localinstall/usr/share/uhd/images#
uhd_image_loader --args type=e3xx --fpga-path
~/fpga_bit/usrp_e310_sg1_fpga.bit
With the following output:
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106800;
UHD_3.15.0.HEAD-0-gaea0e2de
[INFO] [MPMD] Initializing 1 device(s) in parallel with args:
mgmt_addr=127.0.0.1,type=e3xx,product=e310_sg1,serial=3092E3A,claimed=False,skip_init=1
[INFO] [MPM.PeriphManager] Found 1 daughterboard(s).
[INFO] [MPMD] Claimed device without full initialization.
[INFO] [MPMD IMAGE LOADER] Starting update. This may take a while.
[INFO] [MPM.PeriphManager] Updating component `fpga'
[INFO] [MPM.PeriphManager] Updating component `dts'
[INFO] [MPM.RPCServer] Resetting peripheral manager.
[WARNING] [MPM.PeriphManager] Skipping HW/SW compatibility check!
[INFO] [MPM.PeriphManager] Device serial number: 3092E3A
[INFO] [MPMD IMAGE LOADER] Update component function succeeded.
[WARNING] [MPM.GPSDIface] Could not connect to GPSd! None of the GPS
sensors will work!
root@ni-e31x:/data/localinstall/usr/share/uhd/images#
Then run "uhd_usrp_probe" gives:
root@ni-e31x:/data/localinstall/usr/share/uhd/images# uhd_usrp_probe
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106800;
UHD_3.15.0.HEAD-0-gaea0e2de
[INFO] [MPMD] Initializing 1 device(s) in parallel with args:
mgmt_addr=127.0.0.1,type=e3xx,product=e310_sg1,serial=3092E3A,claimed=False
[WARNING] [MPM.PeriphManager] Cannot run deinit(), device was never
fully initialized!
[INFO] [MPM.PeriphManager] Found 1 daughterboard(s).
[ERROR] [MPM.PeriphManager] Major compat number mismatch for component
`FPGA': Expected: 1.0 Actual: 5.0
[ERROR] [MPM.PeriphManager] Failed to initialize motherboard: Major
compat number mismatch for component `FPGA': Expected: 1.0 Actual: 5.0
Error: RuntimeError: Device is in bad state: Major compat number
mismatch for component `FPGA': Expected: 1.0 Actual: 5.0
root@ni-e31x:/data/localinstall/usr/share/uhd/images#
So, a major compat mismatch seems like I'm using the wrong FPGA
version with the UHD version. But I think I have UHD-3.15.LTS for
both UHD and FPGA.
Something is wrong between what I'm using for the FPGA files and what
I'm using for the UHD. I seem to be close but thought I would ask for
a little input to help get me straightened out.
Thanks for any assistance.
Mike
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com