第2章 zynq开发板FSBL的生成和NAND烧录

前言

由于本人较懒,记录主要是过程,由于zynq的比stm32做的人少很多,资料也少很多,我会简要介绍原理,操作流程主要由图片加少量文字组成,每一章都是在之前的章节基础上做的


一、新建FSBL工程

打开vivado,打开SDK
alt text
打开后会自动根据之前生成的HDF自动生成硬件平台
alt text
新建一个FSBL工程,FSBL类似于SPL,用来在UBOOT之前对基础的寄存器初始化
alt text
alt text
alt text
添加启动模式选择代码,由于硬件引脚外接的启动模式为NAND,会导致FSBL启动后无法再次烧录,临时更改启动引脚比较麻烦,因此在main.c384行左右添加以下代码,写死启动模式为JTAG,这样下次烧录就不需要更改启动模式了

	/*
	 * Read bootmode register
	 */
	BootModeRegister = Xil_In32(BOOT_MODE_REG);
	BootModeRegister &= BOOT_MODES_MASK;
	BootModeRegister = JTAG_MODE;//peter add
	/*
	 * QSPI BOOT MODE
	 */

编译工程
alt text
编译完成后会生成一个fsbl.elf文件,用于后续BOOT.bin烧录时使用的fsbl file文件
再将fsblmain.c复原,编译生成的fsbl.elf用于后续BOOT.bin的合成

二、使用调试器烧录NAND

由于我手头没有烧录器,但板子上还留有之前在前公司做的uboot,所以后续我会用网口和指令来烧录,但在这里还是介绍一下NAND烧录的流程
alt text
alt text
我没有调试器就不演示了,后续如果做裸机开发可能自己会买个吧


总结

主要介绍了FSBL工程的配置和NAND烧录流程。

参考

posted @ 2025-09-19 09:34  夏影~  阅读(140)  评论(0)    收藏  举报