链接:https://pan.baidu.com/s/1jbuYs9alP2SaqnV5fpNgyg
提取码:r00c
本例程需要实现在hdl加no-OS系统中,通过修改fmcomms8/zcu102项目,实现在MPSOC两个fmc口上运行fmcomms8项目。
目录
1 下载文件与切换版本
2 编译fmcomms8项目
3 ZCU102配置修改为15EG
4 编译no-os文件
5 创建VITIS项目并导出BOOT.bin文件
6 上机测试
7 修改FMC引脚使用FMC1启动
1 下载文件与切换版本
首先需要在github上下载hdl和no-OS两个文件,也可以在ubuntu中使用git工具下载,运行如下两条命令进行下载:
git clone https://github.com/analogdevicesinc/hdl
git clone https://github.com/analogdevicesinc/no-os
下载完成后需要切换版本,注意fmcomms8在vivado2019.1版本后才更新出来。本历程使用的是vivado2021.1版本,在hdl下载网址中可以查看vivado版本对应使用的版本,进入下载地址后点击releases。
找到所需要的版本,可以看到与vivado2021.1所对应的是2021_r1。
分别进入hdl与no-os目录,使用git命令进行切换版本,命令如下所示:
cd hdl/
git checkout 2021_r1
cd ../no-os
git checkout 2021_R1
注意hdl的“r”是小写,no-os的是大写。
2 编译fmcomms8项目
进入目录hdl/projects/fmcomms8/zcu102,设置vivado的环境变量并编译,等待编译完成。若编译失败,可以调整虚拟机的内存大小,重新多编译几次大概率可以编译过。
cd hdl/projects/fmcomms8/zcu102
source vivado安装地址/settings64.sh
make
3 ZCU102配置修改为15EG
编译完成后在命令行输入vivado打开vivado,打开项目-->选择默认项目-->确定,默认项目选择的是打开vivado命令行的地址。
设置-->general-->更换芯片-->搜索15eg-->选择15eg-->确定-->应用
提示框选择No
打开bd文件-->升级IP核-->全部升级,弹出的提示窗口选择OK。
选择generate
打开ZYNQ IP核,修改配置,从zcu102的配置改为15eg的配置需要修改的地方有SD卡,PCIE,DP和DDR的部分。具体配置如下所示:
15EG没留出PCIE的接口需要关闭
DDR的配置如下,修改完成后生成bit文件。
4 编译no-os文件
在vivado中导出新的XSA文件
弹窗默认下一步到选保存地址,地址选择当前目录中的.sdk目录,继续下一步,弹窗都选择确定到完成导出。
进入目录:no-os/projects/adrv9009/src/app,打开app_config.h文件,取消注第47行的注释保存退出。
进入目录:no-os/projects/adrv9009,把上面导出XSA文件复制过来,编译,若是新开启的窗口需要提前设置环境变量。
5 创建VITIS项目并导出BOOT.bin文件
回到vitis中,打开vitis,tools-->Launch Vitis LDE
地址选择上面保存XSA的.sdk文件夹
创建平台项目-->设置名称-->Next
选择导出的XDC文件-->Finish
选择项目进行编译
xilinx-->create... -->zynq...
选择Zynq -->选择保存地址-->添加文件-->按图中顺序和路径添加文件,共有3个-->生成BOOT.bin文件
-
6 上机测试
子卡插入fmc0,插入串口,电源和SD卡,启动模式设置为SD卡启动:↓↓↓↑ ,打开串口助手软件,由于会识别出两个串口,需要都打开
串口输出内容如下所示:
7 修改FMC引脚使用FMC1启动
回到vivado中,使用历程提供的文件替换内容,工程目录中MPSOC_fmcomms8_fmc1.xdc。
保存后生成bit文件,制作BOOT.bin文件,流程与上面相同。子卡插入fmc1口进行测试
串口输出内容如下: