尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

从 Vivado 2017.4 到 2025.2:FPGA 软硬件协同开发流程演变与全新 BSP 生成指南

从 Vivado 2017.4 到 2025.2:FPGA 软硬件协同开发流程演变与全新 BSP 生成指南
📅 发布时间:2026/6/24 8:55:37

从 Vivado 2017.4 到 2025.2:FPGA 软硬件协同开发流程演变与全新 BSP 生成指南

文章目录

  • 从 Vivado 2017.4 到 2025.2:FPGA 软硬件协同开发流程演变与全新 BSP 生成指南
    • 前言
    • 一、 开发流程核心差异对比
      • 核心改变解析
    • 二、 Vivado 2025.2 下如何生成与配置 BSP
      • 步骤 1:从 Vivado 2025.2 导出硬件 (XSA)
      • 步骤 2:启动 Vitis Unified IDE
      • 步骤 3:创建 Platform Component(平台组件)以生成 BSP
      • 步骤 4:配置 BSP 参数(等同于旧版 BSP Editor)
      • 步骤 5:创建 Application Component 并使用该 BSP
    • 三、 开发建议与总结

前言

在 Xilinx/AMD 的 FPGA 开发生态中,Vivado 2017.4 是一个经典的里程碑版本,至今仍有许多高校教学和工业界存量项目在使用。然而,随着器件架构的演进以及软件技术的发展,最新的Vivado 2025.2已经在开发工作流、底层数据交互格式以及嵌入式软件开发工具链上发生了深刻的变化。

最显著的变化莫过于彻底废弃了原有的 Xilinx SDK,转而全面推行Vitis 统一软件平台(在 2025.2 中表现为基于 VS Code 架构的 Vitis Unified IDE)。

本文将客观对比这两个版本在开发流程上的主要差异,并详细演示在 2025.2 版本中如何导出硬件并生成/配置板级支持包(BSP)。


一、 开发流程核心差异对比

为了让大家直观了解这几年的技术演进,我们首先将核心差异总结如下:

对比维度Vivado 2017.4Vivado 2025.2
嵌入式开发软件Xilinx SDK(基于传统 Eclipse 架构)Vitis Unified IDE(基于 VS Code/Theia 架构)
硬件描述文件格式.hdf(Hardware Definition File).xsa(Xilinx Support Archive) 统一压缩格式
工程组织架构直接的 Application 工程 + 关联的 BSP 工程组件化架构 (Component-based):分为 Platform Component(平台组件)和 Application Component(应用组件)
底层 BSP 解析引擎基于传统的 MSS 规范及 Tcl 生成逻辑基于SDT (System Device Tree)机制,利用SDTgen提取设备树,并由Lopper生成驱动

核心改变解析

  1. 从 HDF 到 XSA
    2017.4 使用的.hdf实际上是一个包含硬件设计元数据的文件夹或简单压缩包。而 2025.2 采用的.xsa(Xilinx Support Archive)不仅包含硬件描述,还整合了更多的多核处理器拓扑结构以及元数据,是一个标准化、更易于在工具间传递的归档文件。

  2. 从 Eclipse (SDK) 到 VS Code 架构 (Vitis Unified)
    老版的 Xilinx SDK 基于 Eclipse,界面较为繁琐,且在现代高分屏下的适配以及插件生态上略显落后。2025.2 采用的 Vitis Unified IDE 基于 Theia 框架,提供了类似 VS Code 的轻量化、现代化编码体验,并支持更好的版本控制(Git 友好性)。

  3. 引入“组件化(Component)”概念
    在旧版中,我们习惯于在工作空间内直接创建 App Project 和 BSP Project。而在 2025.2 中,开发对象被抽象为“组件”。你需要先创建一个Platform Component(它负责管理硬件 XSA 并在其内部生成 BSP/Domain),然后再创建一个基于该平台的Application Component。


二、 Vivado 2025.2 下如何生成与配置 BSP

在 2017.4 中,我们习惯于直接在 Vivado 中点击File -> Launch SDK自动同步并生成 BSP。在 2025.2 中,由于工具链的解耦,该流程转变为“导出 XSA 并在 Vitis 中构建 Platform Component”。

以下是具体的操作步骤:

步骤 1:从 Vivado 2025.2 导出硬件 (XSA)

  1. 在 Vivado 中完成您的 Block Design 设计,依次运行 Synthesis(综合)、Implementation(实现)并生成 Bitstream。
  2. 在主菜单栏中选择File -> Export -> Export Hardware…。
  3. 在弹出的向导中点击 Next,选择Include bitstream(如果需要下载和调试裸机程序,建议包含比特流),再次点击 Next。
  4. 指定导出路径和文件名(如system_wrapper.xsa),点击 Finish。

步骤 2:启动 Vitis Unified IDE

  1. 您可以在 Vivado 菜单栏中点击Tools -> Launch Vitis IDE唤醒软件。
  2. 或者在操作系统中单独运行 Vitis,指定一个文件夹作为您的Workspace(工作空间)。

步骤 3:创建 Platform Component(平台组件)以生成 BSP

在 Vitis 2025.2 中,BSP 不能作为独立项目单独创建,而是作为 Platform Component 的一部分(即域 Domain)被自动生成:

  1. 进入 Vitis 主页,在 “Welcome” 页面点击Create Platform Component(或通过菜单栏File -> New Component -> Platform)。
  2. Component Name:为您的平台命名(例如custom_hw_platform),点击 Next。
  3. Hardware Specification:点击 Browse,选择在步骤 1 中导出的.xsa文件,点击 Next。
  4. Operating System & Processor:
    • 选择目标操作系统(裸机开发选择standalone,亦可选择freertos等)。
    • 选择目标处理器(例如 Zynq 设备的ps7_cortexa9_0或 MicroBlaze、MPSoC 的相应核心)。
  5. 点击 Finish。此时,Vitis 会自动解析 XSA 文件并为您生成基础的 BSP。

步骤 4:配置 BSP 参数(等同于旧版 BSP Editor)

在开发中,我们经常需要开启某些库(例如文件系统xilffs、轻量级网络协议栈lwip)或修改外设的驱动配置,具体操作如下:

  1. 在左侧Explorer视图中,展开刚创建的 Platform 文件夹,双击打开配置文件vitis-comp.json。
  2. 在主视窗的平台管理界面中,定位到您的 Domain(例如standalone on ps7_cortexa9_0)。
  3. 在Quick Links栏目下方,点击Board Support Package链接。
  4. 此时右侧会展现 BSP 配置界面:
    • Modify BSP Settings:在此处勾选您需要启用的库。
    • Drivers:在此处可以查看硬件外设对应的驱动版本并修改其配置参数。
  5. 配置修改完成后,按下快捷键Ctrl + S保存更改。
  6. 右键点击您的 Platform Component,在菜单中选择Build进行编译。编译完成后,BSP 相关的库文件和驱动就完全生成并编译就绪了。

步骤 5:创建 Application Component 并使用该 BSP

  1. 点击菜单栏File -> New Component -> Application。
  2. 输入应用组件的名称(如hello_world_app),点击 Next。
  3. 在选择 Platform 的页面,勾选您刚才创建并编译好的Platform Component,点击 Next。
  4. 选择对应的 Domain(即您配置了对应 BSP 的那个处理器核心域),点击 Next。
  5. 选择模板(例如Hello World),点击 Finish。
  6. 此时,您的应用工程就已经与该 BSP 正确关联。右键应用组件选择Build,即可编译出可执行文件。

三、 开发建议与总结

从旧版的 Vivado + SDK 流程迁移到现代的 Vivado + Vitis Unified 流程,开发者可能需要一些时间来适应新的 UI 交互和“组件化”概念。

  • 版本控制友好:新版的 Vitis Unified 更加贴近软件工程实践,项目结构清晰,不再像 Eclipse 版本那样容易因为相对路径问题导致工作空间损坏。建议在使用 2025.2 时将.xsa和vitis-comp.json等关键配置文件纳入 Git 进行版本管理。
  • 驱动迁移注意:由于底层采用了系统设备树(SDT)进行硬件描述,部分自定义 IP 的驱动生成机制可能与旧版有所不同。如果是老项目移植,建议阅读 AMD 官方提供的移植白皮书,以应对底层Lopper工具链在解析某些老旧 IP 驱动时可能出现的微调需求。

相关新闻

  • XMEGA EBI接口SDRAM时序配置详解:从60000ms超时到稳定运行
  • ATA6289低功耗传感器接口芯片寄存器配置与SPI驱动实战指南
  • SAM3S HSMCI接口SD卡驱动开发:从硬件配置到FATFS集成的实战指南

最新新闻

  • Rust 测试体系:从单元测试到集成测试,质量保障的完整拼图
  • Paperxie AI 科研绘图:零门槛一键产出符合期刊标准的学术可视化图表
  • 抖音无水印视频下载全攻略:3分钟学会获取纯净版短视频
  • AI 算法选型指南:从业务场景出发,避免“模型至上“的工程陷阱
  • GNSS gpio引脚解释
  • 2026年京东云 618 活动介绍及 Hermes Agent/OpenClaw配置Token Plan安装步骤全解

日新闻

  • 终极指南:如何用shadPS4在电脑上免费畅玩PS4游戏
  • 打造个性化Instagram Clone:主题定制与用户体验优化技巧
  • 未来展望:RoseTTAFold-All-Atom的发展路线图与社区支持资源汇总

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号