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