前言
由于本人较懒,记录主要是过程,由于zynq的比stm32做的人少很多,资料也少很多,我会简要介绍原理,操作流程主要由图片加少量文字组成,每一章都是在之前的章节基础上做的
一、新建FSBL工程
打开vivado,打开SDK
打开后会自动根据之前生成的HDF自动生成硬件平台
新建一个FSBL工程,FSBL类似于SPL,用来在UBOOT之前对基础的寄存器初始化
添加启动模式选择代码,由于硬件引脚外接的启动模式为NAND,会导致FSBL启动后无法再次烧录,临时更改启动引脚比较麻烦,因此在main.c
384行左右添加以下代码,写死启动模式为JTAG,这样下次烧录就不需要更改启动模式了
/** Read bootmode register*/BootModeRegister = Xil_In32(BOOT_MODE_REG);BootModeRegister &= BOOT_MODES_MASK;BootModeRegister = JTAG_MODE;//peter add/** QSPI BOOT MODE*/
编译工程
编译完成后会生成一个fsbl.elf文件,用于后续BOOT.bin合成
二、使用调试器烧录NAND
由于我手头没有烧录器,但板子上还留有之前在前公司做的uboot,所以后续我会用网口和指令来烧录,但在这里还是介绍一下NAND烧录的流程
我没有调试器就不演示了,后续如果做裸机开发可能自己会买个吧
总结
主要介绍了FSBL工程的配置和NAND烧录流程。