vivado axi PS-PL 封装IP 创造自定义 外设
1、IP 封装 方法 和 工程调用方法
参考 FPGA 嵌入式开发实战指南 - 野火 , 第8章 自定义IP核
2、封装总结:
1、单独新建一个文件夹 用于存放 封装 IP 的工程
2、修改 封装 IP 的 顶层文件 ,将封装 模块 的 输出信号引出, 例子是 封装一个 LED 开关 的 模块
3、
IP 封装 代码编写

顶层引出信号

次顶层引出

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

编写 自己的 模块

IP调用时,系统 block design 框图

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


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


浙公网安备 33010602011771号