这边还是简单记一下步骤
1、首先是下载openwifi-hw
git clone --recursive https://github.com/open-sdr/openwifi-hw
2、配置vivado环境变量
source /tools/Xilinx/Vivado/2021.1/settings64.sh
3、在.bashrc里面配置加一些变量
export XILINX_DIR=/tools/Xilinx
export BOARD_NAME=antsdr
4、设置变量后运行编译脚本
./prepare_adi_lib.sh $XILINX_DIR
编译时间挺长的
5、使用的是微相科技的E310,板子antsdr,配置板子ip命令,这个好像时间很长
./prepare_adi_board_ip.sh $XILINX_DIR $BOARD_NAME
看到下面的句子就可以ctrl+c结束了
(Don't need to wait till the building end. When you see "Building ABCD project [...", you can stop it.)
6、然后将openwifi_rx添加到IP目录(只在openofdm更新时候运行一次)
./get_ip_openofdm_rx.sh
7、然后进入板子目录运行程序
cd openwifi-hw/boards/$BOARD_NAME/
../create_ip_repo.sh $XILINX_DIR
第二个脚本会自动打开vivado文件
8、等脚本运行完毕,在vivado里面的TCL命令行打开工程
source ./openwifi.tcl
生成bit流之后,导出硬件文件+bit流文件到vitis文件夹,用vitis创建硬件平台并build
就生成了bit文件和fsbl文件,生成BOOT.BIN文件还需要一个elf文件
这里因为要引导LINUX系统启动,因此是UBOOT,这个UBOOT在ZYNQ里面比较通用的。我们也可以使用OPENWIFI中其他ZYNQ板子的UBOOT来替换。下载命令如下:
git clone --recursive https://github.com/open-sdr/openwifi
我下载失败了几次,大概率是网络问题,因为比较大,所以最后我通过gitee上别人的下载的,自己看网络如何。
编译openwifi工程,我用的微相科技的E310板子,在openwifi里面是antsdr板子
一些具体细节可以参考https://blog.csdn.net/mcupro/article/details/140346371
在openwifi-hw下编译自己的板子文件../create_ip_repo.sh $XILINX_DIR
下载完成后进入目录:openwifi/kernel_boot/board/antsdr 可以看到里面有个u-boot.elf文件,复制文件到openwifi-hw目录,创建一个BootFile文件夹,放置生成BOOT.BIN所需的文件。放三个文件,一个是刚才那个u-boot.elf文件,一个是vivado生成的bit流文件system_top.bit,一个是vitis生成的fsbl.elf文件.
然后打开vitis,xilinx-create boot image-zynq and zynq ultrascale
在下面的boot image partitions添加上面的三个文件BootFile里面的,选择输出bif存放也在里面,最后生成BOOT.bin和output.bif文件
此boot.bin文件可以直接代替openwifi启动盘中的boot.bin文件
下载然后烧录到卡里先,烧录完成之后
到BOOT/openwifi/antsdr下面将三个文件复制到BOOT主目录下(这边的BOOT.BIN文件换成我们vitis生成的BOOT.bin文件先,再三个复制)
然后插上SD卡,启动
在编译的时候,出现了这样的问题
发现是这个IP核的问题,这是ofdm解码器部分用到的viterbi decoder,需要去申请下载试用版(我申请到120天),然后vivado使用该license.lic
上面这个是生成bit流的时候报错。看样子是没连接端口问题
在别的电脑上跑了一下,全是内存问题,索性加了8G的交换内存,果然生成bit流成功了(逆天,设备不行真是阻碍学习科研的最大障碍)
标签:文件,收集,遇到,boot,BOOT,openwifi,sh,bit From: https://www.cnblogs.com/cjl520/p/18342071