不能使用示例中的增益块.如何?

  • 本文关键字:如何 不能 gnuradio usrp uhd
  • 更新时间 :
  • 英文 :


我正在尝试为我的x310制作一个自定义块并使用它。到目前为止,我被困在示例FPGA图像编译中,因为我不能使用自定义块增益。

我已经一步一步地遵循了"使用OOT块构建FPGA映像";教程,并成功编译和上传图像到我的x310。uhd_usrp_probe返回预期的"0/Block#0"来回连接到SEP4块。但是来自RFNOC的警告:BLOCK_FACTORY状态"无法找到Noc-ID为0xb16, 0xffff"的块

在编译了一个基于rfnoc_radio_loopback示例的自定义c++程序之后,我还是继续了下去,以便使用增益块,

我在include中添加了这一行:

#include <rfnoc::gain::gain_block_control.hpp>

在radio_block_control实例化之后的这两行:

uhd::rfnoc::block_id_t gain_id(0, "Block", 0);
rfnoc::example::gain_block_control::sptr gain_ctrl = graph->get_block<rfnoc::example::gain_block_control>(gain_id);

程序编译良好,但运行它返回一个LookupError,声明"此设备没有类型为rfnoc::example::gain_block_control with ID: 0/block #0&";我倾向于认为查找错误是明确的,但我不知道该怎么做。

我第一次尝试使用gnuradio-companion块,但根本无法生成块。我确信我错过了一些东西,但我不知道是什么(除了实际的脑细胞)。

  • 我的c++出了什么问题?
  • 是否有可能在gnuradio-companion中生成增益块,如果是,如何生成?
  • 你知道一些教程,解释如何使用自定义块的不同过程吗?

有一个示例应用程序(rfnoc-example/apps/init_gain_block.cpp)将为您测试块的功能。你可以编译/运行它,看看你的代码块是否正常工作。

如果您看到uhd_usrp_probe返回0/Block#0而不是0/Gain#0,那么。so文件没有被正确拾取。最简单的测试方法是像这样LD_PRELOAD DLL:

LD_PRELOAD=/path/to/librfnoc-example.so uhd_usrp_probe

这将强制预加载包含块控制器的DLL(这将确保它已注册)。您现在应该看到0/Gain#0作为块ID。

相关内容

  • 没有找到相关文章

最新更新