vivado axi PS-PL 封装IP 创造自定义 外设

1、IP 封装 方法 和  工程调用方法

  参考 FPGA 嵌入式开发实战指南 - 野火 , 第8章 自定义IP核 

 

2、封装总结:

  1、单独新建一个文件夹 用于存放 封装 IP 的工程

  2、修改 封装 IP 的 顶层文件 ,将封装 模块 的 输出信号引出, 例子是 封装一个 LED 开关 的 模块

  3、

 

IP 封装 代码编写

image

 顶层引出信号 

image

 次顶层引出

image

 次顶层 例化 自己写的模块, 将 寄存器 0 的 bit0  传递给 LED 模块 

image

 编写 自己的 模块

image

 IP调用时,系统 block design 框图

image

 

PS 端 写寄存器方法

// 下面参数  在 #include "xparameters.h" 文件中

/* Definitions for driver LED */
#define XPAR_LED_NUM_INSTANCES 1

/* Definitions for peripheral LED_0 */
#define XPAR_LED_0_DEVICE_ID 0

// LED IP  寄存器的地址 
#define XPAR_LED_0_S00_AXI_BASEADDR 0x43C00000
#define XPAR_LED_0_S00_AXI_HIGHADDR 0x43C0FFFF

Xil_Out32( XPAR_LED_0_S00_AXI_BASEADDR, 0x01 ); // 关闭 LED

Xil_Out32( XPAR_LED_0_S00_AXI_BASEADDR, 0x00 ); // 打开 LED

image

 

image

 

vivado 更新文件 到 SDK 中时,SDK 没反应, 可以  change HardWare Platform specification 来主动 更新文件 

image

 

image

 

posted on 2026-04-20 18:15  所长  阅读(54)  评论(0)    收藏  举报

导航