zynq启动和程序固化流程

普通FPGA启动

FPGA的启动方式主要包含主动模式、被动模式和JTAG模式。

主动模式(AS模式)

当FPGA器件上电时,它作为控制器从配置器件EPCS中主动发出读取数据信号,并将EPCS的数据读入到自身中,实现对FPGA的编程。这种模式下,配置信息储存在EPCS等非易失性存储器中,适用于不需要频繁升级的场景。EPCS(Erasable Programmable Configurable Serial)是一种串行存储器,专门用于存储和加载FPGA的配置数据。

被动模式(PS模式)

则是由外部计算机或其他控制器件如微控制器来控制配置过程。在此模式下,EPCS作为控制器件把FPGA当作存储器,将数据写入FPGA,以实现编程。该模式可以实现在线可编程,方便升级。

JTAG模式

是一种直接对FPGA进行编程的模式,由于其基于SRAM,断电后需要重新烧写,主要用于调试目的。JTAG接口包括TDI、TDO、TMS、TCK和可选的TRST信号线。

此外,还存在一些特定的启动方式,例如SPI闪存设备启动、micro SD卡启动和U盘启动。这些方法通过将配置文件存储在相应的介质中,然后让FPGA在上电时通过对应的接口读取配置数据来实现启动。

ZYNQ启动

ZYNQ 的启动是由 ARM 主导的,此流程包括 FPGA 程序的加载,可参考UG585文件。主要有以下两到三个阶段:

Stage 0 :在上电复位或热复位后,处理器首先执行 BootRom 里的代码,该代码用户不可更改,代码里包含了最基本的 NAND,NOR,Quad-SPI,SD 和 PCAP 的驱动。以及把 stage 1 的代码(FSBL 代码(First Stage Boot Loader))搬运到OCM 中,空间限制为 192KB。
Stage 1: 当 BootRom 搬运 FSBL 到 OCM 后,处理开始执行 FSBL 代码。FSBL主要有以下几个作用:1.初始化PS端的配置,包括初始化DDR,MIO,这些配置来源于vivado工程中对ZYNQ核的配置。2.如果有PL程序,加载PL端的bitstream。3.加载bootloader或者bare-metal程序到DDR,然后执行该程序。
Stage 2: Second stage bootloader 是可选项,一般是在运行操作系统的情况下使用,比如u-boot。

程序固化

1.新建FSBL项目到工程中

在这里插入图片描述
在这里插入图片描述
选择zynq FSBL模版
在这里插入图片描述
添加FSBL工程后,项目会自动编译。

2.创建boot.bin文件。

在这里插入图片描述
选在需要bin文件和bif文件导出的路径
在这里插入图片描述

3.添加启动文件,主要有FSBL.elf的bootloader文件,hello项目elf的datafile,以及PL的bitsream文件,没有的话可以不添加。

在这里插入图片描述
在这里插入图片描述
点击创建creat image
在这里插入图片描述
查看文件是否生成
在这里插入图片描述

4.对flash进行烧录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Mac的系统数据怎么删除 cleanmymac会乱删东西吗 cleanmymac有用吗

作为一款专业级的苹果电脑清理软件,CleanMyMac可以精准识别系统垃圾,有效防止Mac系统数据被误删。软件可以深入系统底层,清理无用的系统数据,优化苹果电脑设置,提升Mac系统性能。有关Mac的系统数据可以删吗&#xff0c…

javascript如何定义数组和从数组取值,获取数组长度

javascript如何定义数组 javascript定义数组的格式是 var 数组名[数组元素]或者 let 数组名[数组元素] javascript数组和python的列表很相似&#xff0c;真要懒的话&#xff0c;不用定义数据类型&#xff0c;不像c语言和java那样限制数据类型。 定义数组示例代码 <bod…

Unity Addressable魔改

新增回调 在使用过程中&#xff0c;输出之后还需要手动拷贝到服务器上会麻烦&#xff0c;一旦未拷贝编辑器还会因为加载&#xff08;同步加载&#xff09;的问题卡死。所以可以到Unity的PacakgeCache中修改本地仓库中的Addressable对应版本的包。找不到位置可以用everything搜…

计算机视觉之ResNet50图像分类

前言 图像分类是计算机视觉应用中最基础的一种&#xff0c;属于有监督学习类别。它的任务是给定一张图像&#xff0c;判断图像所属的类别&#xff0c;比如猫、狗、飞机、汽车等等。本章将介绍使用ResNet50网络对CIFAR-10数据集进行分类。 ResNet网络介绍 ResNet50网络是由微…

Nature Protocols:整合多组学并进行因果推理的系统框架

转载自&#xff1a;MetaAI 在生物学研究中&#xff0c;随着实验和计算技术的进步&#xff0c;生物系统研究产生了大量高通量数据。技术努力主要集中在提高吞吐量、降低成本和提升实验与计算效率。因此&#xff0c;整合不同类型组学数据&#xff0c;并通过关联分析识别关键因素…

linux 内核 红黑树接口说明

红黑树(rbtree)在linux内核中使用非常广泛,cfs调度任务管理&#xff0c;vma管理等。本文不会涉及关于红黑树插入和删除时的各种case的详细描述,感兴趣的读者可以查阅其他资料。本文主要聚焦于linux内核中经典rbtree和augment-rbtree操作接口的说明。 1、基本概念 二叉树:每个…

基于主成分分析PCA的一维时间序列信号降噪方法(Python)

主成分分析PCA是面向模式分类的特征提取最典型的工具&#xff0c;是满足上述映射准则的一种数据压缩的方法。作为经典的特征提取方法&#xff0c;是在不减少原始数据所包含的内在信息前提下&#xff0c;将原始数据集转化为由维数较少的“有效”特征成分来表示&#xff0c;使其在…

GD32F303之CAN通信

1、CAN时钟 GD32F303主时钟频率最大是120Mhz,然后APB1时钟最大是60Mhz,APB2时钟最大是120Mhz,CAN挂载在APB1总线上面 所以一般CAN的时钟频率是60Mhz,这个频率和后面配置波特率有关 2、GD32F303时钟配置 首先我们知道芯片有几个时钟 HXTAL&#xff1a;高速外部时钟&#xff1…

用理解与包容对待阿斯伯格综合征患者

在我们的社会中&#xff0c;存在着这样一个特殊的群体——阿斯伯格综合征患者。他们在社交互动、沟通交流和行为模式上有着独特的表现&#xff0c;需要我们以正确的方式去理解和对待。 我们要认识到阿斯伯格综合征是一种神经发育障碍&#xff0c;而非个人的选择或过错。患者可能…

AI Earth——中国城市绿地对大气污染干沉降作用估计数据集(DDEP)应用APP

基于数学模型量化植被的干沉降过程,突破传统站点尺度研究的局限性,结合多源卫星遥感产品形成2000-2020年中国城市绿地对PM2.5和PM10的干沉降量估计栅格数据集,对城市大气污染防治、绿地区域规划和城市可持续发展有重要意义. 应用结果 代码 #导入安装包 import os import …

本地部署,强大的面部修复与增强网络CodeFormer

目录 什么是 CodeFormer&#xff1f; 技术原理 主要功能 应用场景 本地部署 运行结果 结语 Tip&#xff1a; 在图像处理和计算机视觉领域&#xff0c;面部修复和增强一直是一个备受关注的研究方向。近年来&#xff0c;深度学习技术的飞速发展为这一领域带来了诸多突破性…

c++:面向对象的继承特性

什么是继承 (1)继承是C源生支持的一种语法特性&#xff0c;是C面向对象的一种表现 (2)继承特性可以让派生类“瞬间”拥有基类的所有&#xff08;当然还得考虑权限&#xff09;属性和方法 (3)继承特性本质上是为了代码复用 (4)类在C编译器的内部可以理解为结构体&#xff0c;派…

BJT交流分析+共发射极(CE)放大器+单片机的中断系统(中断的产生背景+使用中断重写秒表程序+中断优先级)

2024-7-10&#xff0c;星期三&#xff0c;16:58&#xff0c;天气&#xff1a;阴&#xff0c;心情&#xff1a;晴。今天终于阴天啦&#xff0c;有点风凉快一点了&#xff0c;不然真要受不了了&#xff0c;然后没有什么特殊的事情发生&#xff0c;继续学习啦&#xff0c;加油加油…

yolov5中训练长条型目标召回率低问题

对于长条目标长宽比比较大的目标&#xff0c;如长1000pix,宽度10pix等在训练时masic数据增强图片中会出现有的图片中标签遗失问题&#xff0c;将原来标注好的目标&#xff0c;但是在增强图片中没有标签&#xff0c;就会导致召回率低的问题。 在训练代码中augmentations.py文件…

MATLAB——运算符

文章目录 MATLAB——运算符算数运算符矩阵的算数运算 关系运算逻辑运算符运算优先级 MATLAB——运算符 算数运算符 MATLAB中算数运算符包括加、减、乘、除、点乘、点除等。其运算规则如下表所示&#xff1a; 运算符运算规则ABA与B相加&#xff08;A、B为数值或矩阵&#xff0…

一键安装ros及出现问题的解决方案

wget http://fishros.com/install -O fishros && . fishroscatkin_make时出现报错如下 catkin_make时出现错误提示如下&#xff1a; catkin_make Base path: /home/efsz/zmq_to_ros Source space: /home/efsz/zmq_to_ros/src Build space: /home/efsz/zmq_to_ros/build…

科普文:HTTPS协议

概叙 HTTPS&#xff08;Secure Hypertext Transfer Protocol&#xff09;即安全超文本传输协议&#xff0c;是一个安全通信通道。用于计算机网络的安全通信&#xff0c;已经在互联网得到广泛应用。 HTTPS 是基于 HTTP 的扩展&#xff0c;其相当于 HTTP协议SSL&#xff08;安全套…

0708,LINUX目录相关操作

主要是冷气太足感冒了&#xff0c;加上少吃药抗药性差&#xff0c;全天昏迷&#xff0c;学傻了学傻了 cat t_chdir.c #include <stdio.h> #include <unistd.h> #include <error.h> #include <errno.h> #include <sys/stat.h>int main(int argc…

鲁棒控制器设计方法:systune,hinfsyn,musyn,slTuner

systune和hinfsyn更侧重于基于数学模型的控制器设计&#xff0c;而musyn则特别考虑了系统的不确定性。slTuner则提供了在Simulink环境中进行控制器设计和调整的能力。 指定结构的控制器整定&#xff1a;systune, hinfstruct广义控制对象整定&#xff1a;musyn, mixed musyn, h…

应急响应-ELK日志分析系统

&#x1f3bc;个人主页&#xff1a;金灰 &#x1f60e;作者简介:一名简单的大一学生;易编橙终身成长社群的嘉宾.✨ 专注网络空间安全服务,期待与您的交流分享~ 感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持&#xff01;❤️ &#x1f34a;易编橙终身成长社群&#…