0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vivado+Vitis将程序固化的Flash的操作流程

FPGA设计论坛 来源:FPGA设计论坛 2026-01-20 16:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ZYNQ 的程序固化是指将程序代码永久存储到非易失性存储器中,使系统上电后能自动加载运行的过程。主要固化方式:QSPI Flash固化:常用方式,容量小,如启动代码、FPGA 配置。NAND Flash固化:适合大容量程序存储,如文件系统。SD卡固化:方便更新,适合开发阶段。

1 VIVADO

创建block design,添加ps ip。使能QSPI外设,其他不需要的外设或者引脚可以取消勾选。

29a691bc-f513-11f0-92de-92fbcf53809c.png

2a033a16-f513-11f0-92de-92fbcf53809c.png

运行block automation,校验。

2a648d0c-f513-11f0-92de-92fbcf53809c.png

对刚才配置好的PS生成HDL wrapper。

2ac9eaf8-f513-11f0-92de-92fbcf53809c.png

修改打包的顶层文件,将PL部分实现的顶层设计作为一个模块实例化到Wrapper里,线网同名调用即可。

2b25eb32-f513-11f0-92de-92fbcf53809c.png

生成比特流,导出硬件(xsa格式的文件)。

2b941d00-f513-11f0-92de-92fbcf53809c.png

2 VITIS

启动vitis IDE,创建app project。有三个创建project选项。platform project是一个工程的平台工程,通过xsa文件生成,也就是你在vivado里设计的工程,它在vitis里作为一个平台,其上搭建application project。选择application project,如果没有platform的话,软件会引导你生成platform。选择platform project的话,会先创建platform,然后再手动创建application project。也就是说,我们在vitis里的工程,就是application project,而我们又必须使用xsa文件生成一个硬件平台承载application project。这就是两个工程的区别和联系。

2bf5760e-f513-11f0-92de-92fbcf53809c.png

选择vivado中导出的硬件xsa文件,勾选启动部件。

2c518f3e-f513-11f0-92de-92fbcf53809c.png

注意这里的app project名称不要直接写fsbl。因为会生成

2cb33ff4-f513-11f0-92de-92fbcf53809c.png

保持默认。

2d1409d8-f513-11f0-92de-92fbcf53809c.png

选择FSBL模板。

2d7a01fc-f513-11f0-92de-92fbcf53809c.png

右击xxx_system,Build project。

2ddaa1d8-f513-11f0-92de-92fbcf53809c.png

Create boot image。创建一个名为output的文件夹用于存放启动文件:output.bif和BOOT.bin。制作启动镜像需要添加3个源文件:fsbl作为bootloader,比特流文件bit和顶层可执行文件elf作为data partition。

2e3db1c4-f513-11f0-92de-92fbcf53809c.png

烧录到flash。

2e96e3a2-f513-11f0-92de-92fbcf53809c.png

如果是第一次烧录,直接把跳帽偏置在QSPI即可,否则会出现初始化失败错误。如果flash已经烧录了一个版本,需要将跳帽偏置在JTAG,然后烧录,否则也会报错。烧录结束后再把跳帽放会QSPI。

2efeebf0-f513-11f0-92de-92fbcf53809c.png

2f606704-f513-11f0-92de-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22571

    浏览量

    640732
  • FlaSh
    +关注

    关注

    10

    文章

    1762

    浏览量

    156104
  • 存储器
    +关注

    关注

    39

    文章

    7769

    浏览量

    172433
  • Vivado
    +关注

    关注

    19

    文章

    860

    浏览量

    71509

原文标题:Vivado+Vitis将程序固化的Flash的操作流程

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用AMD Vitis Unified IDE创建HLS组件

    这篇文章在开发者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程Vitis 传统 IDE) 的基础上撰写,但使用的是 AMD
    的头像 发表于 06-20 10:06 2687次阅读
    使用AMD <b class='flag-5'>Vitis</b> Unified IDE创建HLS组件

    如何在Vitis中把设置信息传递到底层的Vivado

    Vitis完成这个过程的底层,实际调用的是VivadoVitis会指定默认的Vivado策略来执行综合和实现的步骤。当默认的Vivado
    发表于 08-02 08:03 1927次阅读
    如何在<b class='flag-5'>Vitis</b>中把设置信息传递到底层的<b class='flag-5'>Vivado</b>

    vivado固化flash失败

    本帖最后由 奈特饭 于 2017-9-3 20:41 编辑 fpga用的XILLINX的xc7a75t,软件2017.1版本的Vivadoflash用的S25FL128SAGNFI00
    发表于 09-03 20:41

    Flash程序是如何去实现自动加载固化的呢

    Flash程序是如何去实现自动加载固化的呢?有哪些固化流程呢?
    发表于 01-18 06:27

    【KV260视觉入门套件试用体验】+02.开发环境安装Vitis/Vivado(zmj)

    基本流程: 创建目录并修改目录权限 解压安装包,进入安装包目录 安装依赖库 执行安装程序 3.2软件获取 Vitis软件获取: //------Vitis软件获取: https
    发表于 08-27 21:22

    vitisvivado有什么区别和联系呢?

    vitisvivado有什么区别和联系呢
    发表于 10-16 07:55

    基于Vivado固化FLASH的压缩和提高加载速度

    今天发布一个Vivado固化 FLASH的压缩和提高加载速度的技巧和方法。这个方法对于需要快速加载程序的场合特别有用比如PCIE 需要满足200MS的加载时间才能实现上电后系统能够
    发表于 04-20 10:39 1.2w次阅读

    Vivado HLS和Vitis HLS 两者之间有什么区别

    的是VivadoIP,用于支持Vivado IP 设计流程。后者用于Vitis应用加速流程,此时,Vitis HLS会自动推断接口,无需在代
    的头像 发表于 11-05 17:43 4.1w次阅读

    Vivado硬件平台更新后Vitis工程要如何快捷更新

    Vivado硬件平台更新后Vitis工程如何快捷更新
    的头像 发表于 01-22 05:51 3228次阅读
    <b class='flag-5'>Vivado</b>硬件平台更新后<b class='flag-5'>Vitis</b>工程要如何快捷更新

    Vivado硬件平台更新后Vitis工程如何快捷更新

    Vivado硬件平台更新后Vitis工程如何快捷更新
    发表于 01-28 09:28 12次下载
    <b class='flag-5'>Vivado</b>硬件平台更新后<b class='flag-5'>Vitis</b>工程如何快捷更新

    Vitis初探—1.将设计从SDSoC/Vivado HLS迁移到Vitis

    本文介绍如何一步一步将设计从SDSoC/Vivado HLS迁移到Vitis平台。
    发表于 01-31 08:12 8次下载
    <b class='flag-5'>Vitis</b>初探—1.将设计从SDSoC/<b class='flag-5'>Vivado</b> HLS迁移到<b class='flag-5'>Vitis</b>上

    Vivado生成、固化烧录文件

    Vivado生成、固化烧录文件方法说明。
    发表于 04-21 11:08 50次下载

    如何基于Vitis中把设置信息传递到底层的Vivado

    XCLBIN 在Vitis完成这个过程的底层,实际调用的是VivadoVitis会指定默认的Vivado策略来执行综合和实现的步骤。当默认的Viv
    的头像 发表于 07-28 10:12 3135次阅读
    如何基于<b class='flag-5'>Vitis</b>中把设置信息传递到底层的<b class='flag-5'>Vivado</b>

    Vitis HLS工具简介及设计流程

    Vitis HLS 是一种高层次综合工具,支持 C、C++ 和 OpenCL 函数硬连线到器件逻辑互连结构和 RAM/DSP 块上。Vitis HLS 可在Vitis 应用加速开发
    的头像 发表于 05-25 09:43 3791次阅读

    如何在Vitis中把设置信息传递到底层的Vivado

    本篇博文继续介绍在Vitis中把Settings信息传递到底层的Vivado
    发表于 08-02 10:26 1613次阅读
    如何在<b class='flag-5'>Vitis</b>中把设置信息传递到底层的<b class='flag-5'>Vivado</b>