前情提要
对于ZYNQ而言,在引导过程中,先运行FSBL来设置PS,然后运行U-Boot用于加载Linux内核映像并引导Linux
Linux系统移植一:移植U-BOOT 添加自己的板子并编译(非petalinux版) 一文中已成功生成了u-boot文件
然后将u-boot文件重命名为u-boot.elf mv u-boot u-boot.elf
备用
生成BOOT.BIN文件还需要fsbl引导文件,本文同样不用petalinux
环境
- hdf设计:vivado 2017.4套件
- 交叉编译环境: arm-linux-gnueabihf-
- 虚拟机Linux系统版本:ubuntu 16.04
- 开发板:ALINX AX7Z100 开发板(ZYNQ7100)
新建fsbl工程
windows下打开SDK,新建工程 new–>Application Project
然后New 一个 Hardware Platform,选择我们的hdf文件
finish之后,设置Project name ,Next
选择生成Zynq FSBL工程,finish
等待一会儿,fsbl.elf
文件就生成在工程目录的Debug目录下了
至此,生成BOOT.bin所需要的三个文件: fsbl.elf 、xxx.bit 、 u-boot.elf
都已经准备好了
制作BOOT.bin
fsbl工程建好之后,在fsbl工程下新建一个boot_image
文件夹,存放输出的BIN文件
我们把上一节的u-boot.elf文件也放进来,将xxx_hw_platform_0文件夹下的xxx.bit文件也可以添加进来
点击 Xilinx–>Create Boot Image ,然后依次执行图中操作,最后执行 Create Image
然后我们在 boot_image
目录就可以找到生成好的 BOOT.bin
文件
上板验证
准备一张分好区的SD卡,将生成好的 BOOT.bin
文件复制到SD卡 boot 分区
板子启动模式调整为 SD卡 启动,连接串口,打开串口软件,开发板上电
串口输出如下,说明BOOT.bin成功生成