www.github.com/open-sdr/openwifi-hw是openwifi的硬件项目(hw应该就取haraware之意思),包含就是支持多个板子的项目以及openwifi作者写的一系列的简洁好用工具软件。我在做sdrpi之前都是按照自己的一套路来编译需要的hdl项目(比如这个博客我还是用我老方法编译hdl),后来因为在openwifi的github上开了sdrpi的branch,我就要按照官方接受那步骤来做。我按照openwifi-hw主页介绍的步骤操作了一下,觉得非常简单,简直无法再精简简练了。openwifi作者想得真是用心周到。下面文字我就按照openwifi-hw的README步骤详细走一遍,每步都有截图和大家对照分享。 这需要在安装好vivado 2018.3的环境下进行试验。对于习惯使用windows系统的顾客,可以用vmware虚拟机装个ubuntu系统,之后在上面装好vivado2018.3,并设置好license. 购买过我们板子的顾客可以从我们提供的连接里面直接获取此装好软件设置好license的虚拟机连接。 OK,让我们开始动手做。 1,现在官方openwifi-hw已经加入了对sdrpi的支持。我们递归克隆下来: 这里一定要加 --recursive,这样可以克隆下来所有包含的子模块。如果多次下载不成功发生中断,则可以参考此博客使用脚本自动尝试下载直到成功。 2,下载完毕之后,执行下列脚本: 以上命令可以一条一条拷贝执行,也可以保存在一个.sh文件里面比如pre_hdl.sh,之后设置可执行属性: 之后运行这个脚本 看到如下界面说明一切正常,需要继续等待。 之后点下图出来tcl consol: 在TCL Console里面输入 就是执行./openwifi.tcl这个脚本。输入后回车开始运行。 之后项目开始生成了,我们可以查看hdl代码和block design框图,以及zynq的配置情况,当然有足够把握也可以修改。 之后我们点generate bitstream就可以直接生成bit流文件。点击后会出来多个提示,直接都点确认OK就好。 之后就是十多分钟的等待,最终弹出如下界面表示成功,没有其他操作就直接点CACEL. 生成的BIT流是:openwifi-hw/boards/sdrpi/openwifi_sdrpi/openwifi_sdrpi.runs/impl_1/system_top.bit 生成bit流之后我们希望能继续生成fsbl。 VIVADO菜单执行: 之后确认 之后打开SDK,如下操作。 新建一个APP项目名为zynq_fsbl,之后设置项目类型为fsbl. Next后选在Avaliable Templates选择Zynq_FSBL后FINISH。
之后等待二三十秒等待编译结束,在生成的文件是: 上述文字的产物我们得到了两个文件一个是.bit文件,一个是.elf文件。 其中bit文件就是ZYNQ内部的FPGA的配置。 elf是可执行文件主要包含了两部分内容,A,基本的PS的配置(比如串口用的哪一个,DDR内存用的是什么规格以及对应参数设置等等)。B,第一阶段启动代码First Stage BootLoader,也就是选择从sd卡的BOOT.BIN里面加载PS的程序和PL的配置文件,或者从FLASH存储器加载这些内容。 我这里给出三个压缩包,分别是 A:今天刚从github下载的没有经过上述操作处理的项目, B:经过了上述一系列操作的项目, C:最终我们需要的.bit文件和.elf文件的压缩包。 分别三个网盘连接: 大家有什么不明白的问题可以留言或者评论区询问。对于有我联系方式的顾客,也可以随时联系我。我们网店是tqtt.taobao.com. |