概要
AD9361驱动已经普遍存在了,网上学习资料也非常全面,ad9361驱动版本有好几个,有纯逻辑驱动的,也有用ZYNQ 中的ram进行SPI配置驱动的,但不管什么版本的驱动程序,大多都参考或借鉴了官方驱动例程。本文详细描述了官方例程中HDL部分程序构建过程,诣在为后来学习或工作需要的同志提供一点帮助。
众所周知,vivado工程占用大小通常是几十兆到几个G不等,而且文件数量繁多,故vivado工程管理是一个严峻的问题。而ADI使用了make工具进行管理,如果使用make工具进行ad9361工程构建,则需要在Linux环境下安装vivado和SDK进行构建,或者在Windows环境下安装make环境,不管是那种方式搭建环境都是一个繁琐的事情。
因而,本文是仅仅使用vivado tcl工具进行工程构建,省去了环境搭建过程,相应地使用TCL构建vivado工程步骤会多一些。
工具版本
vivado 2019.1
需要文件
在下载ADI官网源文件,由于是存放在github上的,如果打不开,访问需要一些技巧
https://github.com/analogdevicesinc/hdl/releases
此处需要注意的是本文使用的是vivado 2019.1,故需要下载对应的源码
实现细节
1、解压hdl-2019_r2.zip文件
2、本文构建fmcomms2+zed工程,故进入…\hdl-2019_r2\projects\fmcomms2\zed文件夹
3、打开Makefile文件,查看需要使用到的IP
4、进入…\hdl-2019_r2\library文件夹,找到以上IP文件,分别进入对应文件夹,比如…\hdl-2019_r2\library\axi_ad9361
5、打开TCL工具
6、进入该文件夹并执行source axi_ad9361_ip.tcl命令
7、以此类推,需要在上述各个文件中执行source命令
8、在完成上述过IP构建之后,还需要进入util_axis_fifo、util_cdc文件额外构建该IP,否则后续构建工程会报错
9、到此,AD9361工程所需要的IP就构建完毕,接下来进行工程构建,打开vivado工具
10、在TCL控制台处执行以下命令,改变工作路径
11、紧接着执行source ./system_project.tcl命令
12、在经过漫长的等待之后,就会得到一个已经完成综合、实现的vivado工程
总结
利用vivado TCL直接构建官方例程实现简单,如果使用非官方的硬件板子,只需要修改约束就重新run一次就行了。至此,官方驱动HDL部分程序构建完毕,完整驱动需要ZYNQ的PS端配合,移植对应的no-os或者Linux部分代码即可。
2024.08.12