视频六:固化程序和配置到SD卡和 QSPI FLASH
1,分析一下三个阶段 :
BOOTROM(处理器固化的引导程序,初始化基本的处理器硬件,PLL,处理器等,判断跳线设置的模式MIO2 - MIO8 ,从指定的位置调入First Stage BootLoader;识别启动文件头部并调用FSBL到OCM , 开始执行BOOTLOADER)
->FSBL(初始化特定的片内外硬件,比如DDR2以及以太网外设等,这部分代码长度限制在192K可以由用户修改,之后将用户程序用通讯介质或者存储介质调入DDR2存储器,运行)
->用户程序或者SSBL(比如LINUX 引导程序,有此二级引导程序的原因是:FSML限制了192K的大小)。
2,图形化生成启动文件。
3,命令行生成启动文件。
4,PL配置的时机由PS来决定。 PS不用到PL外设之前可以先不配置PL,PS及其专属的外设可以独立运行。并且FSBL我们可以不用来做引导,可以直接运行小的程序。
5,启动文件本身就集合了多个文件,需要被BOOTROM识别,必须按照BOOTROM的头部格式来组织,其实这个启动文件本身内部就相当于有了文件系统,这点尤其是在没有文件系统的QSPI
FLASH 上必须需要的。6,BOOTGEN 生成的启动文件BOOT.BIN或者BOOT.MCS有两部分基本作用:包含了可以被BOOTROM和官方FSL识别的ROM头。前者是必须的,后者可选的。FSBL是用户可选配置,所以可以采用任何具体的方式进行配置了,可以不从BOOT.BIN文件里面要PL配置的配置和SSBL。
1.打开xilinx sdk 打开一个progect;
找到路径:
2.在sdk文件里面新建一个文件夹:boot_image
把C:\Users\Administrator\Desktop\project_51115\project_5.runs\impl_1里面的bit文件复制过来(上面第一个);
把C:\Users\Administrator\Desktop\project_51115\project_5.sdk\sw\Debug里面的elf文件复制过来(上面第二);
把官方启动文件:zynq.elf拷贝过来;(下图):
在sdk里面 creat boot image
创建bif文件:
点击add:
然后依次把三个都添加进去:
输出路径为:刚才的那个文件夹:
生成以下文件:
**打开gui_boot.bof文件看到以下:
.3.生成 output.mcs文件
=
如果把boot_bin烧写进去就是sd卡启动
如果把output.mcs烧写进去就是spi启动
之后进行烧写:
下载成功(如下):