艾巴生活网

您现在的位置是:主页>科技 >内容

科技

自己做镜像文件(一文教大家如何制作镜像文件)

2024-03-18 09:17:02科技帅气的蚂蚁
以前的项目都是通过JTAG下载比特流文件,然后下载elf文件,最后点击Run As运行程序。JTAG的方法是通过TCL脚本初始化PS,然后通过JTAG收发

自己做镜像文件(一文教大家如何制作镜像文件)

以前的项目都是通过JTAG下载比特流文件,然后下载elf文件,最后点击Run As运行程序。JTAG的方法是通过TCL脚本初始化PS,然后通过JTAG收发信息进行在线调试。但只要一断电,程序就丢了,没救了。

本文详细介绍了如何制作图像文件。将图像文件复制到SD卡,设置dip开关,并从SD启动系统。然后每次系统关机重启,系统都会从SD启动。这样程序就固化了,断电重启也不会丢失。

1.固化过程

2.固化准备

首先想到的两个文件是PL需要的bit文件和PS需要的elf文件。但仅有这两份文件是不够的。我们还需要一段代码来放置bit文件和elf文件。这个代码FSBL.elf

因此,制作一个图像文件需要三个文件:

1、 fsbl . elf2、 . bit3、 . elf .

最后一个等式是:boot . bin=fsbl . elf the project . bit the project . elf

(我们用SDK生成FSBL.elf文件)

2.ZYNQ从SD卡的引导过程

Zynq和大多数arm引导过程一样,分为三个阶段,分别称为阶段0、阶段1和阶段2。

阶段0:传统的BootROM过程。zynq芯片的rom中固化了一个未修改的程序,只要zynq一上电就会执行。它将初始化zynq的NAND、NOR、SD等基本外设控制器。一旦SD卡等易失性存储设备被初始化,程序将被复制到zynq OCM(片上存储器)。这个复制到片上ram执行的程序就是我们做的文件——BOOT.bin。

阶段1:在OCM上加载Boot.bin以开始执行。BOOT.bin由fsbl . elf this project . bit this project . elf组成,stage 1需要做的是:首先配置PS部分。PS初始化后,会配置PL部分。最后,它将加载阶段2的代码。

阶段2:该阶段可选,主要完成Linux系统启动过程。

2.boot.bin的制作过程

打开项目,双击打开逻辑示意图。

双击ZYNQ处理系统进行配置:

选择MIO配置选项,并如下图所示进行配置:

o配置内存接口配置:

1、检查四通道SPI Flsh

2、检查反馈时钟。

o配置 i/o外设配置:

1、检查标清0

2、检查CD并设置MIO 47。

3、检查WP并设置MIO 46。

时钟配置 io外设时钟配置:

QSPI时钟设置为125

单击确定完成配置。

右键单击system.bd,然后单击生成输出产品。

右键单击system.bd并选择创建HDL包装器。这一步的作用是生成顶层HDL文件。

选择离开让viva做经理包装和自动更新,并单击确定。

生成一个位文件。

导出到硬件。

启动SDK

创建新的应用程序项目

填写项目名称FSBL,然后单击下一步。

工程选型Zynq FSBL。

按快捷键Ctrl B编译项目。

选择其中一个项目(记住它是哪个项目,以便稍后可以找到Boot.bin),然后右键单击并选择Creat Boot Image。

在新窗口中,有三个文件,分别是FSBL.elf,比特和。elf文件,如图。制作图像文件需要这三个文件。直接点击创建镜像,创建Boot.bin,可以作为SD卡引导文件和SPI引导文件。

在之前设置的文件夹中找到BOOT.bin文件,复制到SD卡中,然后将SD卡插入开发板,最后打开电源。开机后系统从SD卡启动,断电后程序不会消失。

最后提醒我放大SD卡的bin文件。文件名必须是BOOT.bin,否则无法识别。

japan quarterly 日本季刊