我将这个github c ++项目:https://github.com/RedhawkSDR/USRP_UHD导入redhawk,希望用USRP N210运行它。
Redhawk只允许我将项目作为组件或C ++应用程序运行,因此我尝试将其作为组件运行。
以下是我尝试作为组件运行时遇到的确切错误: 在“启动USRP_UHD”期间发生内部错误。 无法初始化类gov.redhawk.ide.debug.internal.ScaDebugInstance
我该如何解决这个问题?
答案 0 :(得分:2)
USRP_UHD设备是与N210连接的Redhawk 设备。在Redhawk中,设备由设备管理器的实例部署和管理,该实例称为节点。
在域中运行USRP_UHD Redhawk设备:
将USRP_UHD设备安装到目标SDR。这可以通过从 Project Explorer 视图单击并拖动USRP_UHD项目的顶级文件夹来完成。 SCA Explorer 视图中的目标SDR 。
使用包含USRP_UHD设备实例的Redhawk IDE创建新的SCA节点项目。第一个向导页面将提示您输入节点名称(项目名称)和域名。如果您现在选择的名称最终与正在运行的域不同,则可以稍后在运行时覆盖域名。单击“下一步”后,第二个也是最后一个向导页面允许您从目标SDR中安装的设备列表中进行选择。选择USRP_UHD,然后单击“完成”。单击完成后,将显示 SCA节点编辑器的概述选项卡。
配置节点。在SCA节点编辑器中,您可以使用设备选项卡或图表编辑USRP_UHD设备的属性标签。通常,您需要至少使用USRP_UHD设备的 USRP_ip_address 属性配置N210的IP地址,以便USRP_UHD设备在部署时连接到USRP硬件。
将节点安装到目标SDR。再次,这可以通过单击并将节点的顶级文件夹从Project Explorer视图拖动到SCA中的Target SDR来完成。资源管理器视图。
启动您创建的包含USRP_UHD设备的域和节点(设备管理器)。这可以通过在SCA Explorer视图中右键单击Target SDR并选择 Launch ... 来完成。在弹出的对话框中,您可以选择域名(这不必与节点中指定的域名相同)和域管理器的调试级别。要同时启动节点,请从设备管理器列表中选择您创建的节点,并为设备管理器适当设置调试级别。选择确定以启动两者。
通过在SCA Explorer视图中展开域来检查您启动的域。您应该在Device Managers文件夹下看到Node,在展开Node之后,您应该看到USRP_UHD Device实例(可能名为 USRP_UHD_1 )。
如果这不能解决问题,请提供有关您的环境的更多信息(具体来说,Redhawk框架和IDE的版本,“java -version”报告的Java版本,操作系统和版本, USRP_UHD的分支/版本,UHD软件的版本)以及将USRP_UHD作为组件运行的步骤。在Redhawk 1.9版本中,我能够选择运行为... - > 本地组件程序,并在 Sandbox 中成功启动了USRP_UHD设备没有你经历过的错误。您可能还希望尝试Redhawk版本1.8和1.9(请务必使用每个版本的最新版本)以查看问题是否出现在两个版本中。
答案 1 :(得分:0)
您使用的是版本3.7.1的UHD版本吗?它应该由任何uhd_*
命令报告,例如uhd_find_devices
。
uhd_find_devices
如果可以ping它,应该找到你的N210设备。我已经看到X310没有响应uhd_find_devices
,但是一旦指定了IP地址,它就会响应。尝试指定N210的IP地址,如下所示:
uhd_find_devices --args="addr=192.168.10.2"
当然,用N210的IP地址替换 192.168.10.2 (N210的默认IP地址)。如果仍未找到N210,请尝试将电源拔出至N210,然后重新插入以强制重启。再次,我已经看到了X310的这个帮助,即使使用指定的IP地址它也不会响应uhd_find_devices
命令。
然后还尝试使用以下命令探测N210:
uhd_usrp_probe --args="addr=192.168.10.2"
我相信如果N210的固件版本与您所拥有的UHD版本不兼容,仍会找到N210并且probe命令会通知您必须更新固件。
如果两个命令都不能与N210通信,我不得不认为问题出在UHD软件和N210之间,而不是与Redhawk相关的问题。要加载固件,请参阅以下链接。此外,还提供了在同一链接上设置网络和解决通信问题的说明。如果您还没有这样做,请快速查看是否有任何帮助。让我知道你发现了什么。
Load the Images onto the On-board Flash (USRP-N Series only)
答案 2 :(得分:0)
您是否按照此处列出的网络设置步骤操作:USRP N210 Networking Setup?
如链接中所述,您需要确保您的主机PC在与USRP相同的子网上具有IP地址。您可以使用ifconfig为特定接口设置静态IP地址。 “eth0的”
答案 3 :(得分:0)
Java 7更新55(版本1.7.0_55)引入了Eclipse的问题/错误(包括Redhawk IDE,因为它是基于Eclipse的),其描述为here。 Java 7更新55中的更改似乎已导致Eclipse / JacORB的各种问题已被还原here并将在Java 8更新22中提供。有一个可用的beta版本here,但是作为测试版,它可能有其他问题,因此可能不值得尝试。相反,你可以做我做的事情并修补Redhawk IDE作为Java 7更新55中的错误的解决方法。
设置环境变量IDE_HOME
以引用与eclipse可执行文件相同的目录(但不是可执行文件本身)。
export IDE_HOME=/usr/local/redhawk/ide/R.1.9 # replace with your path
将以下行附加到$IDE_HOME/eclipse.ini
文件。如果一条线已经指定了背书的dirs,请将其替换为该行。
-Djava.endorsed.dirs=$IDE_HOME/jacorb/lib
在上一步指定的路径上创建JacORB lib目录。
mkdir -p $IDE_HOME/jacorb/lib
找到位于$IDE_HOME/plugins
内的JacORB目录的确切名称,该目录将以“org.jacorb.system
”开头,并将其分配给名为JACORB_DIR
的环境变量:
export JACORB_DIR=`find $IDE_HOME/plugins/ -maxdepth 1 -name org.jacorb.system*`
将JacORB jars目录的内容复制到$IDE_HOME/jacorb/lib
目录中:
cp -R $JACORB_DIR/jars/* $IDE_HOME/jacorb/lib/.
这应解决Eclipse / JacORB错误导致的任何潜在问题。这是否也解决了您在USRP中遇到的其他问题?