ZYNQ自带ARM核处理器的FPGA芯片烧写及最小系统搭建,bit文件烧写

这篇具有很好参考价值的文章主要介绍了ZYNQ自带ARM核处理器的FPGA芯片烧写及最小系统搭建,bit文件烧写。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 1. 烧写背景

FPGA芯片,如果是ZYNQ系列这种自带ARM处理核的器件,包含PS和PL处理部分,只是逻辑的debug可以只使用PL部分。但是如果要实现文件的烧写就必须通过PS部分进行烧写。因为与外部flash芯片相连的QSPI是通过PS部分连接的,且也需要PS部分对FPGA的boot进行配置。

zynq烧录,设计经验,fpga开发

 

Zynq7000 SOC 芯片上电后,运行的是 ARM 系统(PS)。然后再通过 ARM 系统软件部分加载 FPGA 的比特流文件.bit 至 FPGA(PL),启动 FPGA 的逻辑功能。

  • 2. 烧写步骤
2.1.  PL端步骤

  PL部分逻辑测试完成后,开始添加PS部分调用。

  1. IP INTEGRATOR --> Create Block Design-->add--> ZYNQ7 Processing System生成一个PS的调用模块

zynq烧录,设计经验,fpga开发

zynq烧录,设计经验,fpga开发  

2. 点击 Peripheral I/O Pins ,会出现以下的 IO 配置界面。
点亮下面Quad SPI Flash,还有UART0,如果还有其他管脚,也对应的点亮就行。

zynq烧录,设计经验,fpga开发

 

3. 在MIO Configuration中配置对应的管脚和电频,要与peripheral I/O pins中绿色部分一致。

zynq烧录,设计经验,fpga开发

 

4. 时钟配置

zynq烧录,设计经验,fpga开发

 5. DDR存储配置,也可以不enable DDR。DDR的信号,例如MT41K256M16HA-125黄色这部分型号必须一致,其他的可以不一样。

zynq烧录,设计经验,fpga开发

 

6. 完成后 Run Block Automation,自动将管脚的输入输出引脚加上了。

zynq烧录,设计经验,fpga开发

 

点击完成后变成:

zynq烧录,设计经验,fpga开发

 

7. 这两个脚可能需要连线,有的教程没有这一步,开发板入门教程连起来了,但是如果不连起来,可能会报错,可能与版本有关。

zynq烧录,设计经验,fpga开发

 

8. 在 Source 窗口中选中 design_1.bd,右键并先后选择Generate Output Projects 和 Create HDL Wrapper 选项操作。生成后如下图所示:

zynq烧录,设计经验,fpga开发

 

9.  把design_1.v例化进工程顶层,修改顶层代码,并将接口引出到顶层输出接口。PS端的接口不用编写XDC文件。

zynq烧录,设计经验,fpga开发

 

10 .保存并重新生成bit文件,再导出硬件。

选择菜单 File->Export->Export Hardware…导出,包含bitstream 文件。

硬件导出后,选择菜单 File->Launch SDK,启动 SDK 开发环境,完成PL端的操作。

zynq烧录,设计经验,fpga开发

 

2.2.  PS端步骤

PS端用于生成配置文件和引导文件,在SDK中进行操作。

  1. 建立hello word工程

File–New–Application Project,设置如下:

zynq烧录,设计经验,fpga开发

zynq烧录,设计经验,fpga开发 

 

  1. 建立fsbl工程

这里的FSBL文件就是通过QSPI启动需要的引导文件,需要我们在SDK中新建,具体操作与建HELLO WORD工程一致,在Templates页面选择Zynq FSBL即可。

   zynq烧录,设计经验,fpga开发

zynq烧录,设计经验,fpga开发 

 

2.3.  生成.bin/.mcs格式文件

将程序烧写到Flash中实际就是将.bin文件或.mcs文件写入Flash,这里生成我们需要的.bin文件或.mcs文件,.bin格式文件用于SD卡启动与QSPI Flash启动,.mcs格式只能用于QSPI Flash启动。

1. 右击hello_test工程,选择create boot image

zynq烧录,设计经验,fpga开发

 

标记1:可以选择生成文件格式。

标记2:生成.bin/.mcs主要需要3个文件,分别是fsbl.elf文件,PL端生成的.bit文件与SDK中工程的.elf文件,需要注意的是这三个文件的顺序一定要正确。

由于这里用的是hello例程,系统已将3个文件导入。如果系统没有导入需要我们自己到工程文件夹下依次添加。

可以在工程文件夹下找到boot的文件了

zynq烧录,设计经验,fpga开发

zynq烧录,设计经验,fpga开发 

 

  • 程序固化
3.1 通过SDK软件固化

打开 Xilinx–Program Flash烧写界面
1.导入生成的.bin文件。
2.导入fsbl工程下的fsbl.elf文件。
3.在擦除和烧写完成是进行自检。也可以不要3这个步骤速度更快

zynq烧录,设计经验,fpga开发

 

然后点击Program就可以完成烧写。

3.2 通过Vivado软件固化

通过JTAG连接板卡,在FPGA芯片选项右键,选择Add Configuration Memory Device,然后选择板卡上对应的Flash型号。

这个界面也是选择的在SDK生成的.bin文件以及FSBL文件,然后点OK就可以完成烧写。

以上就是全部ZYNQ系列FPGA通过QSPI启动的固化方式的介绍。

注意:一定要正确配置PS核的信息,包括DDR3型号和BANK的电压

  • 烧写不成功处理

建一个这样类型的design,需要注意一下方面:

1.上电后不能让FPGA加载一个错误的版本,如空的rt的bin,如果已经有错误的则一直按着复位键,让版本不启动再烧写。

2.bd问题,要及时更新,如果之前出现有错误的版本,需要全部删除了,重新再建工程。

3.三大步的流程问题。

4.如果选择了DDR,DDR的设定位宽一定要与实际中的位宽设定一致,是16bit还是32bit。

5.修改win11的环境变量(可能没什么用)

在系统环境变量里面加入

XIL_CSE_ZYNQ_UBOOT_QSPI_FREQ_HZ = 10000000

重启电脑文章来源地址https://www.toymoban.com/news/detail-718505.html

到了这里,关于ZYNQ自带ARM核处理器的FPGA芯片烧写及最小系统搭建,bit文件烧写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 处理器芯片系列:群雄逐鹿,谁主沉浮(一)

    本文原创发表于微信公众号:霁月清空,如需转载请注明出处。敬请关注公众号获得最新文章。 本文微信公众号链接:霁月清空原创处理器芯片系列:群雄逐鹿,谁主沉浮(一) CPU、GPU、FPGA,DPU,ASIC,TPU……这是最坏的时代,群雄争霸,烽烟四起,闹哄哄你方唱罢我登场;

    2024年02月09日
    浏览(40)
  • 云计算技术的发展与芯片处理器的关系

    CPU:中央处理器,代表人们对于通用算力的需求,比如智能手机,电脑,以及他们带来的互联网和移动互联网的兴起。 GPU:图形处理器,代表人们对于高性能并行算力的需求。如:人工智能,大数据的应用 CIPU:云基础设施处理器(阿里云)。对云计算的基础设施进行专门的

    2024年02月03日
    浏览(38)
  • ARM微处理器体系架构

    ARM(Advanced RISC Machine)微处理器体系架构是一种广泛应用于嵌入式系统和移动设备的处理器架构。它以其低功耗、高性能和高度可定制化等特点而闻名。本文将深入探讨ARM微处理器体系架构的原理、特点和应用场景。 以下是我整理的关于嵌入式开发的一些入门级资料,免费分

    2024年03月26日
    浏览(61)
  • 一文深入搞懂ARM处理器架构

    典型的微处理器由控制单元、程序计数器(PC)、指令寄存器(IR)、数据通道、存储器等组成 。 指令执行过程一般分为:   取指: 从存储器中获得下一条执行的指令读入指令寄存器; PC: 程序计数器, 总是指向下一条将要执行的指令; IR: 指令寄存器,用于保持已取得指令

    2024年04月28日
    浏览(53)
  • ARM架构版本及处理器系列详细介绍

    ARM是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器,它只设计芯片而不生产。ARM的经营模式在于出售其知识产权核(IP core),将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供技术服务。         ARM的版本

    2024年02月16日
    浏览(50)
  • [ARM 汇编]进阶篇—异常处理与中断—2.4.2 ARM处理器的异常向量表

    异常向量表简介 在ARM架构中,异常向量表是一组固定位置的内存地址,它们包含了处理器在遇到异常时需要跳转到的处理程序的入口地址。每个异常类型都有一个对应的向量地址。当异常发生时,处理器会自动跳转到对应的向量地址,并开始执行异常处理程序。 异常向量表

    2024年02月09日
    浏览(78)
  • ARM微处理器的指令集概述

    ARM处理器是基于精简指令集计算机(RISC)原理设计的 ,指令集和相关译码机制较为简单。ARM微处理器的指令集是加载(Load)/存储(Store)型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来

    2024年02月02日
    浏览(53)
  • 『ARM』和『x86』处理器架构解析指南

    如果问大家是否知道 CPU,我相信不会得到否定的答案,但是如果继续问大家是否了解 ARM 和 X86 架构 ,他们的区别又是什么,相信 可能部分人就会哑口无言 了 目前随着深度学习、高性能计算、NLP、AIGC、GLM、AGI 的技术迭代,助力大模型快速发展,对于 多元算力结合(CPU+GP

    2024年02月08日
    浏览(62)
  • 芯片验证板卡设计原理图:446-基于VU440T的多核处理器多输入芯片验证板卡

    一、板卡概述         基于XCVU440-FLGA2892的多核处理器多输入芯片验证板卡为实现网络交换芯片的验证,包括四个FMC接口、DDR、GPIO等,北京太速科技芯片验证板卡用于完成甲方的芯片验证任务,多任务功能验证。 Figure 1.1 验证板卡框图 二、技术指标   1)FPGA 外接4 路FMC-HPC;

    2024年02月11日
    浏览(47)
  • 嵌入式ARM设计编程(三) 处理器工作模式

    文章和代码已归档至【Github仓库:hardware-tutorial】,需要的朋友们自取。或者公众号【AIShareLab】回复 嵌入式 也可获取。 (1) 通过实验掌握学会使用msr/mrs 指令实现ARM 处理器工作模式的切换,观察不同模式下的寄存器,加深对CPU 结构的理解; (2) 通过实验掌握ld 中如何使

    2024年02月03日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包