Hi Michael,

Thanks for confirming that I was on the right track.  I tried following the 
example laid out in:
https://kb.ettus.com/Software_Development_on_the_E3xx_USRP_-_Building_RFNoC_UHD_/_GNU_Radio_/_gr-ettus_from_Source

I was able to set up the OE SDK without any issues.  When I go to 
cross-compile, I get a CMake version error.  Here are the outputs:

cmake --version
cmake version 3.18.4
desktop:~$ cd ~/oe
desktop:~/oe$ source environment-setup-armv7ahf-vfp-neon-oe-linux-gnueabi
desktop:~/oe$ cmake --version
cmake version 2.8.12.2
desktop:~/oe$ cd ~/uhd/host/build-arm
desktop:~/uhd/host/build-arm$ cmake 
-DCMAKE_TOOLCHAIN_FILE=../host/cmake/Toolchains/oe-sdk_cross.cmake 
-DCMAKE_INSTALL_PREFIX=/usr -DENABLE_E300=ON -DENABLE_GPSD=ON -DENABLE_RFNOC=ON 
..
CMake Error at CMakeLists.txt:13 (cmake_minimum_required):
  CMake 3.5.1 or higher is required.  You are running version 2.8.12.2

So it appears that the cross-compiler is using an older version of cmake that 
UHD takes issue with?  I tried messing around with a symbolic link to my 
version of CMake, then it had an error for python, so I did it again, and then 
something else needed it and it seemed like I was just going down a long rabbit 
hole that wasn't going to work in the end anyway.  Anyone know how to address 
this issue?

I also tried bypassing the issue by mounting my UHD folder on the E320 and 
compiling natively on there, but it can't find Mako or numpy.  I tried running 
apt-get on the E320 but it didn't recognize it.  Any advice on which route to 
go (cross-compile vs native copile) and how to fix the problems I'm 
encountering?  I think I'm close to getting things operaitonal, any advice 
would be greatly appreciated!
===================================================================================
root@ni-e320-31BEE1C:~/uhd# cd host/build-local
root@ni-e320-31BEE1C:~/uhd/host/build-local# cmake ../
--
-- Configuring the Python interpreter...
-- Manually determining build Python version...
-- Python interpreter: /usr/bin/python3.5 Version: 3.5.6
-- Override with: -DPYTHON_EXECUTABLE=<path-to-python>
-- Manually determining runtime Python version...
-- Python runtime interpreter: /usr/bin/python3.5 Version: 3.5.6
-- Override with: -DRUNTIME_PYTHON_EXECUTABLE=<path-to-python>
-- Finding Python Libraries...
-- Python Libraries: /usr/lib/libpython3.5m.so
-- Python include directories: /usr/include/python3.5m
-- Working off of feature or development branch. Updating version number.
-- Using UHD Images Directory: /usr/local/share/uhd/images
-- Build type not specified: defaulting to release.
--
-- Configuring Boost C++ Libraries...
--
-- Checking for Boost version 1.58 or greater
--   Looking for required Boost components...
--   Enabling Boost Error Code Header Only
--     Disabling boost::asio use of std::string_view
--   Boost version: 1.68.0
--   Boost include directories: /usr/include
--   Boost library directories: /usr/lib
--   Boost libraries: 
/usr/lib/libboost_chrono-mt.so;/usr/lib/libboost_date_time-mt.so;/usr/lib/libboost_filesystem-mt.so;/usr/lib/libboost_program_options-mt.so;/usr/lib/libboost_regex-mt.so;/usr/lib/libboost_unit_test_framework.so;/usr/lib/libboost_serialization-mt.so;/usr/lib/libboost_thread-mt.so;/usr/lib/libboost_system-mt.so;/usr/lib/libboost_atomic-mt.so
-- Looking for Boost version 1.58 or greater - found
--
-- Python checking for Python version 2.7 or greater
-- Python checking for Python version 2.7 or greater - found
--
-- Python checking for Mako templates 0.4.2 or greater
-- Python checking for Mako templates 0.4.2 or greater - "import mako" failed
--
-- Python checking for requests 2.0 or greater
-- Python checking for requests 2.0 or greater - found
--
-- Python checking for numpy 1.7 or greater
-- Python checking for numpy 1.7 or greater - "import numpy" failed
--
-- Configuring LibUHD support...
--   Dependency Boost_FOUND = 1
--   Dependency HAVE_PYTHON_PLAT_MIN_VERSION = TRUE
--   Dependency HAVE_PYTHON_MODULE_MAKO = FALSE
CMake Error at cmake/Modules/UHDComponent.cmake:59 (message):
  Dependencies for required component LibUHD not met.
Call Stack (most recent call first):
  CMakeLists.txt:363 (LIBUHD_REGISTER_COMPONENT)


-- Configuring incomplete, errors occurred!
See also "/home/root/uhd/host/build-local/CMakeFiles/CMakeOutput.log".
root@ni-e320-31BEE1C:~/uhd/host/build-local#


===============================================================





________________________________
From: Michael Dickens <michael.dick...@ettus.com>
Sent: Monday, October 5, 2020 10:47 AM
To: Andrews, Mark J. <andrews....@osu.edu>
Cc: USRP Users <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Compiling custom C++ code on E320

Hi Mark - Yeah you can't compile your UHD application for your host computer 
(not cross-compiled using the USRP's SDK) and expect it to run on the USRP. The 
USRP comes with a full UHD and development install, so you should be able to 
compile your UHD application directly on the USRP. It might not be fast, but it 
should work -- and, be compatible for execution on the USRP to boot! You can 
alternatively obtain the USRP's SDK and cross-compile the UHD application on 
your host computer with the USRP as the target processor; then, move the 
resulting executable to the USRP and it should work natively there. The E320 
also works in "network mode", meaning that you can use your host computer to 
run the UHD application and transport data samples from the USRP to the host 
computer. This option is useful and attractive for some users, and the USRP's 
embedded processor has significant limitations for processing capabilities. I 
hope this helps! - MLD

On Mon, Oct 5, 2020 at 10:17 AM Andrews, Mark J. via USRP-users 
<usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>> wrote:
Hello,

I'm pretty new to SDR and am trying to run a custom C++ program on an E320.  I 
modified the "rx_ascii_art_dft.cpp" file on my host computer so that it saves 
the DFTs to files instead of displaying them on the screen (with a 1 second 
delay between DFTs to prevent a million files being created).  I recompiled UHD 
and tested the new rx_ascii_art_dft executable and it seems to be doing what I 
want.  I was hoping (though not really expecting) that I could just copy the 
executable to the E320 and run it on there, but that does not work ("cannot 
execute binary file: Exec format error").  I've tried looking at the manual and 
searching the internet for how this is supposed to work, but it's not clear to 
me.  Am I supposed to:

1) Rerun the mender filesystem update?  Will this include the newly compiled 
files or will it simply reinstall the original files?
https://kb.ettus.com/E320_Getting_Started_Guide#Updating_the_file_system_with_Mender<https://urldefense.com/v3/__https://kb.ettus.com/E320_Getting_Started_Guide*Updating_the_file_system_with_Mender__;Iw!!KGKeukY!n76mOFRZgL2R-vv-BUw7mjYN06Myjvx6t9qwGG9mPpRUJNSjZYcxifXqXshMGK30fDU$>

2) Compile directly on the E320?
https://files.ettus.com/manual/page_usrp_e3xx.html#e3xx_software_dev_mpm_native<https://urldefense.com/v3/__https://files.ettus.com/manual/page_usrp_e3xx.html*e3xx_software_dev_mpm_native__;Iw!!KGKeukY!n76mOFRZgL2R-vv-BUw7mjYN06Myjvx6t9qwGG9mPpRUJNSjZYcxifXqXshMKzqDBo4$>

3) Obtain an SDK and cross-compile?
https://files.ettus.com/manual/page_usrp_e3xx.html#e3xx_software_dev_sdk<https://urldefense.com/v3/__https://files.ettus.com/manual/page_usrp_e3xx.html*e3xx_software_dev_sdk__;Iw!!KGKeukY!n76mOFRZgL2R-vv-BUw7mjYN06Myjvx6t9qwGG9mPpRUJNSjZYcxifXqXshMtP5xwOs$>

4) Something else?

If anyone can point me in the right direction or include a link to a good 
"hello world" example/tutorial on creating custom programs that run on the 
E320, it would be greatly appreciated.

Thank you,
Mark


_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com<mailto:USRP-users@lists.ettus.com>
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com<https://urldefense.com/v3/__http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com__;!!KGKeukY!n76mOFRZgL2R-vv-BUw7mjYN06Myjvx6t9qwGG9mPpRUJNSjZYcxifXqXshMuYYn85Y$>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to