阅读:3997回复:8
还是有关内存映射的问题
小弟这些天正研究MMU。有几个问题,请大哥们解释。
我在写一个PCI卡的驱动程序。在初始化PCI阶段,需要把从BAR0中得到的基地址做映射(sysMmuMapAdd)。这些我做好了。我想问的是: 1,在没有映射之前,我访问某个地址,就一定会出错,一般是Page Fault;当完成了映射之后,我随便的任意的访问一个地址,都可以得到内容而不出错,这是为什么? 2,我下一步想为DMA分配一片地址,我看到在Linux中是用pci_alloc_consistent,作用是分配一块空间,使得从CPU和总线上看这块空间内容是一致的同步的,无论是谁修改了,另一方都知道。我不知道在VxWorks下用什么函数完成相同的功能。 3,为什么要映射呢?不映射就不能访问设备上的内存?还有PCI上的I/O空间和内存空间到底在哪?是不是就是I/O断口和自带的内存,必须映射到系统的I/O空间和主内存才能访问? 谢谢!!! 向大哥们学习! |
|
最新喜欢:algum |
沙发#
发布于:2002-11-12 09:04
motif说得我有一定了解,不过还是谢谢你,我从中是有收获的。
能不能具体解释一下我提的问题?谢谢 |
|
板凳#
发布于:2002-11-13 14:28
没人知道吗?高手呢?
|
|