ADI是业界卓越的半导体公司,在模拟信号、混合信号和数字信号处理的设计与制造领域都发挥着十分重要的作用。到目前为止,推出了多款芯片,涉及的领域十分广阔。针对推出的芯片,都有配套的开发板与其芯片子模块进行配套使用,所以配套资源包含该芯片的FPGA逻辑代码,都上传到github上,所有的代码都是免费公开的。
2 工程建立
2.1 自我环境检查
首先检查自己的Vivado或者Quartus的版本号,选择对应的ADI官方提供的免费HDL与no-OS库。HDL库存放的是对应芯片的FPGA驱动程序,no-OS存放的是芯片SDK下的C程序。
2.2 克隆对应代码
利用git软件克隆hdl与no-OS库,以便后续使用。
git clone https://github.com/analogdevicesinc/no-OS.git
git clone https://github.com/analogdevicesinc/hdl.git
2.3 安装编译工具
在Windows电脑上安装Cygwin软件,详细的安装教程网上很多,不在赘述。也可以用Vivado或者Quartus自带的编译器进行编译,用户可自己尝试。
Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发的著名工具还有eCos,不过现已被Redhat收购)。它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对Cygwin产生了兴趣。
2.4 编译tcl工程
首先找到自己Vivado或者Quartus安装的具体目录,打开Cygwin,输入下面的指令并执行(根据自己的目录输入)。
export PATH=$PATH:/cygdrive/C/Xilinx/Vivado/2018.2/bin
找到上述下载的hdl库目录,先对library进行编译,如果不确定接下来工程需要哪些库,对全部库文件编译即可。
make -C C:/gitadi/analogdevicesinc/hdl/hdl-hdl_2018_r2/library all
接下来对想要编译的工程进行编译,由于fmcomms5包含两片AD9361,正式我所需要的参考工程,在选择对应的开发板zc706即可(不要对所有的工程进行编译,工程量太大)。
make -C C:/gitadi/analogdevicesinc/hdl/hdl-hdl_2018_r2/projects/fmcomms5/zc706
编译完成后,打开对应的工程,可以看到详细的工程设计,用户可以根据自己的需求进行修改。
2.5 详细的参考文章
上述讲解只针对Windows环境下Vivado相关工程的编译,如果用户有Linux系统或者使用Quartus软件需求等等,更为详细的编译说明参考链接如下:https://wiki.analog.com/resources/fpga/docs/build
3 no-OS库的编译
上述工程编译完成后,导出bit文件到SDK,并将no-OS库下对应工程的c文件拷贝到SDK工程之下,重新编译即可得到整个完整工程(HDL工程与ARM工程)。接下来用户就可以对整个工程进行测试修改,转化为自己的程序。
如果对SDK下c文件工程的建立与编译仍然不清楚,可以参考以下官方链接:https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/baremetal
需要注意的一点就是,官方给的工程量比较大,需要将堆栈设置到合理的值,否则编译会出现错误。
原文标题:AD9361官方FPGA工程编译
文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。
责任编辑:haq
全部0条评论
快来发表一下你的评论吧 !