创建带Axi_Lite接口的IP核与AXI Interconnect(PG059)

AXI Interconnect互连内核将一个或多个 AXI 内存映射主设备连接到一个或多个内存映射从设备。

参考小梅哥文档。

cpp 复制代码
/**************************** 类型定义 ****************** **********/ 
/** * * 将值写入 AXI_REG_LIST 寄存器。执行 32 位写入。
* 如果组件以较小的宽度实现,则仅写入最不重要的数据。
* * @param BaseAddress 是 AXI_REG_LIST 设备的基地址。
* @param RegOffset 是要写入的寄存器距基址的偏移量。
* @param Data 是写入寄存器的数据。
* * @返回无。
* * @note 
* C 风格签名: 
* void AXI_REG_LIST_mWriteReg(u32 BaseAddress, unsigned RegOffset, u32 Data) * */
cpp 复制代码
/**************************** Type Definitions *****************************/
/**
 *
 * Write a value to a AXI_REG_LIST register. A 32 bit write is performed.
 * If the component is implemented in a smaller width, only the least
 * significant data is written.
 *
 * @param   BaseAddress is the base address of the AXI_REG_LISTdevice.
 * @param   RegOffset is the register offset from the base to write to.
 * @param   Data is the data written to the register.
 *
 * @return  None.
 *
 * @note
 * C-style signature:
 * 	void AXI_REG_LIST_mWriteReg(u32 BaseAddress, unsigned RegOffset, u32 Data)
 *
 */
#define AXI_REG_LIST_mWriteReg(BaseAddress, RegOffset, Data) \
  	Xil_Out32((BaseAddress) + (RegOffset), (u32)(Data))
cpp 复制代码
/** * * 从 AXI_REG_LIST 寄存器读取值。执行 32 位读取。
* 如果组件以较小的宽度实现,则仅从寄存器中读取最低有效数据。最重要的数据 
* 将被读取为 0。
* 
* @param BaseAddress 是 AXI_REG_LIST 设备的基地址。
* @param RegOffset 是要写入的寄存器距基址的偏移量。
* * @return Data 是来自寄存器的数据。
* * @note * C 风格签名: 
* u32 AXI_REG_LIST_mReadReg(u32 BaseAddress, unsigned RegOffset) * 
*/
cpp 复制代码
/**
 *
 * Read a value from a AXI_REG_LIST register. A 32 bit read is performed.
 * If the component is implemented in a smaller width, only the least
 * significant data is read from the register. The most significant data
 * will be read as 0.
 *
 * @param   BaseAddress is the base address of the AXI_REG_LIST device.
 * @param   RegOffset is the register offset from the base to write to.
 *
 * @return  Data is the data from the register.
 *
 * @note
 * C-style signature:
 * 	u32 AXI_REG_LIST_mReadReg(u32 BaseAddress, unsigned RegOffset)
 *
 */
#define AXI_REG_LIST_mReadReg(BaseAddress, RegOffset) \
    Xil_In32((BaseAddress) + (RegOffset))
相关推荐
不能跑的代码不是好代码7 小时前
STM32窗口看门狗(WWDG)知识点及标准库使用指南
stm32·单片机·嵌入式硬件
bingquan33337 小时前
在 Ghidra 中分析STM32裸机固件
stm32·单片机·嵌入式硬件
羽获飞7 小时前
从零开始学嵌入式之STM32——11.STM32---USART串行通讯
stm32·单片机·嵌入式硬件
宵时待雨9 小时前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件
逐步前行9 小时前
STM32_新建工程(寄存器版)
stm32·单片机·嵌入式硬件
bai5459369 小时前
STM32 CubeIDE 通过PWM占空比控制舵机角度
stm32·单片机·嵌入式硬件
简单中的复杂11 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
上海合宙LuatOS12 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
LS_learner12 小时前
Snapd和Apt—Linux 上两种完全不同的软件包管理系统
嵌入式硬件
点灯小铭12 小时前
基于51单片机的双档交流电压表设计与实现
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业