天马行空 发表于 2019-12-24 11:59:13

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

本帖最后由 天马行空 于 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设备后通过驱动自动获取的?

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,结果是否还正确。
页: [1]
查看完整版本: XDMA中PCIE to AXI映射地址的问题