查看: 8459|回复: 13

[求助] IMX6DL PCIE BAR地址映射后无法读写

[复制链接]

该用户从未签到

1

主题

9

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2020-4-10
发表于 2020-3-31 12:23:34 | 显示全部楼层 |阅读模式
我们使用IMX6DualLite,通过PCIE接口连接一个采集卡,该采集卡原来使用在X86平台驱动正常。现在改用IMX6DualLite时,能识别到该设备ID信息,能读取BAR地址,将BAR地址使用ioremap映射为虚拟地址后,使用readl读取虚拟地址,返回全为零。
BAR地址调试打印信息如下:

BAR0: Reg 0x01100000, Map mem, Adrs 0x01100000, Size  256, vaddr 0xC0B69000, Access RO
BAR1: Reg 0x00001001, Map I/O, Adrs 0x00001000, Size  256, vaddr 0x0, Access RO
BAR2: Reg 0x01100100, Map mem, Adrs 0x01100100, Size  256, vaddr 0xC0B71100, Access RW
BAR3: Reg 0x00000000, Map N/A, Adrs 0x00000000, Size    0, vaddr 0x0, Access RO
BAR4: Reg 0x00000000, Map N/A, Adrs 0x00000000, Size    0, vaddr 0x0, Access RO
BAR5: Reg 0x00000000, Map N/A, Adrs 0x00000000, Size    0, vaddr 0x0, Access RO
Mem Mx u32: rx 00000000, M 0000000F, V 0000000C, tx 0000000C: va 0xC0B6906C





我知道答案 目前已有13人回答
回复

使用道具 举报

该用户从未签到

1

主题

9

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2020-4-10
 楼主| 发表于 2020-3-31 12:25:22 | 显示全部楼层
1、开机启动时pcie的信息

pci 0000:02:00.0: BAR 0: assigned [mem 0x01100000-0x011000ff]

pci 0000:02:00.0: BAR 1: assigned [io  0x1000-0x10ff]

pci 0000:02:00.0: BAR 2: assigned [mem 0x01100100-0x011001ff]



2、lspci命令查询

00:00.0 PCI bridge: Device 16c3:abcd (rev 01)

01:00.0 PCI bridge: Tundra Semiconductor Corp. Device 8111 (rev 02)

02:00.0 Signal processing controller: PLX Technology, Inc. PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge (rev 03)



3、pcie 24dsi采集卡驱动的内存映射

BAR0: Reg 0x01100000, Map mem, Adrs 0x01100000, Size  256, vaddr 0xC0A41000, Access RO

BAR1: Reg 0x00001000, Map I/O, Adrs 0x00001000, Size  256, vaddr 0x1000, Access RO

BAR2: Reg 0x01100100, Map mem, Adrs 0x01100100, Size  256, vaddr 0xC0A49100, Access RW



4、驱动内存访问

Mem Mx u32: rx 00000000, M 0000000F, V 0000000C, tx 0000000C: va 0xC0A4106C

读取0xC0A4106C的值为00000000

读取调用函数readl()
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

9

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2020-4-10
 楼主| 发表于 2020-4-2 19:33:52 | 显示全部楼层
谁来帮忙指点下呀,感恩戴德!
回复 支持 反对

使用道具 举报

该用户从未签到

20

主题

809

帖子

1

超级版主

Rank: 8Rank: 8

积分
1566
最后登录
2023-1-17
发表于 2020-4-3 10:45:28 | 显示全部楼层
你这里PCIE BAR的大小多少?
回复 支持 反对

使用道具 举报

该用户从未签到

20

主题

809

帖子

1

超级版主

Rank: 8Rank: 8

积分
1566
最后登录
2023-1-17
发表于 2020-4-3 10:45:50 | 显示全部楼层
请问你用的是哪个版本的BSP?
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

9

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2020-4-10
 楼主| 发表于 2020-4-3 15:48:29 | 显示全部楼层
小智MM 发表于 2020-4-3 10:45
你这里PCIE BAR的大小多少?

就是256BYTE呀
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

9

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2020-4-10
 楼主| 发表于 2020-4-3 15:49:45 | 显示全部楼层
小智MM 发表于 2020-4-3 10:45
请问你用的是哪个版本的BSP?

BSP:4.9.88
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

9

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2020-4-10
 楼主| 发表于 2020-4-3 15:51:39 | 显示全部楼层
网上能搜索到很多IMX6 PCIE不能读写的案例,可是都没有写最后解决方法
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

108

帖子

0

中级会员

Rank: 3Rank: 3

积分
281
最后登录
2020-9-10
发表于 2020-4-7 21:06:26 | 显示全部楼层
你这是自己用ioremap函数做的地址映射吗?
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

9

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2020-4-10
 楼主| 发表于 2020-4-8 09:00:15 | 显示全部楼层
dianyu99 发表于 2020-4-7 21:06
你这是自己用ioremap函数做的地址映射吗?

用ioremap和ioremap_nocache试过,都一样读取出来全为0
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 04:00 , Processed in 0.101618 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表