0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文教大家如何制作镜像文件

麻辣软硬件 来源:CSDN技术社区 作者:科研的小萌娃 2021-08-09 16:52 次阅读

以前工程都是通过 JTAG 先下载 bit 流文件,再下载 elf 文件,最后点击 Run As 来运行程序。JTAG 的方法是通过 TCL 脚本来初始化 PS,然后用 JTAG 收发信息,用于在线调试。但是这样只要一断电,程序就会丢失,掉电不保存。

本文详细介绍如何制作镜像文件。将镜像文件拷贝到 SD 卡,设置拨码开关,使系统从 SD 启动。那么每次断电重启后,系统都会从 SD 启动。这样将程序做固化,掉电重启后就不会丢失。

1.固化的流程

2221d5fc-f872-11eb-9bcf-12bb97331649.png

2. 固化准备

首先,想到的两个文件就是 PL 部分需要的 bit 文件,以及 PS 需要的 elf 文件。但是仅有这两个文件不够的。我们还需要一段代码把 bit 文件以及 elf 文件安置好。这段代码FSBL.elf。

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

1、FSBL.elf 2、.bit 3、.elf。

最后得到一个等式就是:BOOT.bin = FSBL.elf+该工程.bit+该工程.elf。

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

2. zynq 的从 SD 卡的启动的过程

zynq 和大多数 arm 启动过程一样,启动过程也分为 3 个阶段,这三个阶段分别称之为阶段 0、阶段 1 和阶段 2。

阶段 0:即传统的 BootROM 过程。zynq 芯片 rom 里面固化了一段不可修改的程序,只要 zynq 一上电,这段程序就会执行。它将对 zynq 的 NAND、NOR、SD 等基本外设控制器进行初始化。把 SD 卡这类易失的存储器件初始化后,就会把其中的程序拷贝到 zynq 的 OCM(On-chip memory)。这个被拷贝到片上 RAM 执行的程序就是我们制作的文件——BOOT.bin。

阶段 1:BOOT.bin 加载到 OCM 上开始执行。BOOT.bin 由 FSBL.elf+该工程.bit+该工程.elf 构成。阶段 1 要做的就是:首先配置 PS 部分,PS 完成初始化后,会去配置 PL 部分,最后去加载阶段 2 的代码。

阶段 2:这一阶段是可选的,主要是为了完成 Linux 系统启动过程。

2. BOOT.bin 制作过程

打开工程,双击打开原理图。

222c197c-f872-11eb-9bcf-12bb97331649.png

双击 ZYNQ Processing System,对其进行配置:

选择 MIO Configuration 选项,然后如下图所示配置:

MIO ConfigurationàMemory Interfaces 配置:

1、 勾选 Quad SPI Flsh

2、 勾选 Feedback Clk

MIO ConfigurationàI/O Peripherals 配置:

1、 勾选 SD 0

2、 勾选 CD,并设置 MIO 47

3、 勾选 WP,并设置 MIO 46

Clock ConfigurationàIO Peripheral Clocks 配置:

QSPI 时钟设置为 125

点击 OK 完成配置。

右击 system.bd, 单击 Generate Output Products。

右击 system.bd 选择 Create HDL Wrapper 这步的作用是产生顶层的 HDL 文件

选择 Leave Let Vivado manager wrapper and auto-update 然后单击 OK

生成 Bit 文件。

导出到硬件

启动 SDK

新建一个应用工程

填写工程名 FSBL,点击 Next

工程类型选择 Zynq FSBL。

按快捷键 Ctrl+B 编译一下工程。

选中其中一个工程(记住是哪一个工程,等会儿好找 Boot.bin),然后右单击,选择 Creat Boot Image。

在新窗口中,一共出现三个文件,分别是 FSBL.elf、.bit、.elf 文件,如图所示。制作镜像文件需要这三个文件。直接单击 Create Image 即可完成 Boot.bin 的创建,此文件可作为 SD 卡启动文件和 SPI 启动文件。

在之前设定的文件夹下找到 BOOT.bin 文件,并且将其拷到 SD 卡中,再将 SD 卡插到开发板,最后打开电源。开机后系统从 SD 卡启动,程序掉电不消失。

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

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SD卡
    +关注

    关注

    2

    文章

    564

    浏览量

    63890
  • JTAG
    +关注

    关注

    6

    文章

    399

    浏览量

    71673
  • TCL
    TCL
    +关注

    关注

    10

    文章

    1722

    浏览量

    88566

原文标题:ZYNQ SOC设计---BOOT.bin制作

文章出处:【微信号:VOSDeveloper,微信公众号:麻辣软硬件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    飞凌嵌入式ElfBoard ELF 1板卡-内核移植之编译后生成文件说明

    文件,它是由设备树编译工具DTC (Device tree compiler)编译dts文件而生成的。关于设备树的知识,我们在之后章节有详细介绍。zImage是经过压缩之后的镜像文件,其生成过程大致如下:
    发表于 12-18 08:52

    用户手册 | 国产最强SOC——RK3588之镜像升级篇

    前言:本篇将详细介绍如何对RK3588开发板的系统镜像进行升级,以确保用户在需要时能够快速高效地完成升级目标。文章内容涵盖镜像文件的获取、升级工具的使用步骤、以及常见问题的解决方法,帮助你快速
    的头像 发表于 11-01 08:08 1222次阅读
    用户手册 | 国产最强SOC——RK3588之<b class='flag-5'>镜像</b>升级篇

    佩特科技PET_A40I_P03安卓通用主板简介

    开发过程中,般使用 PhoenixSuit 进行镜像文件的烧写。
    的头像 发表于 08-15 14:18 287次阅读
    佩特科技PET_A40I_P03安卓通用主板简介

    ipc820工控机怎么样用U盘重装系统

    准备工具和材料: 个容量足够的U盘(至少8GB) 个适用于IPC820的操作系统镜像文件(如Windows或Linux) 个U盘启动制作
    的头像 发表于 07-01 10:50 697次阅读

    对Ubuntu16.04系统镜像进行热点测试

    );每个标签对应镜像。所以说:镜像仓库是Docker用来集中存放镜像文件的地方类似于我们常用的代码仓库。 通常,个仓库会包含同
    发表于 05-27 17:10

    Ventoy发布1.0.98版本,修复Ext4文件系统识别问题

    Ventoy是款用于制作可启动U盘的开源工具。它能让您无需频繁格式化U盘,只需将ISO/WIM/IMG/VHD(x)/EFI等类型的文件复制至U盘即可启动,无需额外操作。您还可以
    的头像 发表于 05-20 14:21 690次阅读

    STM32MP157烧录Yocto下载完的镜像文件时发生错误的原因?

    当下载完Yocto基本镜像文件后打算烧录到系统里,却发生了这个错误,使用的.tsv文件是 FlashLayout_emmc_stm32mp157d-ev1-optee.tsv 错误是说 Error
    发表于 03-29 09:02

    如何使用Yocto更新已更改的TF-A设备树来产生新的镜像文件

    求助大佬, 我用Yocto构建了STM32MP157的镜像文件,但我需要更改和移植TF-A和U-BOOT来适配我的板子, 我按照它正点原子教程里更改了.bl2和创建了新的.dtsi设备树文件,但
    发表于 03-29 08:01

    电主轴:您如何读懂?|深圳恒兴隆机电.

    等领域。未来,随着技术的不断进步,电主轴将会更加高速、高精度、高效率和智能化,为工业生产带来更多便利和效益。以上就是深圳市恒兴隆机电有限公司小编给您们介绍的电主轴:您如何读懂的内容,希望
    发表于 03-27 10:30

    UltralIOS制作启动盘步骤

    1、打开UltraISO工具。 2、点击文件-打开-选择镜像。 3、选择好镜像后,点击启动-写入硬盘映像。 4、选择硬盘驱动器,选择好后点击写入-等待制作完成。
    的头像 发表于 03-08 14:46 568次阅读
    UltralIOS<b class='flag-5'>制作</b>启动盘步骤

    【LicheeRV-Nano开发套件试用连载体验】 + 2、镜像烧录

    /releases 1、下载官方制作好的镜像文件到ubuntu中; 2、PC插入TF卡; 3、输入命令烧录:lz4 -d licheervnano-20240206-0802.img.lz4 | sudo
    发表于 03-08 09:50

    昉·星光2 RISC-V单板计算机体验(二) - 系统环境

    系统。 解压.bz2文件, 解压后的文件就是镜像文件: 2.1.镜像烧写到TF卡 - 方法 首先需要格式化
    的头像 发表于 02-21 10:15 651次阅读
    昉·星光2 RISC-V单板计算机体验(二) - 系统环境

    rk3288移植ubuntu

    上需要以下步骤: 下载Ubuntu镜像文件:首先,你需要从Ubuntu官方网站下载适用于ARM处理器的镜像文件。在下载过程中,你应该选择适用于rk3288平台的版本。 准备SD卡和刷卡工具:将SD卡连接到计算机上,并使用刷卡工具准备好SD卡。在这
    的头像 发表于 01-09 10:59 1905次阅读

    文教您如何选择网分测试线缆?

    文教您如何选择网分测试线缆? 选择网分测试线缆很重要,因为它们对于网络性能和数据传输的稳定性起着至关重要的作用。在选择网分测试线缆时,以下几点是需要考虑的关键因素: 1. 传输速率:不同的网络
    的头像 发表于 01-08 11:07 1050次阅读

    如何构建linux开发环境和编译软件工程、应用程序

    前文介绍了如何使用官方提供的镜像文件启动开发板,本文将说明如何构建linux开发环境和编译软件工程、应用程序。
    的头像 发表于 01-03 12:31 2041次阅读
    如何构建linux开发环境和编译软件工程、应用程序