久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1498|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

迅為iTOP-iMX6開發(fā)板-設(shè)備樹內(nèi)核-中斷例程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:151620 發(fā)表于 2019-8-29 10:57 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
1.1 中斷概述
ARM 架構(gòu) linux 內(nèi)核中,有 5 種常見的異常,其中中斷異常是其一,Linux 內(nèi)核將所
有中斷統(tǒng)一編號,使用一個 irq_desc 結(jié)構(gòu)體來描述這些中斷,里面記錄了中斷名稱、中斷狀
態(tài)、中斷標記、并提供了中斷的底層硬件訪問函數(shù)(如:清除、屏蔽、使能中斷),提供了這
個中斷的處理函數(shù)入口,通過它還可以調(diào)用用戶注冊的的中斷處理函數(shù)。linux 內(nèi)核的中斷體
系已經(jīng)很完善了,驅(qū)動工程師需要做的就是調(diào)用 request_irq 函數(shù)向內(nèi)核注冊中斷處理函
數(shù),下面我們來看看 request_irq 函數(shù)的定義:
static inline int __must_check
request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
const char *name, void *dev)
第一個參數(shù) irq:中斷號,與平臺架構(gòu)相關(guān);
第二個參數(shù) handler:用戶中斷處理函數(shù);
第三個參數(shù) flags:中斷標記
第四個參數(shù) devname:中斷名字,可以通過 cat /proc/interrupts 查看;
第五個參數(shù) dev_id:在 free_irq 中有用,也用做區(qū)分中斷處理函數(shù);
有注冊就得對應(yīng)著有注銷,驅(qū)動的注銷函數(shù)是 free_irq,其定義如下:
void free_irq(unsigned int irq, void *dev_id)
第一個參數(shù) irq:中斷號,與 request_irq 中的 irq 一致,用于定位 action 鏈表;
第二個參數(shù) dev_id:用于在 action 鏈表中找到要卸載的表項;同一個中斷的不同中斷
處理函數(shù)必須使用不通的 dev_id 來區(qū)分,這就要求在注冊中斷共享時參數(shù) dev_id 必須唯
一。
1.2 設(shè)備樹文件修改
這里我們選用 back 按鍵用于測試,它的網(wǎng)絡(luò)標號是“DISP0_WR”,對應(yīng)的 IO 管腳編
號是“NANDF_WP”,對應(yīng)的宏定義為“MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09 ”
這個管腳在 gpio-keys 驅(qū)動中已經(jīng)使用,我們需要在設(shè)備樹中將其屏蔽,然后在設(shè)備樹
文件中增加測試例程的設(shè)備樹代碼。
打開“arch/arm/boot/dts/imx6qdl-sabresd.dtsi”設(shè)備樹文件。
將 gpios = <&gpio6 9 GPIO_ACTIVE_LOW>; 屏蔽掉,如下圖所示。
在“itop_max485_ctl”之后添加以下代碼:
key_int{
compatible = "itop,key_int_name";
pinctrl-names = "default";
gpio_key_int = <&gpio6 9 GPIO_ACTIVE_LOW>;
status = "okay";
};
添加完成之后如下圖所示,
重新燒寫設(shè)備樹文件,在開發(fā)板“/sys/bus/platform/device”目錄下會有 key_int 文件
夾生成,表明設(shè)備注冊完成。
1.3 測試驅(qū)動
驅(qū)動源碼在壓縮包“獨立中斷例程_V1.0”中。
使用“insmod key_int.ko”命令加載驅(qū)動模塊。如下圖。
按下按鍵“Back”,會有打印信息,如下圖所示。
卸載驅(qū)動如下圖。
測試完成。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久亚洲一区二区三区四区 | 一区二区三区视频在线免费观看 | 亚洲精品高清视频 | 久久av网站| 视频一区二区在线观看 | 国产精品一区二区久久精品爱微奶 | 久久精品av麻豆的观看方式 | 国产在线第一页 | 亚洲综合国产 | 午夜视频在线免费观看 | 91精品一区二区三区久久久久久 | 91热在线 | 91视视频在线观看入口直接观看 | 国产免费一区 | 日韩欧美精品 | 在线免费小视频 | 日韩在线小视频 | 午夜精品一区二区三区在线观看 | 欧美一区二区三区的 | 久久精品毛片 | 亚洲精品国产偷自在线观看 | 国产美女久久 | 成人综合视频在线观看 | 国产a爽一区二区久久久 | 欧美成人性生活 | 亚洲精品中文在线 | 日本在线中文 | 欧美v日韩v | 在线播放国产一区二区三区 | 久久久久国产一区二区 | 99热首页 | 亚洲有码转帖 | 日韩欧美大片 | 欧洲精品视频一区 | 日韩一级欧美一级 | 成人在线 | 国产精品一区在线 | 久青草影院 | 国产精品久久久久久久久久久久冷 | 日日骚av| 日韩一区二区av |