您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术XScale PXA270在Linux下的FPGA设备驱动 正文
XScale PXA270在Linux下的FPGA设备驱动

XScale PXA270在Linux下的FPGA设备驱动

点击数:7859 次   录入时间:03-04 11:49:50   整理:http://www.55dianzi.com   嵌入式系统-技术

       在向内核设备文件系统注册该FPGA 驱动 后,还须实现设备驱动的file_operations结构,ACEX1K50的设备驱动定义了如下file_operations成员函数:

在向内核设备文件系统注册该FPGA驱动后

       其中fpga_open和fpga_release系统调用的功能只简单地实现了FPGA设备使用计数器的递增与递减,fpga_ioctl系统调用也只是简单的打印一条没有ioctl控制的信息提示。这里不再分析实现的具体代码。下面具体分析fpga_mmap的实现过程:

fpga

       fpga_mmap(struct file*filp,struct vm_area_struct*vma)系统调用允许直接将FPGA设备内存线性地映射到用户进程的地址空间中,fpga_mmap系统调用是通过调用remap_page_range()函数来实现一段线性物理地址的映射,调用remap_page_range()函数需要填写vm_area_struct结构的几个关键字段。

 

 

 

调用remap

       4 ACEX1K50设备驱动在用户程序中的使用

       当设备驱动实现后就可以在用户空间使用该设备了。在用户空间主要是通过调用mmap()函数来实现对FPGA设备的访问。以下是用户空间应用程序的一个示例:

用户空间应用程序的一个示例

       结语

       本文通过介绍ACEX1K50在 Linux 操作系统下设备驱动的实现过程,为FPGA在嵌入式领域的应用提供了一种方法。在实际应用中,通过用户程序能够很好地实现对FPGA硬件编程后的各种功能的控制。




上一页  [1] [2] 


本文关键字:Linux  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术