打印

请问如何通过PCI向一个外设寄存器读写数据?外设寄存器在存

[复制链接]
1886|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llzw|  楼主 | 2007-9-27 18:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何通过PCI向一个外设寄存器读写,该寄存器为存储空间内


资料中说到DM642的PCI的存储空间可由上位机通过BAR0进行读写.

但又提到,对一个寄存器,地址假如为0X01B00004读写,是通过DSPP和CPCIA组成的32位地址来读写.所以DSPP和CPCIA需要事先写入.

现在DSPP已经确定上位机可以通过BAR2读写,但是CPCIA应该怎么由上位机写入呢?因为CPCIA寄存器本身的地址也在0X01CXXXXX内,也需要DSPP+CPCIA组成的32位来确定.不可能通过写自身来得到地址然后再写自身吧.......


所以我现在的问题是,
1、BAR0和CPCIA之间有关系吗?
2、如果才能改变CPCIA的值,难道只能通过DSP来写,如果这样,效率就太低了吧?
3、BAR0的值除了确定该地址指向的4M地址是存储空间,能用于确定需要访问的具体地址空间吗?如0X01BXXXXX?

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

10

帖子

1

粉丝