亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        信號量在LINUX系統(tǒng)I2C驅(qū)動程序的應用

        2017-05-02 13:43:57劉新
        中國新通信 2017年6期
        關(guān)鍵詞:信號量驅(qū)動程序

        劉新

        【摘要】 在LINUX中,設(shè)備驅(qū)動程序與磁盤文件相同,都是經(jīng)過打開、讀寫數(shù)據(jù)、關(guān)閉等一系列過程,當硬件有數(shù)據(jù)時直接讀取,無數(shù)據(jù)時等待,驅(qū)動程序不斷查詢。在LINUX中有信號量機制,本文討論信號量在驅(qū)動程序中的應用。

        【關(guān)鍵詞】 嵌入式LINUX 信號量 驅(qū)動程序 I2C

        一、引言

        筆者在開發(fā)嵌入式LINUX系統(tǒng)I2C驅(qū)動,通過實驗將信號機制運用到驅(qū)動程序中,實現(xiàn)了硬件中斷請求的消息傳遞,從而提高軟件運行效率。

        二、異步通知技術(shù)

        筆者查閱書籍,發(fā)現(xiàn)LINUX可以使用信號來處理事件,在設(shè)備驅(qū)動中也有異步通知SIGIO信號,當新數(shù)據(jù)到達時發(fā)送SIGIO信號通知上層程序讀數(shù)據(jù)。異步通知只有一個SIGIO信號,當多個設(shè)備都發(fā)送該信號,用戶進程無法區(qū)分,必須用poll或select函數(shù)來確定數(shù)據(jù)來源。筆者研究發(fā)現(xiàn)信號機制經(jīng)過POSIX擴展后,用sigaction()可以傳遞文件句柄,用戶進程就可區(qū)分信號來源了。

        三、信號在I2C驅(qū)動的應用

        3.1 I2C驅(qū)動信號接口

        用戶進程使用fcntl執(zhí)行F_SETOWN,進程ID號就保存在file->f_owner中,執(zhí)行F_SETFL在設(shè)備中置FASYNC標志,設(shè)備有新數(shù)據(jù)時發(fā)送一個SIGIO信號,該信號被存放在file->f_owner中。

        3.2信號的安裝

        使用sigaction()安裝信號函數(shù)。該函數(shù)有三個參數(shù),第一個為信號值,第二個是結(jié)構(gòu)sigaction指針,第三個未用。

        在結(jié)構(gòu)sigaction中sa_sigaction是信號函數(shù)。該信號函數(shù)有三個參數(shù),第一個為信號值,第二個是siginfo_t結(jié)構(gòu)指針,第三個未用。在siginfo_t結(jié)構(gòu)中,si_fd就是文件句柄。

        結(jié)構(gòu)sigaction的sa_flags中SA_SIGINFO標志位被設(shè)定表示附帶的參數(shù)可以被傳遞到信號函數(shù)中。

        四、測試

        下面用兩個I2C設(shè)備fd、fd1來測試信號在驅(qū)動程序的應用。

        經(jīng)測試,I2C驅(qū)動程序達到了實時中斷的要求,互不干擾。

        結(jié)語:筆者以I2C驅(qū)動程序為例,拋磚引玉,推廣到其他驅(qū)動程序的編寫上來,會使嵌入式LINUX代碼更短,方法更簡單,效率更高。

        參 考 文 獻

        [1]LINU設(shè)備驅(qū)動程序.第二版.魏永明,駱剛,姜君譯.北京:中國電力出版社.2002.11.

        [2]Linux內(nèi)核設(shè)計與實現(xiàn).第一版.陳莉君譯.北京:機械工出版社.2006.5.

        [3]Linux程序設(shè)計.第一版.楊曉云,王建橋,楊濤等譯.北京:機械工業(yè)出版社.2002.1.

        猜你喜歡
        信號量驅(qū)動程序
        基于STM32的mbedOS信號量調(diào)度機制剖析
        互斥信號量初值不同情況分析
        Nucleus PLUS操作系統(tǒng)信號量機制的研究與測試
        計算機硬件設(shè)備驅(qū)動程序分析
        電子制作(2018年17期)2018-09-28 01:56:58
        硬件信號量在多核處理器核間通信中的應用
        μC/OS- -III對信號量的改進
        Linux操作系統(tǒng)信號量機制的實時化改造
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        如何為老顯卡安裝Windows7驅(qū)動程序? 等
        亚洲av少妇高潮喷水在线| 无码一区二区三区AV免费换脸| 一区欧美在线动漫| 美女视频在线观看一区二区三区| 国产在线高清理伦片a| 天天躁日日躁狠狠躁av| 日韩国产成人精品视频| 9l国产自产一区二区三区| 公和我做好爽添厨房| 97成人碰碰久久人人超级碰oo| 亚洲男女免费视频| 日韩一区二区中文字幕视频| 男人国产av天堂www麻豆| 9lporm自拍视频区| 国产美女裸身网站免费观看视频| 亚洲av一区二区在线| 亚洲av成人片无码网站| 精品久久久久久无码国产| 亚洲性色ai无码| 亚洲国产精品中文字幕久久| 人妻久久久一区二区三区| 久久国产亚洲高清观看5388| 蜜桃激情视频一区二区| 天天躁日日躁狠狠躁av麻豆| 无码久久精品国产亚洲av影片| 国产一区二区a毛片色欲| 免费看黄片的视频在线观看| 欧洲vat一区二区三区| 国产精品一区高清在线观看| 国产av一区麻豆精品久久| 亚洲av男人电影天堂热app| 波多野吉衣av无码| 亚洲一区二区三区在线中文| 亚洲av网站在线观看一页| 野狼第一精品社区| 国产在线一区二区三区av| 日本一区二区三区爱爱视频| 人妻少妇中文字幕乱码| 国产免费专区| 国产一区二区在线中文字幕| 中文无码伦av中文字幕|