首先下载HDL和NO-OS项目
git clone --recursive https://github.com/analogdevicesinc/hdl
git clone --recursive https://github.com/analogdevicesinc/no-OS
下载完成后需要更换版本,要与ubuntu中下载的vivado版本相同,使用如下命令进行查看版本,摁↓键可以查看更多版本,摁Q退出查看。
git branch -a
使用如下命令进行切换版本
git checkout 版本号
具体版本号对应那个vivado在以在GitHub中查看,进入HDL的网站:
GitHub - analogdevicesinc/hdl: HDL libraries and projects
可以看到各各版本的介绍,我的电脑中使用的是vivado2018.3,所以选择hd_l2019_r1,no-os的版本切换也是同样的流程
版本切换完成后进入如下目录。设置环境变量,根据vivado安装位置不同选择对应的地址,最后进行编译
cd hdl/projects/fmcomms2/zed/
source /tools/Xilinx/Vivado/2018.3/settings64.sh
make
编译完成后进入 fmcomms2_zed.sdk 目录,复制 system_top.hdf 文件,粘贴到no-OS/projects/ad9361目录中。并在此目录下打开命令行窗口,设置环境变量并编译
source /tools/Xilinx/Vivado/2018.3/settings64.sh
make
编译完成后就可以进行移植,进入hdl如下目录,打开makefile文件
cd hdl/projects/fmcomms2/zed/
gedit Makefile
可以在Makefile中看到参与编译的文件有哪些,把这些文件单独拿出来,也可以把整个库拿出来,没参加编译的文件也不大。
打开hdl文件夹,复制library文件夹到hdl/projects/fmcomms2/zed中,进入hdl/projects/common/zed文件夹,复制里面的俩个引脚约束中的文件,粘贴到hdl/projects/fmcomms2/zed/xdc中,这样就可以把整个zed文件夹压缩后复制到windows系统中。进入no-OS/ projects/ ad9361 压缩并复制src文件夹到Windows中。
在windows中打开对应版本的vivado打开zed中的项目
打开项目时会提示缺少俩个文件,点击确定
添加文件—>添加设计文件—>下一步
点击添加文件—>选择文件:zed/library/common/ad_iobuf.v—>确定—>完成
删除之前的文件
继续添加第二个缺少的文件,点击添加文件-->添加引脚约束文件夹-->下一步
选择缺少的文件进行删除
添加文件-->进入到XDC文件夹中添加缺少的文件-->确定-->完成
点击设置-->IP库设置-->删除缺少的库
添加库-->选择library-->确定-->保存设置,中间提示选择确定即可
添加完成后就可以编译项目了,在等待期间可以移植SDK中的代码,直接在vivado中打开SDK,弹窗提示选择确定
打开SDK后创建一个hello world项目,在资源管理器中找到项目地址,用从Ubuntu中拿出来的src文件替换掉。回到SDK中摁F5刷新项目,可以看到src中的所有都添加进来了。
编译后会提示缺少文件,在no-OS中搜索文件添加到src文件夹中,继续编译添加,直到不报错。可以使用VS code所搜文件会比较便捷。可以使用我添加完后的src文件夹进行代替
后面添加fsbl项目和制作SD卡,把SD卡插入开发板,插入AD9361模块和串口线
给开发板上的查看串口输出内容,最后显示Done表示成功