完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
大家好:
我现在在做DM8168 EVM与C6678 EVM的PCIe通信,DM8168作为RC,C6678作为EP,但现在对于这方面还不是太熟悉。 现在我想请教的问题是: 1.如何将DM8168 PCIe寄存器(地址是0x51000000)映射到它的内核空间,这样我就可以在内核空间通过访问其对应的虚拟地址查看PCIe寄存器的值并且配置它? 2.我在PCIe.C的代码里面发现有函数PCI_readBAR(),里面有函数:barStart [0] = pci_resource_start (PCIE_DEV, 0);后面的注释是/* BAR0 4K for PCIE application registers */,那么这个PCIe应用寄存器是指C6678的PCIe配置寄存器(地址是0x21800000)还是DM8168的PCIe寄存器(地址是0x51000000)?那么这个BAR[0]是C6678寄存器的BAR还是DM8168寄存器的BAR?我感觉这点有些混淆。 3.还有关于问题2的PCIE_DEV,它是在函数PCI_FindPciDevices()中得来了,类型是结构体pci_dev,那么这个PCIE_DEV具体指什么?如问题2里面的函数也有参数PCIE_DEV。 . 4.我想要实现的还是DM8168 PCIe寄存器映射到内核空间,我参考了另一个代码:/kernel/linux/linux-dvr_rdk/arch/ARM/mach-omap2/pcie-ti81xx中的代码,使用了函数platform_get_resource_byname(),这个函数是否和我想实现的功能有关?我在PCIe.c中加入了platform_get_resource_byname(PCIE_DEV, IORESOURCE_MEM, "pcie-regs");但并没有返回有效指针。 谢谢! |
|
相关推荐
2个回答
|
|
Studying,
你是想把PCIe寄存器映射要用户空间,而不是内核空间吧,内核驱动是可以直接访问寄存器的啊。 如果你是想做用户空间访问寄存器,建议你参考DVR RDK里面的工具mem_rdwr.out。 你的PCIe.c是哪个芯片的代码。如果是DM816x的,应该就是针对DM816x的PCIe的。建议你再看看TRM里面PCIe的相关章节。 |
|
|
|
物是人非aaa 发表于 2018-5-28 02:10 明白了,谢谢您! |
|
|
|
只有小组成员才能发言,加入小组>>
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
577 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1028 浏览 1 评论
677 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
500 浏览 1 评论
1024 浏览 0 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
130浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
102浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
111浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
109浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
137浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 16:11 , Processed in 0.624048 second(s), Total 48, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号