基于sdrpi的openwifi实践2:生成BOOT.BIN
实践1中我们生成了 FPGA的BIT流配置文件以及FSBL文件ZYNQ_FSBL。
实践2中我们内核文件uImage和动态加载驱动用的.ko文件。
这篇blog我们使用实践1中生成的.BIT文件和ZYNZ_FSBL.ELF文件来生成BOOT.BIN文件。
我们知道生成BOOT.BIN要包含三个内容:FSBL配置文件,BIT流文件,用户程序或者UBOOT启动代码,这里因为要引导LINUX因此是UBOOT。这个UBOOT在ZYNQ里面比较通用的。我们也可以使用OPENWIFI中其他ZYNQ板子的UBOOT来替换。
上述三个文件都具备了,我们就用bootgen这个vivado自带的小软件来生成boot.bin。
bootgen -image zynq.bif -o i BOOT.BIN -w on
使用bootgen时候要传递过去一个文件,在这里是zyqn.bif文件,我们打开看看:
the_ROM_image:
{
[bootloader] ./zynq_fsbl.elf
./system_top.bit
./u-boot.elf
}
这个文件实际就是指示了三个我们上述分析的文件。这里分别是当前目录下的zynq_fsbl.elf system_top.bit和u-boot.elf.
前两个文件我们拷贝用实践1生成,最后一个文件拷贝别的zynq板子上的,比如可以直接拷贝zedboard+fmcomms2板子的u-boot。
这样执行bootgen命令行之后就会生成一个boot.bin就是我们所需要的。
这个操作也可以按照openwifi提供的步骤,原理是一样,那个fsbl是通过.hdl文件自动生成的。
链接:https://pan.baidu.com/s/1to7ME1u1Nr74eAdhLwXs3Q
提取码:p3dy
我们这篇实践得到了boot.bin,接下来就要生成设备树。下一篇实践继续做