999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

信號量在LINUX系統I2C驅動程序的應用

2017-05-02 13:43:57劉新
中國新通信 2017年6期

劉新

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

【關鍵詞】 嵌入式LINUX 信號量 驅動程序 I2C

一、引言

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

二、異步通知技術

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

三、信號在I2C驅動的應用

3.1 I2C驅動信號接口

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

3.2信號的安裝

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

在結構sigaction中sa_sigaction是信號函數。該信號函數有三個參數,第一個為信號值,第二個是siginfo_t結構指針,第三個未用。在siginfo_t結構中,si_fd就是文件句柄。

結構sigaction的sa_flags中SA_SIGINFO標志位被設定表示附帶的參數可以被傳遞到信號函數中。

四、測試

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

經測試,I2C驅動程序達到了實時中斷的要求,互不干擾。

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

參 考 文 獻

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

[2]Linux內核設計與實現.第一版.陳莉君譯.北京:機械工出版社.2006.5.

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

主站蜘蛛池模板: 国产青青草视频| 欧美影院久久| 在线观看免费黄色网址| 亚洲精品麻豆| 在线国产三级| 四虎成人在线视频| 久久综合丝袜长腿丝袜| 国产国产人成免费视频77777| 国产色婷婷| 亚洲国产成人超福利久久精品| 亚洲日韩国产精品无码专区| 2021国产精品自产拍在线观看| 日韩第八页| 在线精品欧美日韩| AV不卡国产在线观看| 午夜色综合| 午夜精品影院| 啊嗯不日本网站| 精品久久人人爽人人玩人人妻| 国产视频你懂得| 亚洲精品在线影院| 国产精品视频导航| 欧洲极品无码一区二区三区| 色偷偷综合网| 午夜激情婷婷| 久热99这里只有精品视频6| 东京热一区二区三区无码视频| 精品欧美一区二区三区久久久| 国产麻豆另类AV| 国产香蕉国产精品偷在线观看| 无码电影在线观看| 色成人综合| 亚洲视频一区在线| 国产高潮流白浆视频| 国产白浆视频| 午夜欧美理论2019理论| 在线综合亚洲欧美网站| 久久semm亚洲国产| 91精品情国产情侣高潮对白蜜| 国产美女视频黄a视频全免费网站| 亚洲无码免费黄色网址| 黄色在线不卡| 久久精品无码专区免费| 国产精品片在线观看手机版| 免费看黄片一区二区三区| 欧美一区二区三区国产精品| 国产清纯在线一区二区WWW| 人妻丰满熟妇AV无码区| 制服无码网站| 日本亚洲成高清一区二区三区| 最近最新中文字幕免费的一页| 一本大道无码日韩精品影视| 午夜日韩久久影院| 爱色欧美亚洲综合图区| 强乱中文字幕在线播放不卡| 天堂网亚洲系列亚洲系列| 欧美精品在线免费| 91在线激情在线观看| 成人精品亚洲| 99久久精品国产麻豆婷婷| 精品小视频在线观看| 国产色图在线观看| 国产精品无码AⅤ在线观看播放| 精品国产免费观看一区| 国产性生大片免费观看性欧美| 99久久精品久久久久久婷婷| 亚洲第一区精品日韩在线播放| 欧美中文字幕在线二区| 精品一区二区久久久久网站| 国产精品久线在线观看| 97在线国产视频| 亚洲欧洲日韩综合色天使| 无码aⅴ精品一区二区三区| 亚洲精品第五页| 久久综合伊人77777| 国产精品无码翘臀在线看纯欲| 欧美激情视频一区二区三区免费| 日韩人妻少妇一区二区| 中文字幕乱码二三区免费| 国内精品视频在线| 三区在线视频| 欧美丝袜高跟鞋一区二区|