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

    文章

    555

    浏览量

    63710
  • JTAG
    +关注

    关注

    6

    文章

    397

    浏览量

    71547
  • TCL
    TCL
    +关注

    关注

    10

    文章

    1710

    浏览量

    88392

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

    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

    【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 588次阅读
    昉·星光2 RISC-V单板计算机体验(二) - 系统环境

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

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

    佩特科技PET_A40I_P02安卓屏产品简介

    开发过程中,般使用 PhoenixSuit进行镜像文件的烧写。
    的头像 发表于 12-21 10:34 752次阅读
    佩特科技PET_A40I_P02安卓屏产品简介

    详解pcb电路板是怎么制作

    详解pcb电路板是怎么制作
    的头像 发表于 12-05 11:18 1359次阅读

    怎么下载centos镜像文件

    CentOS 是个基于 Linux 的操作系统,它是种稳定、强大且易于使用的发行版。CentOS 镜像文件是用于安装和部署 CentOS 操作系统的文件。在本文中,我们将详细介绍如
    的头像 发表于 11-23 10:48 1080次阅读

    linux镜像制作工具

    Linux镜像制作工具是类非常重要的工具,可以用于创建定制的Linux操作系统镜像。这些工具可以帮助开发人员、系统管理员和Linux爱好者创建个性化的Linux发行版、定制化的嵌入式
    的头像 发表于 11-23 09:56 1950次阅读

    如何使用dockerfile创建镜像

    Docker是个开源的平台,用于快速构建、打包、部署应用程序的容器化工具。而Dockerfile是个文本文件,包含了组可自动化构建Docker
    的头像 发表于 11-23 09:52 681次阅读

    ubuntu20.04安装教程

    Ubuntu 20.04 的安装步骤如下: 制作启动U盘。首先下载Ubuntu 20.04的镜像文件和UltraISO(镜像制作工具)。然后使用UltraISO打开下载的
    的头像 发表于 11-13 16:59 1958次阅读

    安全引导的作用和原理是什么

    安全引导可用于保证系统的完整性,防止系统中重要镜像文件被破坏或替换。 般情况下,安全引导需要保护 • 系统的BootLoader镜像文件、 • TEE镜像文件、 • Linux内核
    的头像 发表于 11-07 15:21 1132次阅读