新聞中心

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

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

        作者: 時(shí)間:2012-04-25 來源:網(wǎng)絡(luò) 收藏

        2 硬件電路

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

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

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

        3 編程實(shí)現(xiàn)

        3.1 設(shè)備驅(qū)動初始化

        初始化模塊在內(nèi)核啟動時(shí)主要負(fù)責(zé)初始化FPGA工作。其實(shí)現(xiàn)由module_init () 和module_exit ()兩部分組成。其代碼如下:

        3.2 異步中斷通知

        在應(yīng)用程序中,可用如下代碼獲得中斷響應(yīng):

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

        fcntl(fa,F(xiàn)_SETOWN,getpid ());

        oflags=fcntl(fa,F(xiàn)_GETFL);/*fd為打開設(shè)備返回值*/

        fcntl (fd,F(xiàn)_SETFL,oflagsOFASYNC);/*fd為打開設(shè)備返回值*/

        應(yīng)當(dāng)注意的是,不是所有的設(shè)備都支持異步通知。應(yīng)用程序常常假定異步能力只對socket和tty可用。

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


        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 龙门县| 玉林市| 梁山县| 高密市| 嘉祥县| 长白| 永顺县| 宽甸| 富阳市| 龙川县| 西宁市| 梅河口市| 鹤峰县| 山阳县| 神池县| 普陀区| 静海县| 文成县| 东乡| 通道| 渑池县| 茶陵县| 页游| 贡觉县| 繁昌县| 黎平县| 东源县| 安新县| 琼海市| 通榆县| 奇台县| 霞浦县| 临沂市| 开阳县| 灵寿县| 沽源县| 浦县| 丘北县| 萨嘎县| 介休市| 松溪县|