ZYNQ(五)UBOOT

固化:前四次实验均是使用JTAG在线调试,通过TCL脚本初始化PS,然后用JTAG收发信息,可用于在线调试。(但是一旦断电,程序就会丢失);固化就是制作镜像文件,将镜像文件拷贝SD卡,然后把拨码开关拨到SD启动处,这样断电后程序就会从SD启动,即程序固化。
固化的流程:
在这里插入图片描述
制作镜像文件BOOT.bin 需要:FSBL(First Stage Boot loader).elf + 该工程.bit +该工程.elf。
ZYNQ从SD卡的启动过程:
(1)传统BootROM 过程,zynq芯片的有一个rom 里面固化一段不可修改的程序,只有zynq上电,这段程序就会执行,将zynq的基本外设初始化,把SD卡初始化之后,就会把其中程序拷贝到zynq的OCM(On-chip memory),这个拷贝到片上RAM执行的程序就是-BOOT.bin
(2)BOOT.bin加载到OCM上开始执行,首先配置PS部分,PS完成初始化,会配置PL部分,最后加载(3)的代码
(3)可选(裸机或者有操作系统),主要是为了完成LINUX系统启动过程

ZYNQ启动模式位的选择:
当上电后,zynq 会根据模式管脚的设定选用boot 的方式(NOR、NAND、QSPI、SD卡、JTAG),管脚设定是通过核心板上的拨码开关。(默认SD卡启动)

(1)前面vivado的步骤与前几章相同,不再累述。
(2)打开SDK工程,创建新的工程FBLS,并修改hardware platform,生成FSBL.elf文件,并将FSBL.elf文件连同之前工程的bit文件和elf文件放在一个文件夹中。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)使用xilinx工具 ->creat boot image
依次添加FBLS.elf、工程的bit文件以及工程的elf文件。(需要按顺序添加)
在这里插入图片描述
(4)在文件夹中找到BOOT.bin 并且拷到SD卡中,再把SD卡插到开发板上,打开电源,这一次断电后,程序就不会消失了。
在这里插入图片描述
(二)从QSPI启动程序
(1)需要正确设置开关跳线,将模式切换为QSPI
(2)给开发板通电,同时连接串口到PC端
(3)使用xilinx工具->program flash
在这里插入图片描述
(4)下载到开发板上

发布了54 篇原创文章 · 获赞 4 · 访问量 1042

猜你喜欢

转载自blog.csdn.net/buzhiquxiang/article/details/103543722
今日推荐