Linux系統環(huán)境下的FPGA驅動方案解析
3.3 地址映射
在Linux設備驅動程序開發(fā)過程中,由于驅動程序操作的都是設備的虛擬地址,因此,要使驅動程序對虛擬地址的操作反映到正確的設備上,還需要通過內存管理單元MMU來將設備的虛擬地址映射到正確的物理地址上去,從而保證驅動程序對設備的虛擬地址的操作,也就是要對其相應的物理地址進行操作。使用內存映射的好處是處理大文件時,其速度明顯快于標準文件I/O,這樣無論讀和寫,都少了一次用戶空間與內核空間之間的復制。在用戶空間對FPGA設備的訪問可通過內存映射來實現。FPGA可以看作是硬件連接在S3C2410微處理器的片選信號nGPCS4上的一段物理地址的尋址。因此,必須先把物理地址映射到虛擬地址空間,然后才能對該段地址進行讀/寫。通常用戶可用如下代碼關聯FPGA的地址:
fpga_base=ioremap(FPGA_PHY_START,FPGA_PHY_SIZE);
4 結束語
本文系統的介紹了ARM基于Linux平臺下的FPGA的驅動開發(fā)方法,并通過開發(fā)用戶程序,實現了數據的處理和傳輸,從而實現了FPGA在嵌入式領域的廣泛應用。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論