Also, when I compiled from the OOT directory for ARM, I used this command, which I pieced together from the RFNoC build guide, and the release-4 guide for cross-compiling gr-ettus.
cmake -DCMAKE_TOOLCHAIN_FILE=~/rfnoc/src/gnuradio/cmake/Toolchains/oe-sdk_cross.cmake -DCMAKE_INSTALL_PREFIX=/usr -DUHD_FPGA_DIR="/home/jon/rfnoc/src/uhd/fpga-src/" ../ Regards, Jon On Thu, Nov 21, 2019 at 3:48 PM Jonathan Lockhart <jlockhar...@gmail.com> wrote: > Greetings EJ, > > So, from the tutorial, they have you edit the gain.xml file, and this is > what I have for it. > > <?xml version="1.0"?> > <!--Default XML file--> > <nocblock> > <name>gain</name> > <blockname>gain</blockname> > <ids> > <id revision="0">B7DD64941A952AAC</id> > </ids> > <!-- Registers --> > <registers> > <setreg> > <name>Gain</name> > <address>128</address> > </setreg> > </registers> > <!-- Args --> > <args> > <args> > <name>gain</name> > <type>double</type> > <value>1.0</value> > <check>GE($gain, 0.0) AND LE($gain, 32767.0)</check> > <check_message>Invalid Gain!</check_message> > <action> > SR_WRITE("GAIN", IROUND($gain)) > </action> > </args> > </args> > <!--One input, one output. If this is used, better have all the info the > C++ file.--> > <ports> > <sink> > <name>in0</name> > <type>sc16</name> > </sink> > <source> > <name>out0</name> > <type>sc16</name> > </source> > </ports> > </nocblock> > > There is an args value and it is declared as gain. > > So from there, I followed your second suggestion and tried to find where > it was installed when I did the cross compile. It was not placed in the > "GRC_BLOCKS_PATH" of "/share/gnuradio/grc/blocks" like the default RFNoC > blocks. It was instead placed in "/share/uhd/rfnoc/bocks" so I added that > to the setup.env file, included below. > > LOCALPREFIX=~/newinstall/usr > export PATH=$LOCALPREFIX/bin:$PATH > export LD_LOAD_LIBRARY=$LOCALPREFIX/lib:$LD_LOAD_LIBRARY > export LD_LIBRARY_PATH=$LOCALPREFIX/lib:$LD_LIBRARY_PATH > export PYTHONPATH=$LOCALPREFIX/lib/python2.7/site-packages:$PYTHONPATH > export PKG_CONFIG_PATH=$LOCALPREFIX/lib/pkgconfig:$PKG_CONFIG_PATH > export > GRC_BLOCKS_PATH=$LOCALPREFIX/share/gnuradio/grc/blocks:$GRC_BLOCKS_PATH > export UHD_RFNOC_DIR=$LOCALPREFIX/share/uhd/rfnoc/ > export UHD_IMAGES_DIR=$LOCALPREFIX/share/uhd/images > export GRC_BLOCKS_PATH=$LOCALPREFIX/share/uhd/rfnoc/blocks:$GRC_BLOCKS_PATH > > Unfortunately, after re-sourcing the setup.env, I still get the same > message. > > File "rfnoc_myGain_usrp.py", line 223, in <module> > main() > File "rfnoc_myGain_usrp.py", line 212, in main > tb = top_block_cls(fpga_path=options.fpga_path, > rx_gain=options.rx_gain, rx_digital_gain=options.rx_digital_gain, > rx_freq=options.rx_freq, host_ip_addr=options.host_ip_addr) > File "rfnoc_myGain_usrp.py", line 117, in __init__ > self.tutorial_gain_0.set_arg("gain", rx_digital_gain) > File > "/home/root/newinstall/usr/lib/python2.7/site-packages/tutorial/tutorial_swig.py", > line 315, in set_arg > return _tutorial_swig.gain_sptr_set_arg(self, *args) > RuntimeError: LookupError: Path not found in tree: > /mboards/0/xbar/gain_0/args/0/gain/value > > I looked at some of your examples (which have been very helpful to get me > this far) from what I believe is your github someone linked me. Everything > appears to match what it should, for what gain is trying to accomplish. > > Regards, > Jon > > On Thu, Nov 21, 2019 at 3:27 PM EJ Kreinar <ejkrei...@gmail.com> wrote: > >> Hi Jon, >> >> The rfnoc "nocscript" xml definition can create arguments and attach to >> the device tree like you are trying to set there (it's not compiled >> directly, but rather created dynamically from the xml definition) >> >> Recommended debugging... >> 1. Check your OOT gain block xml (in rfnoc/blocks) and make sure it has a >> "gain" field in the "args" list. You'll also want to make sure it writes >> your desired register, but I don't think you're even getting that far >> 2. Make sure the block xml is installed on the e310 embedded prefix and >> is found at run time during uhd_usrp_probe and when running your >> application. If it's not in the right place or not attaching to your block >> then it won't create the gain argument >> >> I'm guessing it's one of those two possibilities... >> EJ >> >> On Thu, Nov 21, 2019, 3:19 PM Jonathan Lockhart via USRP-users < >> usrp-users@lists.ettus.com> wrote: >> >>> Greetings, >>> >>> I was able to get the ARM cross compile working. I removed the build >>> directory and re-sourced the dev environment and then the cross-compile >>> used the -mfloar=hard flag. Not sure what caused the issue earlier and why >>> it wasn't picking it up. >>> >>> Now I have a different issue. So I have completed this guide: >>> https://kb.ettus.com/Getting_Started_with_RFNoC_Development >>> >>> I modified the GNURadio just a bit so that the output from gain was >>> placed on a ZMQ push, and the graphics were on the host to graph the signal >>> (seen in the screenshots below). >>> >>> [image: Screenshot from 2019-11-21 15-06-33.jpg] >>> >>> [image: Screenshot from 2019-11-21 15-010-44.jpg] >>> >>> However, when I run the top file for the USRP, I am running into this >>> error. >>> >>> Traceback (most recent call last): >>> File "rfnoc_myGain_usrp.py", line 223, in <module> >>> main() >>> File "rfnoc_myGain_usrp.py", line 212, in main >>> tb = top_block_cls(fpga_path=options.fpga_path, >>> rx_gain=options.rx_gain, rx_digital_gain=options.rx_digital_gain, >>> rx_freq=options.rx_freq, host_ip_addr=options.host_ip_addr) >>> File "rfnoc_myGain_usrp.py", line 117, in __init__ >>> self.tutorial_gain_0.set_arg("gain", rx_digital_gain) >>> File >>> "/home/root/newinstall/usr/lib/python2.7/site-packages/tutorial/tutorial_swig.py", >>> line 315, in set_arg >>> return _tutorial_swig.gain_sptr_set_arg(self, *args) >>> RuntimeError: LookupError: Path not found in tree: >>> /mboards/0/xbar/gain_0/args/0/gain/value >>> >>> No where else in building GNURadio scripts and .bit files does this >>> "/mboards" arise, and I have looked through my verilog file for gain >>> (gain.v) and it is correct per the instructions in the linked guide, and I >>> built the python and gnuradio hook exactly as the instructions stated to. >>> >>> Anyone have an troubleshooting ideas b/c I am currently at a loss. It >>> did past the test bench they have you build with no issues. >>> >>> Regards, >>> Jon >>> >>> >>> >>> >>> On Wed, Nov 20, 2019 at 3:21 PM Jonathan Lockhart <jlockhar...@gmail.com> >>> wrote: >>> >>>> Greetings, >>>> >>>> I am having some issues completing the RFNOC build tutorial on the >>>> Ettus E312. The reference documentation is using an X3xx series radio, and >>>> from the final python script it appears to be running the GNR script >>>> natively on the host. I built the exact script from the KB but when running >>>> on the radio it fails stating it can't "import tutorial." I realized all >>>> the files that were installed were placed on the host but not cross >>>> compiled for the E3xx using the SDK and ARM cross compile tool. I tried to >>>> complete this task, but unfortunately the compilation dies here. >>>> >>>> /home/jon/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/gnu/stubs.h:7:11: >>>> fatal error: gnu/stubs-soft.h: No such file or directory >>>> # include <gnu/stubs-soft.h> >>>> ^~~~~~~~~~~~~~~~~~ >>>> compilation terminated. >>>> >>>> Now I did find the stubs-soft.h file in the libc6-dev-armel-cross in >>>> the apt repo. I installed it and tried to cp the file into the >>>> /home/jon/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi/usr/include/gnu/ >>>> location but it still doesn't like that. I verified that on my echo $CC >>>> that the -mfloat is set to hard as shown here. >>>> >>>> jon@jon-OptiPlex-9020:~/rfnoc/src/rfnoc-tutorial$ echo $CC >>>> arm-oe-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon >>>> --sysroot=/home/jon/rfnoc/oe/sysroots/armv7ahf-vfp-neon-oe-linux-gnueabi >>>> >>>> So I am not sure why the gain module in the tutorial is looking for the >>>> soft file. >>>> >>>> If anyone has experience in porting their OOT modules over to the >>>> E-series of radios I would appreciate the help. >>>> >>>> Regards, >>>> Jon >>>> >>> _______________________________________________ >>> USRP-users mailing list >>> USRP-users@lists.ettus.com >>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>> >>
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com