我在Zynq处理器(ARM)上有一个自定义FPGA模块的驱动程序,它使用vm_insert_page()保留的mmap内存将数据传递到用户空间,主要遵循{{3}的指令对这个问题不重要的一些小调整。
我现在的问题是看起来我的个人缓冲区仅限于一个页面,只有4096字节,我需要能够发送一个比这个更大的数据包。我不需要添加逻辑来将两侧的多个缓冲区组合在一起,只需要传输单个缓冲区就非常好了。那么,是否有一些方法可以使缓冲区大于页面?我能用某种方式用remap_pfn_range()替换vm_insert_page()吗?
问题似乎来自这里:
Option Explicit
Sub FillMissing()
' 04 Jan 2018
Dim Rng As Range
Dim Service As Variant
Dim Rl As Long ' last row
Dim R As Long ' row counter
Application.ScreenUpdating = False
With ActiveSheet
Rl = Application.Max(.Cells(.Rows.Count, "C").End(xlUp).Row, _
.Cells(.Rows.Count, "D").End(xlUp).Row)
For R = 2 To Rl ' start in row 2
Set Rng = Range(.Cells(R, "A"), .Cells(R, "B"))
With Rng
If Application.CountA(Rng) Then
Service = .Value
Else
.Value = Service
End If
End With
Next R
End With
Application.ScreenUpdating = True
End Sub