FPGA 微码问题
在使用 GNU Radio USRP 函数时,宿主库负责将 “.rbf” 文件载入 FPGA 。此过程通过 USB 完成。
尽管如此,使用 usrper 命令也可手动装载 .rbf 文件:
$ usrper --help usage:
usrper [-v] [-w
<which_board>] [-x] ... usrper load_standard_bits usrper
load_firmware <file.ihx> usrper load_fpga <file.rbf> usrper
write_fpga_reg <reg8> <value32> usrper set_fpga_reset {on|off}
usrper set_fpga_tx_enable {on|off} usrper set_fpga_rx_enable {on|off}
----- diagnostic routines ----- usrper led0 {on|off} usrper led1
{on|off} usrper set_hash0 <hex-string> usrper get_hash0 usrper
i2c_read i2c_addr len usrper i2c_write i2c_addr <hex-string>
usrper 9862a_write regno value usrper 9862b_write regno value usrper
9862a_read regno usrper 9862b_read regno
$ usrper load_fpga <name of your .rbf file>
上面的命令会将 “.rbf” 文件载入 FPGA 。在此提请注意,载入不当的微码极有可能导致 USRP 永久损坏。
- 在使用 python 程序(诸如 usrp_fft.py) 对 FPGA 进行编程时,是否产生相同的 .rbf 文档?它位于何处?
该文档不会被生成,只能被载入。缺省地,rbf 文档被从 /usr/local/share/usrp/rev{2,4} 处载入。
The files aren't generated, they are loaded. By default, an rbf is loaded
from /usr/local/share/usrp/rev{2,4}. The one used unless you specify the
fpga_filename constructor argument when instantiating a usrp source or sink is
std_2rxhb_2tx.rbf. FYI, we load std.ihx, standard firmware for the Cypress FX2
USB controller, before loading the FPGA .rbf file. We load the FX2 firmware over
the USB. That firmware implements additional control endpoint commands,
including those that know how to load an .rbf into the FPGA.
注:FPGA Bit Stream Questions(原文出处,翻译整理仅供参考!)
|
|