[X]关闭

XDMA中PCIE to AXI映射地址的问题

文档创建者:天马行空
浏览次数:7884
最后更新:2019-12-24
 
本帖最后由 天马行空 于 2019-12-24 13:48 编辑

汤总,在XDMA GPIO例程4中,axi_lite接口接了2个从控制器,LED的偏移地址是0x44a3_0000, BIN的偏移地址设置的是0x44a4_0000,而XDMA 中PCIE to AXI 的基地址设置的是0x44a,但是在QT代码“pcie_fun.h”中,我并没有看见你定义0x44a0_0000这个XDMA的映射地址呢,那这个0x44a0_0000是在QT代码的哪个文件里定义的参数呢?还是说这个地址是上电后主机识别到pcie设备后通过驱动自动获取的?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

发表评论已发布 7

uisrc

发表于 2019-12-24 13:54:04 | 显示全部楼层

XDMA的IP设置里面可以设置axi-lite的偏移地址,比如 0x44a0_0000 那么对于axi-lite接口的外设,就是基于0x44a0_0000地址的偏移,软件上也是基于这个地址的相对偏移。
越努力越幸运!加油!

天马行空

发表于 2019-12-24 13:58:33 | 显示全部楼层

本帖最后由 天马行空 于 2019-12-24 14:06 编辑
msxbo 发表于 2019-12-24 13:54
XDMA的IP设置里面可以设置axi-lite的偏移地址,比如 0x44a0_0000 那么对于axi-lite接口的外设,就是基于0x4 ...

谢谢!这个我知道,那如果我修改axi-lite的偏移地址为另外一个地址,那软件肯定要做更改嘛,所以才问这个问题,你这个回答还是没有解释软件那边怎么设置才能与XDMA IP里设置保持一致呢?

uisrc

发表于 2019-12-24 14:18:43 | 显示全部楼层

比如XMDA的axi-lite偏移地址 0x44a0_0000  那么如果你的axi-lite外设 地址为0x44a1_0000,那么上位机的偏移地址就是1_0000
越努力越幸运!加油!

天马行空

发表于 2019-12-24 14:24:33 | 显示全部楼层

本帖最后由 天马行空 于 2019-12-24 14:34 编辑
msxbo 发表于 2019-12-24 14:18
比如XMDA的axi-lite偏移地址 0x44a0_0000  那么如果你的axi-lite外设 地址为0x44a1_0000,那么上位机的偏移 ...

谢谢!可能你还没明白我想问的关键点在哪里。我想问的是 axi_lite的偏移地址如果我修改为0x4400_0000,或者其它任何地址,只要不是0x44a0_0000,那软件那边应该怎么去修改呢?你前面说软件上就是基于0x44a0_0000的偏移,难道这个是官方源码里固定的?我觉得这个应该是我们自定义的吧?就是这里有疑惑,希望解答下

uisrc

发表于 2019-12-24 14:36:26 | 显示全部楼层

如果是0x4400_0000 那么 软件那边也是 以0x4400_0000 开始计算偏移,软件只计算偏移的量,不管你如何设置,只要知道偏移量
越努力越幸运!加油!

天马行空

发表于 2019-12-24 14:39:26 | 显示全部楼层

msxbo 发表于 2019-12-24 14:36
如果是0x4400_0000 那么 软件那边也是 以0x4400_0000 开始计算偏移,软件只计算偏移的量,不管你如何设置, ...

我有点晕,这个我知道,我是想问那软件怎么知道是这个地址呢?难道在源码里不需要定义个参数来获取?还是说上电后驱动通过检测pcie端点设备去自动获取的?

A1_Vincent

发表于 2019-12-24 19:38:06 | 显示全部楼层

我的理解是,只要保证XDMA axi lite接口地址和axi-lite模块(比如AXI GPIO)的地址分配中的高位0x44A00000是一致的,就可以保证XDMA可以和axi-lite模块(比如AXI GPIO)的通信,而在上位机软件上直接通过低5位的偏移地址来区分axi_lite访问的资源就可以了,上位机软件不需要知道XDMA和axi-lite模块(比如AXI GPIO)的高位地址。你可以试试将XDMA中axi-lite接口的地址和AXI GPIO的高位地址都改为其他值比如0x45000000,偏移地址保证不变30000和40000,结果是否还正确。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则