配置IIC控制EEPROM

vivado工程

hello world的vivado工程的基础上,修改硬件配置。

进行参数的修改

点击“Open Block Design"。将会打开Hello World工程所创建的bd文件:

VeryCapture_20250618112644

在hello_world工程的基础上只需要添加IIC的配置:(EMIO:用于扩展FPGA的I/O功能,使其能够与外部设备进行连接和通信。它允许FPGA通过PS部分与外部的低速I/O设备交互。)

根据核心板和底板原理图选择选择正确的引脚约束:

image-20250623115208054

 

image-20250623115840860

 

VeryCapture_20250618113218

点击OK。

右击IIC_0点击Make External,软件会自动在顶层模块中自动生成与 IIC_0 接口对应的外部引脚:

VeryCapture_20250618113810

直接按快捷键 Ctrl+S 保存当前设计。接下来点击下图箭头所指示的按钮,验证当前设计。验证完成后弹出对话框提示没有错误或者关键警告,点击“OK”,如下图所示:

VeryCapture_20250618113838

生成顶层文件:在 Sources 窗口中,选中 Design Sources 下的 sysetm.bd, 这就是我们刚刚完成的 Block Design 设计。右键点击 sysetm.bd,在弹出的菜单栏中依次点击“Reset Outpu Products”和“Generate Output Products”:

VeryCapture_20250618113858

在“Hierarchy”标签页再次右键点击 system.bd,然后选择“Create HDL Wrapper”:

VeryCapture_20250618135331

Run Synthesis

点击Run Synthesis,直接点击OK:

VeryCapture_20250618114617

VeryCapture_20250618114647

成功之后会有提示框弹出:选择第二个选项:

VeryCapture_20250618115003

打开后的界面如下:

VeryCapture_20250618115207

由于我们用了EMIO,所以我们接下来要添加引脚约束,此处可有两种方法添加约束:

image-20250623120350009

 

Run Implementation

点击Run Implementation,点击Yes:提示信息是当设计文件有改动导致之前的综合结果不再有效时,工具会提示用户是否重新进行综合操作,并且在综合完成后会自动进行实现步骤。

由于我们添加了约束,所以导致上一步的Run Synthesis结果改变,此时会弹出

VeryCapture_20250618120042

点击保存约束文件:

VeryCapture_20250618120117

点击OK:

VeryCapture_20250618120727

选择中间的选项则直接跳到了下一步:生成比特流文件:

VeryCapture_20250618120938

Generate Bitstream

生成比特流文件成功后直接点击Cancel:

VeryCapture_20250618121208

生成新的.xsa文件

点击File->Export->Export Hardware:

VeryCapture_20250618121240

此时选择选项二,包括比特流:

VeryCapture_20250618121259

打开vitis,更新.xsa文件

右击创建的平台工程,点击Update Hardware Specification:选择.xsa文件路径,出现以下弹框,点击OK,说明更新成功。好的习惯:更新完之后继续右击平台工程Build一下。

VeryCapture_20250618121412

VeryCapture_20250618121446

VeryCapture_20250618121501

在平台工程上创建新的应用工程

在已有的平台工程上创建新的应用工程参考hell world工程的创建,唯一不同的点在选择模板时选择一个Empty Applicaiton(C)。我们需要手动去写代码,因为软件里没有此项目的模板代码:

VeryCapture_20250618121953

创建好后右击Src->new->file:

VeryCapture_20250618122207

VeryCapture_20250618145806

具体代码见src文件下的文件。

具体实现可参考vitis自带的工程examples:

image-20250808142335994

image-20250808142508287

编译调试

编译工程成功后,用type-c USB线将开发板的JTAG和电脑连接,使用另外一根type-c USB线将开发板的PS UART和电脑连接。

在电脑上打开串口调试工具MobaXterm,和开发板的PS UART建立连接。

image-20250623121938035

在vitis上进入调试模式:在Debug As,选择第一个。全速运行就可以通过串口看到调试信息

image-20250813184538599

调试结果如下:

image-20250813183951738