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

    文章

    592

    浏览量

    69681
  • JTAG
    +关注

    关注

    6

    文章

    415

    浏览量

    75274
  • TCL
    TCL
    +关注

    关注

    11

    文章

    1815

    浏览量

    91809

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    画原理图没镜像、已安排打板?讲清补救与预防

    在PCB设计的实际操作中,“原理图未镜像、PCB布局或生产文件导出错误导致整板镜像”是很多工程师都曾踩过的坑,尤其当已经提交打板、甚至拿到实物后才发现问题,往往会陷入返工成本高、不返工无法正常
    的头像 发表于 04-17 16:45 1730次阅读
    画原理图没<b class='flag-5'>镜像</b>、已安排打板?<b class='flag-5'>一</b><b class='flag-5'>文</b>讲清补救与预防

    使用Dockerfile构建镜像的详细步骤

    个RUN装几十个包不清理缓存,最终镜像1.2GB,构建次15分钟,里面还带着gcc和make这些生产环境根本不需要的东西。
    的头像 发表于 02-26 09:43 411次阅读

    深入解析U-Boot image.c:RK平台镜像处理核心逻辑

    的SD/NAND/SPI等启动方式做了专属适配。本文将拆解image.c的核心逻辑,梳理RK平台镜像处理的关键流程,帮助开发者理解和调试启动相关问题。 文件定位与核心作用 image.c是U-Boot中
    的头像 发表于 02-24 16:46 1797次阅读
    深入解析U-Boot image.c:RK平台<b class='flag-5'>镜像</b>处理核心逻辑

    【服务器数据恢复】EVA存储硬盘离线,LUN丢后数据如何“重生”?

    将故障EVA存储设备上的所有硬盘编号后取出。硬件工程师对所有硬盘进行硬件故障检测。检测后发现掉线硬盘不存在物理故障和坏道。将所有硬盘以只读方式做全盘镜像备份,镜像完成后将所有磁盘按照编号还原到原EVA存储设备中,后续的数据分析和数据恢复操作都基于
    的头像 发表于 01-22 17:39 1253次阅读

    别再装系统了!Linux 镜像到底是什么?篇讲到你怀疑人生

    多小、环境多复杂,如何快速安装、部署和维护 Linux 系统,都是开发者和运维人员必须掌握的核心技能。 这时,“Linux 镜像文件”就显得尤为重要。它就像份完整的系统快照,让你可以在不同设备之间快速迁移、复制,甚至批量部署。理解镜像
    的头像 发表于 12-03 16:12 1036次阅读
    别再装系统了!Linux <b class='flag-5'>镜像</b>到底是什么?<b class='flag-5'>一</b>篇讲到你怀疑人生

    开发者指南 | 华为昇腾Ascend310B启动镜像制作与烧写全攻略

    在嵌入式Linux开发中,启动镜像制作与烧写是硬件部署的核心环节。本文详细解析华为昇腾Ascend310B启动镜像的完整流程,从环境搭建到烧写验证,为开发者提供站式解决方案。华为昇
    的头像 发表于 11-24 18:03 2435次阅读
    开发者指南 | 华为昇腾Ascend310B启动<b class='flag-5'>镜像</b><b class='flag-5'>制作</b>与烧写全攻略

    【教程】文教会你CE31-MD01X从绑定到场景控制

    本教程用于指导我司CE31-MD01X的使用。:图文教程第步:注册登录小程序打开微信小程序,搜索亿佰佰特云智能,界面右下角点击我的,点击授权登录,绑定账号。第二步:添加设备点击加号,再点击扫码
    的头像 发表于 11-06 19:33 718次阅读
    【教程】<b class='flag-5'>一</b><b class='flag-5'>文教</b>会你CE31-MD01X从绑定到场景控制

    【创龙TLT113-MiniEVM开发板试用体验】启动卡制作+上电启动

    、准备工作 所需材料 物品 要求 TF卡 ≥8GB,Class10高速卡 读卡器 USB 3.0接口(确保稳定传输) 开发板配件 Type-C数据线、12V电源 工具包下载 镜像文件
    发表于 08-05 20:20

    【创龙TL3562-MiniEVM开发板试用体验】1、从系统启动卡制作开始

    启动”选项,点击“选择固件”选择目标 Ubuntu 系统镜像文件,点击“开始创建”, 在弹出窗口中点击“是(Y)”,制作 SD 启动卡。 2、SD卡启动 评估板断电,将 SD 启动卡插至评估板
    发表于 07-27 21:09

    Oracle数据恢复—格式化分区导致Oracle数据库报错的数据恢复案例

    完成后将所有硬盘按照原样还原到原服务器中,后续的数据分析和数据恢复操作基于镜像文件进行,避免对原始磁盘数据造成二次破坏。基于镜像文件分析所有硬盘底层数据。发现服务器内丢失的数据是数据库文件,导致数据库报错。
    的头像 发表于 07-22 14:06 526次阅读
    Oracle数据恢复—格式化分区导致Oracle数据库报错的数据恢复案例

    【Milk-V Duo S 开发板免费体验】1-开箱和烧写镜像

    包装之后,可以看到小巧的开发板上紧凑地排列了各种外设。 镜像烧写 DuoS在Github上提供了各种镜像文件。 不知道为什么原因,我试了多种镜像,最后发现只有2.0的RISC-V镜像
    发表于 07-02 20:42

    【VisionFive 2单板计算机试用体验】+ 烧写系统

    :balenaEtcher 3.2、安装镜像 下载的系统,使用SD目录下的镜像文件 解压镜像文件 烧录镜像 四、启动系统 4.1、设置启动模式 将烧写完成的TF卡插入开发板,设置为
    发表于 06-29 22:36

    ElfBoard技术贴|如何在ELF 2开发板中适配 AX200NGW WiFi模块

    ,指导屏幕前的小伙伴完成这适配过程。方法:重新制作镜像文件该方法是在SDK源码中,将内核编译生成的模块文件部署到
    的头像 发表于 06-24 09:09 2769次阅读
    ElfBoard技术贴|如何在ELF 2开发板中适配 AX200NGW WiFi模块

    服务器数据恢复—ocfs2文件系统被格式化为Ext4文件系统的数据恢复案例

    服务器存储数据恢复环境&故障: 人为误操作将Ext4文件系统误装入台服务器存储上的Ocfs2文件系统数据卷上,导致原Ocfs2文件系统被格式化为Ext4
    的头像 发表于 06-10 12:03 885次阅读
    服务器数据恢复—ocfs2<b class='flag-5'>文件</b>系统被格式化为Ext4<b class='flag-5'>文件</b>系统的数据恢复案例

    Linux文件系统打包及镜像制作,触觉智能RK3562开发板演示

    本文介绍Linux开发板文件系统打包及镜像制作的方法,演示Linux文件系统打包及镜像制作,适用
    的头像 发表于 04-28 16:45 1161次阅读
    Linux<b class='flag-5'>文件</b>系统打包及<b class='flag-5'>镜像</b><b class='flag-5'>制作</b>,触觉智能RK3562开发板演示