根据自己系统选择相应版本,本人下载的图示箭头版本,解压、给权限,记住文件夹路径,将交叉编译环境添加到系统内(根据需求,本人还有其他其他环境就没“写死”)。
一、 cd u-boot-xlnx-xilinx-v2018.3
二、指定交叉编译环境
export arch=armexport cross_compile=/tools/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-
三、指定编译配置
make zynq_zed_config 注意:这里会有几个错误: 1、缺少xxxx 根据提示,缺少什么安装什么即可 2、your gcc is older than 6.0 and is not supported 这个是gcc版本问题,vim arch/arm/config.mk 将64,65,68-73行注释掉,如图所示
四、make 图示位置完成编译
五、修改名称 ls 文件夹下生成了u-boot.bin和u-boot,我们需要的是u-boot(不带后缀)。
六、修改名称
mv u-boot u-boot.elf 这样就完成了官方源码的编译,下面会用到。
1、下载官方源码 首先需要去官方
https://github.com/analogdevicesinc/hdl 下载对应的开发包,使用git即可下载。 这里说明一下,这个仓库里有很多分支: 放了这么多分支主要原因就是我们使用的fpga eda软件版本和工程紧密相关,尤其vivado,所以官方针对不同的vivado和quartus ii做了很多版本,具体对应关系如下,一定要针对自己使用的版本下载对应的分支,否则会有很多意想不到的问题。 分支版本和vivado版本对比(参考:https://github.com/analogdevicesinc/hdl/releases)
源码版本vivado/quartus ii版本
hdl_2019_r2xilinx vivado 2019.1 quartus prime pro edition 19.3 quartus prime standard edition 18.1
hdl_2019_r1vivado 2018.3 quartus prime standard edition 18.1
hdl_2018_r2vivado 2018.2* quartus prime standard edition 18.0
hdl_2018_r1vivado 2017.4.1 quartus 17.1.1
hdl_2017_r1vivado 2016.4* quartus 16.1
hdl_2016_r2vivado 2016.2 quartus 16.0
hdl_2016_r1vivado 2015.4.2 quartus 15.1
hdl_2015_r2vivado 2015.2.1 quartus 15.1
hdl_2015_r1vivado 2014.4.1 quartus 15.0
hdl_2014_r2vivado 2014.2 quartus 14.0
hdl_2014_r1vivado 2013.4 quartus 14.0
利用git下载相应的源码即可开启下面的步骤了。
2、搭建linux开发环境 官方的开发环境都是基于liunx搭建的,makefile自动化运行。选用wsl+vivado其实是很好的选择,本人也是基于这个组合。 这里先介绍怎么搭建wsl+vivado的组合,后续会针对windows用户vivado下怎么使用。 wsl+vivado环境搭建
一、参考《1202年了,还在使用虚拟机吗?win10安装ubuntu子系统及图形化界面详细教程》搭建wsl可视化界面(不可视化也可);
二、解压《xilinx_sdx_2018.3_1207_2324.tar》,解压后进入解压后的文件夹内;
三、输入 sudo 。/xsetup;
四、等待一段时间,就会出现图形安装界面,接下来就完全和windows安装完全一样,就不在赘述;
五、安装完成后,将vivado/2018.3 目录下面的settings64.sh里的代码复制粘贴道bashrc的文件里面 sudo gedit ~/.bashrc
六、粘贴到bashrc文件最后,然后输入下面命令让bashrc文件重置更新下 source ~/.bashrc
七、然后在终端中执行vivado即可进入。 这样就安装完毕了 3、生成bit文件 基于2.1节,打开命令行(terminal),输入以下命令,下载源码: //一定要根据使用的vivado版本选择好分支
mkdir sdrcd sdrgit clone https://github.com/analogdevicesinc/hdl.git 下载源码后
cd hdl
cd projects/adrv9364z7020 //这里根据和官方类似板卡的类型sudo make 接下来就是漫长的等待,上面make命令会生成vivado工程并生成bin文件。
注意:如果是自己自研的板卡,是不需要等待编译结束的,只需要根据时间等工程创建完即可。 4、生成u-boot 用vivado打开《ccbob_lvds》下的文件夹下的工程,如下: 整个工程稍复杂一点,主要包括zynq和ad936x两个ip,其他都是相关的互连总线。在此相关的工程下可以根据自己的需求修改工程,这里就不演示了,接下来将生成.bit、hdf等文件,导入到sdk。
一、generatebit
二、导入到sdk
三、项目导出后,在 sdk 中创建一个新的 fsbl 项目。为此,请右键单击左侧“项目资源管理器”面板中新导出的硬件平台规范,然后从弹出菜单中选择“新建 》 项目”。在第一个对话框页面上选择“xilinx - application project”。在第二个对话框页面上为项目选择一个名称(例如 zynq_fsbl),在第三个页面上选择“zynq fsbl”模板。 该项目应该自动构建。如果没有,可以通过右键单击左侧“项目资源管理器”面板中新创建的项目并从弹出菜单中选择“构建项目”来启动手动构建。项目构建完成后,就可以生成启动映像了。这是通过右键单击左侧“项目资源管理器”窗格中的项目并选择“创建引导映像”来完成的。这将打开 bootgen 向导。bootgen 向导需要三个文件:
随便选一个输出路径,然后在底下将三个文件填加进去,注意顺序不能错。分别是fsbl.elf(bootloader) .bit(datafile) u-boot.elf(datafile)。将这些文件添加到对话框中的分区列表,然后选择一个输出文件夹。 点击create image就能生成boot.bin 5、利用官方脚本生成u-boot 官方提供了一个脚本可以自动构建boot.bin,详细的地址:
chmod +x build_boot_bin.shusage: build_boot_bin.sh system_top.hdf u-boot.elf [output-archive] l路径system_top.hdf和u-boot.elf是必需参数。 lname可以将可选的第三个参数提供给 tar.gz 输出目录。( name.tar.gz) l构建输出位于名为:output_boot_bin 的本地目录中。 l此脚本需要赛灵思 xsdk 和 path 中的 bootgen(sdk的路径在环境中)。
编译完成如下图所示: 在路径下就能找到boot.bin 这样第一个文件就准备好了,接下来创建设备树和内核。
6、创建内核uimage 首先还是需要下载源文件,地址:
https://github.com/analogdevicesinc/linux 还是根据自己使用的vivado版本选择相应的分支。 cd linux-2019_r1 检查环境变量cross_compile,若没有则添加上,同u-boot添加方法
make zynq_xcomm_adv7511_defconfig
make -j5 uimage_loadaddr=0x8000 uimage 下面路径下就生成了uimage 完成内核的编译
7、创建设备树 继续上面的步骤
make zynq-zed-adv7511-xcomm.dtb 下面路径下就有了设备树 8、创建文件系统 文件系统对平台的依赖性不大,所以沿用官方的img内的文件系统。 将u-boot、设备树和uimage拷贝到sd卡的boot目录下,就完成了系统的搭建。
三方战略联盟联手打造智慧物流“技术+车辆+场景”黄金三角
三星为何能在芯片行业逆袭?我们是否可以借鉴?
光纤和网线的区别
深度解析物联网的安全问题
Mg0.5Ti0.5TaO4陶瓷的高频本征介电性能与低温烧结特性研究
怎么搭建WSL+Vivado?又如何去使用?
南瑞集团将实施三型两网发展战略建设世界一流的能源互联网企业
MiniWare推出微型多模块线性的可编程数字电源
Firefly-RK3399--LED 介绍
pcb是半导体还是集成电路?好问题!进来看答案
为什么设计区块链项目需要关心道德规范
智慧路灯杆在水库区安全监测的应用
亚马逊将启动电子病历数据挖掘项目
民营100强企业的多媒体展馆,数字展厅用到的全息展柜、大屏展览展示机器人
第七代iPod nano拆解:配备了五款神秘的苹果芯片
ARM的视频安全监控终端的设计与实现
蓝牙组网智能风扇灯方案简介
关于宽带功放数字预失真测试方案的分析和应用
云网融合推动5G终端应用创新,推进生态合作共促产业链繁荣
苹果M1 Mac mini单核基准测试快于所有英特尔Mac