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

Reply via email to