以AD738x这款ADC为例,xilinx软件版本为2022.2:
HDL工程:
- 下载HDL工程:GitHub - analogdevicesinc/hdl at hdl_2022_r2(GitHub - analogdevicesinc/hdl at hdl_2022_r2)
- 解压后,打开vivado 2022.2,此时不要建工程,在tcl console里输入cd c:/hdl-hdl_2022_r2/projects/ad738x_fmc/zed/,进入zed文件夹中:
- 执行source ../../scripts/adi_make.tcl
- 执行adi_make::lib all (编译所有模块,需要花几分钟时间)
- 执行source ./system_project.tcl (开始编译工程)
- 生成bit文件后,导出system_top.xsa文件。
NO-OS工程:
下载no-OS源码:GitHub - analogdevicesinc/no-OS at 2022_R2(https://github.com/analogdevicesinc/no-OS/tree/2022_R2)
软件工程编译有两种方式:一种是vitis里面建工程编译,一种是利用git-bash编译,下面分别演示:
Vitis:
- 启动vitis,利用导出的 system_top.xsa文件新建一个空的C工程:
- 拷贝no-OS-main\projects\ad738x_fmcz\src文件夹下的源文件到vitis工程,并在app_config.h文件中添加#define XILINX;修改parameters.h文件中的ad738x_spi_engine_baseaddr为vivado中的名称;
- 打开no-OS-main\projects\ad738x_fmcz文件夹下的src.mk文件,把里面提到的所有源文件(.c和.h)都拷到vitis工程src下面,修改lscript.ld文件中的stack size为0x400,heap size为0x100000:
- 添加头文件路径:
- 点击编译,生成可执行文件:
Git Bash:
- 打开C:\Xilinx\Vivado\2022.2\tps\win64\git-2.16.2路径下的git-bash.exe,进入一个自己的工程文件夹(不然的话工程会建在vivado的安装根目录下面,看着不爽);
- 克隆源码:git clone --recursive https://github.com/analogdevicesinc/no-OS,如果报下面的错误:fatal: unable to access 'https://github.com/analogdevicesinc/no-OS/': error setting certificate verify locations,执行git config --system http.sslverify false,再进行clone;
- 进入no-OS文件夹,执行sh ./tools/scripts/git-bash.sh;
- 执行export PATH=/c/Xilinx/Vitis/2022.2/bin:/c/Xilinx/Vitis/2022.2/gnu/aarch64/nt/aarch64-none/bin/:$PATH
- 进入no-OS\projects\ad738x_fmcz文件夹,并将system_top.xsa文件考到这个文件夹下:
- 修改src\parameters.h文件:
- 执行make,此时应该会报错:
-
执行export PATH=/c/Xilinx/Vitis/2022.2/bin:/c/Xilinx/Vitis/2022.2/gnu/aarch32/nt/gcc-arm-none-eabi/bin/:$PATH,执行后再进行make
-
no-OS\projects\ad738x_fmcz\build\output_boot_bin文件夹下生成的可执行文件: