ZYNQ程序固化

news2025/1/11 18:50:33

文章目录

  • 一、简介
  • 二、固化操作
    • 2.1 生成固化文件
    • 2.2 固化到SD卡
    • 2.3 固化到Flash
  • 参考

将程序存储在非易失性存储器中,在上电或者复位时让程序自动加载运行。
这个过程需要启动引导程序( Boot Loader)参与,Boot Loader会加载FPGA配置文件,以及运行在ARM中的软件应用。

一、简介

ZYNQ Soc的启动和配置过程中,既需要PS的配置信息,又需要PL的配置信息。
ZYNQ系列是没有办法只固化PL的程序的(NorFlash、SD卡等是连接在PS端的)。

PS 支持多种片外非易失性存储器(Quad SPI Flash,NAND Flash,NOR Flash 或 SD 卡)。
ZYNQ SoC 的启动由片上的 BootROM 开始。
片上 BootROM 是 ZYNQ 芯片上的一块非易失性存储器, 它包含了 ZYNQ 所支持的配置器件的驱动,里面的代码是不可修改的。

BootROM 中的代码首先会在片外的非易失性存储器中寻找一个头文件,头文件里定义了一些启动信息,用于配置 BootROM 的运行。
BootROM 执行之后,下一个配置阶段被称为 First-Stage Boot Loader(FSBL),它是由设计者所创建的。 FSBL 可以配置 DDR 存储器和硬件设计过程中所定义的一些外设。这些器件需要在加载软件应用及配置 PL 之前就初始化完毕。
FSBL 的工作内容:

  1. 初始化 PS
  2. 如果提供了 BIT 文件,则配置 PL
  3. 加载裸机应用程序到 DDR 中
  4. 开始执行裸机应用程序

PL 的配置是通过处理器配置访问接口(Processor Configuration Access Port,PCAP)进行的,它允许对 PL 进行部分配置或者完全配置。

ZYNQ 的启动镜像需要如下文件:

  1. Boot ROM 头文件,控制 Boot ROM的设置
  2. First-Stage Boot Loader,FSBL文件
  3. PL 配置文件,即 BIT 文件
  4. PS软件应用程序,即ELF文件

Boot ROM Header文件是自动生成的。
ZYNQ SoC 使用多个模式引脚来决定配置器件的类型、软件的存储位置以及其他的系统设置,这些引脚共享PS 端的MIO 引脚。
总共有 7 个模式引脚,分别为 MIO[8:2],前四个引脚定义启动模式,第五个引脚定义是否使用 PLL,第六个和第七个引脚定义上电过程中 MIO bank0 和 bank1 的 bank 电压。
在这里插入图片描述
通常模式下,锁相环PLL是启动的,PS-CLK提供时钟信号,经过三路PLL:

  • ARM PLL,产生时钟用于CPU和互联
  • IO PLL,产生时钟用于IO外围设备
  • DDR PL,产生时钟用于DDR、DRAM 控制器和AXI-HP接口

在上电复位(Power On Reset,POR)之后,硬件会采集模式引脚的状态,禁用器件内部的模块,并根据模式引脚的设置选择是否使能 PS 的时钟锁相环。

整个系统的启动过程如下图
在这里插入图片描述

二、固化操作

2.1 生成固化文件

在Block Design 的ZYNQ Processing System模块中要使能SD外设和QSPI外设。

  • 使能SD外设,将程序固化到SD卡中。
  • 使能QSPI外设,将程序固化到Flash中。

在这里插入图片描述

在创建platform的步骤中需要勾选Generate boot components (生成启动组件)选项,勾选之后,软件会自动在硬件平台工程里生成 fsbl 的相关文件。
在这里插入图片描述

工程编译后,在系统工程和应用工程下会各自生成一个Debug文件夹。

  • 系统工程下的 Debug 文 件里包含的是 BOOT.BIN(固化文件)
  • 应用工程下的 Debug 文件里包含的是 elf文件(应用工程烧录文件)

同时,硬件平台工程文件夹下也生成了 fsbl.elf(启动引导文件)

也可以手动生成BOOT.BIN文件
在这里插入图片描述
在这里插入图片描述
bif文件是BOOT.BIN文件的参数描述。
3个文件的添加顺序不能乱。

2.2 固化到SD卡

将生成的 BOOT.bin 文件拷贝到 SD 卡根目录下。(SD卡文件系统为FAT32格式)。
将板卡启动模式设置为从SD卡启动。

2.3 固化到Flash

将程序固化到 QSPI Flash 需要使用 JTAG 下载器。( 此时要设置为从JTAG启动 )
Vitis 软件的菜单栏中点击"Xilinx->Program Flash"。
在这里插入图片描述
在弹出的 Program Flash Memory 界面中中配置BOOT.BIN文件路径和FSBL文件路径。
在这里插入图片描述
点击"Program",开始对 Flash 进行编程。
Flash编程完成后,将板卡启动模式设置为从QSPI Flash启动。
在这里插入图片描述

参考

【正点原子】启明星ZYNQ之嵌入式Vitis开发指南v1_2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1401833.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

读元宇宙改变一切笔记12_元宇宙+

1. 元宇宙的价值 1.1. 元宇宙的价值,将“超过”物理世界 1.2. 移动互联网时代不是突然降临的 1.2.1. 我们可以确定一项特定的技术是何时被创造、测试或部署的,但不能确定一个时代何时开始或何时结束 1.2.2. 转型是一个迭代的过程,在这个过…

web架构师编辑器内容-完成属性设置的优化

对于业务组件来说,其属性是有很多的,如果把所有属性都平铺在页面上,就会非常长,而且想要更改其中的某些属性,可能需要向下滚动很久才能找到,对于UI的交互不是很友好,需要对属性的不同特性进行分…

彩色图像处理之彩色图像直方图处理的python实现——数字图像处理

彩色图像的直方图处理是一种重要的图像处理技术,用于改善图像的视觉效果,增强图像的对比度,或为后续的图像处理任务(如图像分割、特征提取)做准备。彩色图像通常由红色(R)、绿色(G&a…

2023年12月 Scratch 图形化(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch图形化等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 观察下列每个圆形中的四个数,找出规律,在括号里填上适当的数?( ) A:9 B:17 C:21 D:5 答案:C 左上角的数=下面两个数的和+右上角的数

【UEFI基础】EDK网络框架(UDP4)

UDP4 UDP4协议说明 UDP的全称是User Datagram Protocol,它不提供复杂的控制机制,仅利用IP提供面向无连接的通信服务。它将上层应用程序发来的数据在收到的那一刻,立即按照原样发送到网络。 UDP报文格式: 各个参数说明如下&…

Tomcat Notes: Web Security

This is a personal study notes of Apache Tomcat. Below are main reference material. - YouTube Apache Tomcat Full Tutorial,owed by Alpha Brains Courses. https://www.youtube.com/watch?vrElJIPRw5iM&t801s 1、Overview2、Two Levels Of Web Securi…

跨部门算法迭代需求,从提出到上线的全流程实践

文章目录 引言需求评审技术方案评审模块开发系统联调QA测试产品验收经验教训 引言 最近工作中有一个算法迭代的需求,我在其中作为技术侧负责人(技术主R)推动需求完成上线。 需求涉及多个部门,前后耗时接近1个月。 我第一次在这…

transdata笔记:手机数据处理

1 mobile_stay_duration 每个停留点白天和夜间的持续时间 transbigdata.mobile_stay_duration(staydata, col[stime, etime], start_hour8, end_hour20) 1.1 主要参数 staydata停留数据(每一行是一条数据)col 列名,顺序为[‘starttime’,…

Istio

1、Istio介绍 Istio 是由 Google、IBM 和 Lyft 开源的微服务管理、保护和监控框架。 官网:https://istio.io/latest/zh/ 官方文档:https://istio.io/docs/ 中文官方文档:https://istio.io/zh/docs Github地址:https://github.com…

System.Data.SqlClient.SqlException:“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误

目录 背景: 过程: SQL Express的认识: 背景: 正在运行程序的时候,我遇到一个错误提示,错误信息如下,当我将错误信息仔细阅读了一番,信息提示的很明显,错误出现的来源就是连接数据库代码这块string connStr "s…

编写servlet

编写servlet 上述代码中的HTML页面将雇员ID发送给servlet。要创建servlet读取客户机发送的雇员ID并检索雇员的详细信息,需要执行以下步骤: 在“项目”选项卡中右击“Employee”节点,然后选择“新建”→Servlet。将显示“新建Servlet”对话框。在“类名”文本框中输入Employ…

【Kaggle】泰坦尼克号生存预测 Titanic

文章目录 前言案例背景数据集介绍加载数据集探索性数据分析(EDA)可视化特征和目标值之间关系缺失值分析 数据预处理数据清洗缺失值处理去除噪声并且规范化文本内容 数据转换 数据划分建模逻辑回归模型决策分类树模型随机森林模型梯度提升树模型 预测LR 完…

C++笔记之bool类型的隐式转换现象与应用

C++笔记之bool类型的隐式转换现象与应用 —— 《C++ Primer Plus》 文章目录 C++笔记之bool类型的隐式转换现象与应用1.C++中,有几种类型和表达式可以隐式转换为bool类型2.使用explicit关键字来声明显示转换运算符,这样只有在使用static_cast<bool>时才能将对象转换为…

SpringCloud之OpenFeign的学习、快速上手

1、什么是OpenFeign OpenFeign简化了Http的开发。在RestTemplate的基础上做了封装&#xff0c;在微服务中的服务调用发送网络请求起到了重要的作用&#xff0c;简化了开发&#xff0c;可以让我们跟写接口一样调其他服务。 并且OpenFeign内置了Ribbon实现负载均衡。 官方文档…

GEE:最小距离分类器(minimumDistance)分类教程(样本制作、特征添加、训练、精度、最优参数、统计面积)

作者:CSDN @ _养乐多_ 本文将介绍在Google Earth Engine (GEE)平台上进行最小距离分类(minimumDistance)的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量(各种指数、纹理特征、时间序列特征、物候特征等),运行…

中仕教育:国考调剂和补录的区别是什么?

国考笔试成绩和进面名单公布之后&#xff0c;考生们就需要关注调剂和补录了&#xff0c;针对二者之间的区别很多考生不太了解&#xff0c;本文为大家解答一下关于国考调剂和补录的区别。 1.补录 补录是在公式环节之后进行的&#xff0c;主要原因是经过面试、体检和考察&#…

高速CAN总线 m 个节点竞争总线时 电压分析(共 n 个节点)

电路的串并联关系参考<<高速CAN总线 A C节点竞争总线时 电压分析(共ABC三个节点)>> M个节点同时发送显性电平 如下图: 由上图可以看出,上下并联的M组30Ω的等效电阻R0 &#xff08;30/m&#xff09; Ω 中间并联的电阻R1 由公式&#xff1a; 1/R1 1/120 1/120…

LV.19 D1 C++简介 学习笔记

一、C概述 1.1 C的前世今生 C是一种被广泛使用的计算机程序设计语言。它是一种通用程序设计语言&#xff0c;支持多重编程范式&#xff0c;例如过程化程序设计、面向对象程序设计、泛型程序设计和函数式程序设计等。 C的发展&#xff1a; 1.2 C的主要应用领域 C是一门运用很广…

海外抖音TikTok、正在内测 AI 生成歌曲功能,依靠大语言模型 Bloom 进行文本生成歌曲

近日&#xff0c;据外媒The Verge报道&#xff0c;TikTok正在测试一项新功能&#xff0c;利用大语言模型Bloom的AI能力&#xff0c;允许用户上传歌词文本&#xff0c;并使用AI为其添加声音。这一创新旨在为用户提供更多创作音乐的工具和选项。 Bloom 是由AI初创公司Hugging Fac…

AtCoder Regular Contest 170(A~B)

A - Yet Another AB Problem 给你两个字符串S和T&#xff0c;你可以对S执行操作&#xff0c;选择两个字符&#xff0c;将前面的改为A&#xff0c;后面的改为B&#xff0c;最少操作几次可以把S改成T。如果改不成就输出-1。 从左往右一个一个改过去&#xff0c;分类讨论&#x…