ZYNQ之路--程序固化教程

这篇具有很好参考价值的文章主要介绍了ZYNQ之路--程序固化教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         我们刚开始使用ZYNQ时,习惯使用JTAG在线将ZYNQ的PS和PL部分的配置文件烧录进ZYNQ,这样方便我们进行调试,但是却带来了掉电配置文件丢失的问题,因此,在我们学习ZYNQ的路上,必须要学会如何把配置文件保存进非易失的存储器件当中去。

配置文件有哪些?

        ZYNQ的配置信息包括了PS端程序以及PL端配置信息,其体现在文件上分别为:

  • PL端的Bit文件
  • PS端的ELF文件

        当然,仅仅有这两个文件还不够,我们还需要一段代码帮助这两个文件配置,这也就是" FSBL.elf "文件。

 ZYNQ的启动顺序

        对于ZYNQ Soc来说,PS端是作为主器件,率先上电,并且承当对PL端的配置任务,因此我们需要将BIT文件存储到和PS端连接的片外非易 失性存储器中:

  • Quad SPI Flash
  • NAND Flash
  • NOR Flash
  • SD 卡

         并且由ZYNQ当中固化的的引导程序会一步步引导PL的配置和PS端程序的执行。具体来说,ZYNQ上电后先会执行片上的BootROM,BootROM 中的代码首先会在片外的非易失性存储器中寻找一个头文件,头文件里定义了一些启动信息,用于配置 BootROM 的运行。

        BootROM执行完毕后,就进入First-Stage Boot Loader(FSBL)帮助配置PS和PL端具体顺序如下: 

  1.  初始化 PS;
  2.  配置 PL;
  3. 加载裸机应用程序到 DDR 中,或者加载 Second-Stage Boot Loader(SSBL);
  4. 开始执行裸机应用程序,或者 SSBL(用于操作系统引导)

程序固化需要整合的文件

        由ZYNQ引导程序的流程我们知道,我们应该在PS端所连接的外部非易失存储器中放置以下文件:

  1. BootROM的头文件,用来控制BootROM设置ZYNQ,比如就地执行、加密、FSBL 偏移量、镜像文件大小等;
  2. First-Stage Boot Loader;
  3. PL 配置文件,即 BIT 文件;
  4. 运行在 PS 上的软件应用程序;

        但是事实上我们并不需要将这些文件一股脑都烧录进存储器中,我们会将FSBL以及Bit文件和C程序(体现为elf文件)在SDK中一起制作成一个启动镜像,之后只需要烧录镜像到存储器当中即可。

制作镜像过程

        思路

        制作FSBL----依次添加FSBL、bit、elf----生成镜像;一共三步即可

        详细步骤 

        首先我们要制作FSBL文件;

        打开SDK-->New application project,并且按部就班填好工程名:

zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

        之后工程模板选择ZYNQ FSBL

zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         之后对工程进行编译(快捷键CTRL + B),这样FSBL文件就成功生成了,并且在工程文件夹下的DeBug文件夹下能找到

        为了方便制作镜像,我们将FSBL文件、FPGA配置文件(Bit)、程序配置文件(elf)放到同一个文件夹下:

        zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         之后开始正式制作镜像:Xilinx---Creat Boot Imagezynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         在弹出来的界面中先配置好路径,这里有两个文件,第一个后缀.bif是镜像配置文件,第二个后缀.bin则是我们需要的镜像文件。zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         路劲配置好后,点击ADD,依次添加FSBL和FPGA配置文件以及程序配置文件,注意这里添加顺序十分重要。

zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         FSBL文件添加时,类型需要选择bootloader,其余的两个文件选择默认datafile即可:

zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         添加完毕之后,即可点击Creat Image,生成镜像文件:

zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         我们可以在文件夹中查看到我们生成的 .bin文件,至此镜像制作完成。

zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

 镜像烧录

        SD卡

        SD卡启动比较简单,首先我们要确保SD卡格式化为Fat32格式,将BOOT.bin文件拷贝进SD卡(注意名字一定得是BOOT),最后将我们的Boot引脚调整为从SD启动即可。

        QSPI Flash

        Flash启动就类似FPGA的程序固化,我们需要先使用JTAG调试器将镜像烧录进Flash,之后再调整启动模式为QSPI Flash启动即可。

        首先点击Xilinx里的Program Flashzynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         之后定位BOOT文件和FSBL文件,再点击Program进行编程即可(注意此时开发板启动模式需要调整到JTAG启动)zynq程序固化,佛系学FPGA&&数字设计,嵌入式硬件,fpga开发,硬件工程,学习

         之后将启动模式调整到QSPI Flash即可!

文中图片部分取自网络,仅做教学用途,联系侵删。文章来源地址https://www.toymoban.com/news/detail-788116.html

到了这里,关于ZYNQ之路--程序固化教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【ALINX】FPGA ZYNQ视频教程AX7020教程—02_Vivoda初体验LED灯工程

    【ALINX】FPGA ZYNQ视频教程——AX7010/AX7020教程——FPGA实验篇 File=New Project 工程文件命名:不能出现中文、空格等非法字符 选择芯片型号: 视频定位链接 03:45 AX7020开发板速度选择“ -2 ”;型号选择“ xc7Z020clg400-2 ” ** Vivado窗口介绍 视频定位链接05:44 视频定位链接 08:43 1.选择点

    2024年02月06日
    浏览(49)
  • ZYNQ之路--初级开发流程介绍

            很多有玩过FPGA的老兄入手了ZYNQ,也明白什么PS+PL的开发方式,但是不知道开发ZYNQ究竟要怎么样做。本篇博客是本人阅读正点原子等开发资料的一些感悟,希望能让大家对ZYNQ的开发流程有一个更清楚的认识。         ZYNQ类似于一个 单片机 + FPGA的结构,其实我觉得如

    2024年02月05日
    浏览(45)
  • Zynq和FPGA区别——快速认识Zynq开发

    ZYNQ包含了2个部分,双核的ARM和FPGA。根据Xilinx提供的手册,用ARM实现的模块被称为PS,而用FPGA实现的模块被称为PL。简单的说FPA更偏向于逻辑,不跑系统。 ZYNQ内部包含PS和PL两部分,ZYNQ开发有一下四种方式: ZYNQ是赛灵思公司(Xilinx)推出的新一代全可编程片上系统,它将处

    2024年02月16日
    浏览(54)
  • Zynq(2):MIO,EMIO点灯之路

    由于个人原因,最近一直在对基础知识的复习,所以ZYNQ的后续学习记录,一直没有更新。 FLAG:新年新气象,争取2022年春节之前将所有关于ZYNQ中ARM裸机部分内容更新完毕,主要是ARM外设。 ZYNQ 分为 PS 和 PL 两部分,那么器件的引脚(Pin)资源同样也分成了两部分。ZYNQ PS 中的

    2024年02月13日
    浏览(41)
  • ZYNQ之路--搞清楚Xilinx开发软件之间的关系

            各位大佬晚上好,最近刚刚开始学习ZYNQ-7000系列的开发,很快就遇到了第一个困难:Xlinx的开发软件,实在是,太,多,了!我很疑惑什么 Vivado,VivadoHLS,Vitis,Vits AI,Vitis HLS,SDK,Petalinux等各种繁杂的软件之间的关系到底是如何的,以及我究竟该下那些软件呢?

    2024年02月13日
    浏览(53)
  • 高云FPGA系列教程(2):FPGA点灯工程创建、程序下载和固化

    本文是高云FPGA系列教程的第2

    2023年04月08日
    浏览(59)
  • ZYNQ之路--Xilinx AXI-Full-Master实例代码翻译

    目录 前言 代码解析         在我学习过程中遇到了第一个认知上的门槛:AXI协议。试想一个场景:我PL端的IP要通过AXI-Full协议给PS端传输数据,我该怎么做?         首先肯定是创建一个带有AXI-Full-Matser的接口          下一步,Xilinx官方会给我们一个接口的实例文件:

    2024年02月11日
    浏览(56)
  • ZYNQ之FPGA学习----Vivado功能仿真

    阅读本文需先学习: FPGA学习----Vivado软件使用 典型的FPGA设计流程,如图所示: 图片来自《领航者ZYNQ之FPGA开发指南》 Vivado 设计套件内部 集成了仿真器 Vivado Simulator ,能够在设计流程的不同阶段运行设计的功能仿真和时序仿真,结果可以在 Vivado IDE 集成的波形查看器中显示。

    2023年04月18日
    浏览(51)
  • ZYNQ之FPGA 片内ROM读写测试实验

    FPGA本身是SRAM架构的,断电之后程序就会消失,那么如何利用FPGA实现一个ROM呢,我们可以利用FPGA内部的RAM资源实现ROM,但这不是真正意义上的ROM,而是每次上电都会把初始化的值先写入RAM。Vivado软件中提供了ROM的IP核 , 我们只需通过IP核例化一个ROM,根据ROM的读时序来读取R

    2024年02月07日
    浏览(44)
  • ZYNQ(FPGA)与DSP之间SRIO通信操作

    一、基于XQ6657Z35-EVM平台ZYNQ与DSP之间通信例程 1.1ZYNQ 与DSP之间SRIO通信 1.1.1例程位置 ZYNQ例程保存在资料盘中的DemoZYNQPLsrio_gen2_0_ex文件夹下。 DSP例程保存在资料盘中的DemoDSPXQ_SRIO_x4LANE_5Gbps文件夹下。 1.1.2功能简介 实现DSP与ZYNQ之间SRIO接口传输功能。 DSP与ZYNQ之间SRIO通道宽度

    2024年02月09日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包