1. 从Vivado到SDK:硬件设计的“最后一公里”
很多刚接触Xilinx Zynq或者MicroBlaze软核开发的工程师,在Vivado里把逻辑设计跑通、生成Bitstream文件后,常常会卡在下一步:怎么让我的硬件设计在SDK里“活”起来,跑上我写的C程序?我刚开始用Vivado和SDK那会儿,也在这上面栽过跟头,总觉得这两个工具之间隔着一层纱,操作起来不够顺畅。其实,从Bitstream生成到SDK调试,是一条非常标准化的“流水线”,只要把几个关键环节打通,后面就是一马平川。
简单来说,这个过程的核心思想是**“硬件描述”的传递**。你在Vivado里搭建的FPGA硬件平台——比如Zynq的PS配置、AXI总线连接、自定义IP核、内存映射地址——所有这些信息,都需要被准确地“打包”并传递给SDK,SDK才能知道如何为这个特定的硬件编写和调试软件。这个“打包”出来的东西,就是硬件平台描述文件(通常是一个.xsa或旧版本的.hdf文件)。而Bitstream文件(.bit)则是这个硬件平台的“可执行程序”,它定义了FPGA内部逻辑门的连接方式。
所以,整个流程可以概括为三步:在Vivado中完成硬件设计并生成Bitstream;将硬件设计导出为SDK能识别的格式;在SDK中基于这个硬件平台创建软件工程并进行调试。听起来简单,但每个步骤里都有不少细节需要注意,比如导出时要不要包含Bitstream?SDK工程模板怎么选?调试配置里哪些选项是必须勾上的?这些细节往往决定了你第一次上板调试是五分钟成功,还是折腾一晚上。下面,我就结合自己踩过的坑,把这套流程掰开揉碎了讲清楚。
2. 第一步:在Vivado中生成并导出硬件平台
当你完成了Vivado中的设计、综合、实现,并且时序报告干干净净,就可以生成Bitstream了。点击左侧Flow Navigator下的 “Generate Bitstream”。这个过程可能会花点时间,取决于设计复杂度。生成成功后,Vivado会弹出一个提示框。这里我建议先别急着点“Open Hardware Manager”,因为我们首先要做的是为SDK准备“食材”。
关键操作来了:导出硬件(Export Hardware)。在Vivado顶部菜单栏,依次点击 File -> Export -> Export Hardware...。这时会弹出一个对话框,这里有个非常重要的选项:“Include bitstream”。
- 勾选“Include bitstream”:这意味着导出的硬件平台文件(
.xsa)里会包含我们刚生成的.bit文件。这样在后续SDK调试时,可以直接通过SDK对FPGA进行编程,无需再手动切换回Vivado的Hardware Manager。对于软硬件协同调试来说,这是最方便的方式,强烈建议勾选。 - 不勾选“Include bitstream”:导出的文件只包含硬件描述信息(如地址映射、IP配置)。这种方式适用于硬件平台已经预先烧录到FPGA Flash中,或者你只想单独调试软件部分的情况。
对于大多数开发调试场景,尤其是新手,一定要勾选上。导出的路径一般保持默认即可,Vivado会在工程目录下创建一个.sdk的文件夹,并把.xsa文件放在里面。
导出完成后,不要关闭Vivado。接下来,我们有两种方式启动SDK:
- 通过Vivado直接启动:点击 File -> Launch SDK。这是最无缝的方式,Vivado会自动将当前导出的硬件平台路径传递给新启动的SDK,省去手动设置的麻烦。
- 独立启动SDK:你也可以关闭Vivado,然后单独打开Xilinx SDK软件。之后需要手动 “File -> Import Hardware Specification…” 来导入刚才生成的
.xsa文件。
我个人的习惯是用第一种,直接Launch,一气呵成。SDK启动后,你会看到它的界面。第一次启动可能会让你选择工作空间(Workspace),建议就使用Vivado自


1万+

被折叠的 条评论
为什么被折叠?



