对于Cache不是很清楚其操作,因为看到很多一致性的问题。现在要做PCI卡的DMA操作,那么要注意这个问题吗?看了可以用cacheDmaMalloc()来分配一段不可缓存的空间,这时是不是要先用一下sysMmuMapAdd(..VM_STATE_CACHEABLE_NOT..)啊...
全文
回复(3) 2004-08-18 16:38 来自版块 - VxWorks
表情
fwzfwz1你如果要使用DMA操作,你可以在系统保留空间进行,将这个空间设置为noncache就行了。我就用这种方法。 (2004-10-14 21:20)
myswin我用cacheDmaMalloc()分配的空间老是会page fault,加上sysMmuMapAdd这个就没问题了~~~~(2004-10-14 09:56)
fwzfwz1cacheDmaMalloc()函数是从系统空间中分配空间的,他分配的空间已经实现noncache了; sysMmuMapAdd表示将别的空间(非系统空间)添加到MMU列表中。这是两个概念。 你如果要使用DMA操作,你可以在系统保留空间进行,将这个空间设置为noncache就...(2004-10-11 21:06)

返回顶部