新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > Linux系統(tǒng)環(huán)境下的FPGA驅動方案解析

Linux系統(tǒng)環(huán)境下的FPGA驅動方案解析

作者: 時間:2012-04-25 來源:網絡 收藏

2 硬件電路

通常在大容量存儲項目中,S3C2410處理器一般作為主CPU,可對EP2S30F67214進行擴展,以使系統(tǒng)具有拍攝、存儲、下載、I/O口擴展的功能。由于的高速處理能力和易擴展性,ARM與的結合使用,將在嵌入式系統(tǒng)領域占據主導地位。

本項目中的ARM主要讀取的數據,然后進行數據處理并送給上位機。其ARM處理器與FPGA的連接關系如圖2所示,其主要連接有32位寬數據線、27位寬地址線以及讀、寫、中斷和片選控制線等。

在S3C2410中,nGPCS4的物理地址為0x2000000—0x28000000,共計128MB的靜態(tài)物理空間。中斷方式為下降沿有效。

3 編程實現

3.1 設備驅動初始化

初始化模塊在內核啟動時主要負責初始化FPGA工作。其實現由module_init () 和module_exit ()兩部分組成。其代碼如下:

3.2 異步中斷通知

在應用程序中,可用如下代碼獲得中斷響應:

signal (SIGIO,test_handler);/*test_handler為函數名字*/

fcntl(fa,F_SETOWN,getpid ());

oflags=fcntl(fa,F_GETFL);/*fd為打開設備返回值*/

fcntl (fd,F_SETFL,oflagsOFASYNC);/*fd為打開設備返回值*/

應當注意的是,不是所有的設備都支持異步通知。應用程序常常假定異步能力只對socket和tty可用。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉