91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 嵌入式系統

Linux的設備驅動程序應是一個內核模塊

發布時間:2009/2/18 0:00:00 訪問次數:1466

  為了增跟內核的靈活性和為了方便,設各驅動程序應被設計為一個可動態安裝的內核模塊。

  于是,一個典型的linux設各驅動程序應包含如下幾部分代碼:

  ·驅動程序模塊的注冊與注銷函數;

  ·設各的打開、關閉、讀、寫及需要的其他操作函數;

  ·設備的中斷服務程序。

  下面用偽代碼給出一個從鍵盤上輸入一個字符的例子,以使讀者對設備驅動程序的構成有一個基本的概念。

  (1)定義讀操作函數

  ssize mydev_read(……)

  {

  獲取本設備的信號量以確倮沒有其他進程訪悶本設備;

  申請中斷標志,允許中斷;

  對設備發出讀命令;

  將進eh于等待隊列,等待中斷到來:

  }

  (2)定義中斷服務程序

  void mydev_ihterpt(……)

  {

  處理器讀入字符;

  設置中斷標志:

  喚醒等侍的進程:

  }

  (3)定義模塊初始化函數

  int init_module(void)

  向系統注冊設各;

  其他初始化代碼;

  (4)定義模塊析構函數

  void clemup_modtlle(void)

  {

  取消注冊的設備;

  其他析構代碼;

  }

  歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)



  為了增跟內核的靈活性和為了方便,設各驅動程序應被設計為一個可動態安裝的內核模塊。

  于是,一個典型的linux設各驅動程序應包含如下幾部分代碼:

  ·驅動程序模塊的注冊與注銷函數;

  ·設各的打開、關閉、讀、寫及需要的其他操作函數;

  ·設備的中斷服務程序。

  下面用偽代碼給出一個從鍵盤上輸入一個字符的例子,以使讀者對設備驅動程序的構成有一個基本的概念。

  (1)定義讀操作函數

  ssize mydev_read(……)

  {

  獲取本設備的信號量以確倮沒有其他進程訪悶本設備;

  申請中斷標志,允許中斷;

  對設備發出讀命令;

  將進eh于等待隊列,等待中斷到來:

  }

  (2)定義中斷服務程序

  void mydev_ihterpt(……)

  {

  處理器讀入字符;

  設置中斷標志:

  喚醒等侍的進程:

  }

  (3)定義模塊初始化函數

  int init_module(void)

  向系統注冊設各;

  其他初始化代碼;

  (4)定義模塊析構函數

  void clemup_modtlle(void)

  {

  取消注冊的設備;

  其他析構代碼;

  }

  歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)



相關IC型號

熱門點擊

 

推薦技術資料

DFRobot—玩的就是
    如果說新車間的特點是“靈動”,FQPF12N60C那么... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
大新县| 汉源县| 洛南县| 渑池县| 富宁县| 安仁县| 华安县| 太原市| 军事| 东方市| 平原县| 苏州市| 宁夏| 革吉县| 青阳县| 思南县| 大名县| 晋江市| 南岸区| 保山市| 灵武市| 铁岭县| 沁阳市| 镇雄县| 红原县| 红安县| 新宁县| 德惠市| 临江市| 油尖旺区| 金平| 宜兰县| 宜章县| 隆回县| 桐庐县| 遵化市| 无极县| 屯门区| 丹寨县| 望都县| 年辖:市辖区|