亚洲免费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ū)動程序? 等
        久久99精品这里精品动漫6| 午夜视频在线观看视频在线播放| 精品国产乱码久久久久久婷婷| 久久久亚洲av成人网站| 久久www色情成人免费观看| 国产精品美女久久久久久久久| 欧美z0zo人禽交欧美人禽交| 欧洲AV秘 无码一区二区三| 中文字幕人妻一区色偷久久| 日本人妻高清免费v片| 国产精品成人无码久久久久久| 国产福利永久在线视频无毒不卡| 亚洲av无码一区二区三区系列| 亚洲精品老司机在线观看| 久久亚洲精品成人综合| 国产精品黑丝美女av| 亚洲天堂亚洲天堂亚洲色图| 丰满人妻一区二区三区蜜桃| 国产情侣真实露脸在线| 国产精品视频露脸| 国产亚洲欧美日韩综合综合二区| 极品诱惑一区二区三区| 91在线视频视频在线| 黄片小视频免费观看完整版| 领导边摸边吃奶边做爽在线观看| 最近日本中文字幕免费完整| 国产成人一区二区三区高清| 成人一区二区三区蜜桃| 国产亚洲视频在线播放| 久久夜色精品国产欧美乱| 亚洲大片免费| 精品少妇白浆一二三区| 伊人久久精品亚洲午夜| 欧美成人精品a∨在线观看| 天堂网在线最新版www中文网| 亚洲色欲大片AAA无码| 亚洲一区二区免费日韩| 国产洗浴会所三级av| 国产黄大片在线观看画质优化 | 中文字幕无码av激情不卡| 久久久精品3d动漫一区二区三区 |