在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux驅動框架以及概述

嵌入式開發愛好者 ? 來源:嵌入式開發愛好者 ? 2023-09-10 09:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、驅動程序三種基本類型

字符設備(Char Device)

塊設備(Block Device)

網絡設備(Net Device)

二、設備驅動程序功能

對設備初始化和釋放

把數據從內核傳送到硬件和從硬件讀取數據

讀取應用程序傳送給設備文件的數據和回送應用程序請求的數據

檢測和處理設備出現的錯誤

訪問特定硬件:

訪問特定硬件就是訪問物理地址(如處理器內設備的寄存器、外設的地址映射)。然而由于MMU的內存映射以及對操作系統的保護,運行在用戶態的應用程序一般不能直接訪問硬件地址。因此需要驅動程序作為應用程序和訪問硬件之間的媒介。

三、驅動程序的內核模塊機制(開發模式)

靜態編譯、動態加載

Linux提供了一種內核模塊機制。一個模塊被編譯成單獨的內核模塊后,一開始可以不編譯到整個內核中,當內核需要加入該模塊的時候,不需要重新編譯整個內核,只需要將該內核模塊插入(加載)到正在運行的內核中。同樣,也可以從正在運行的內核中卸載。

Linux設備驅動可以使用兩種方式被編譯和加載:

直接編譯到Linux內核,隨Linux啟動時加載,隨時可以使用該驅動程序;

編譯成一個可加載和刪除的模塊,用insmod加載,rmmod刪除。

67d6a8b4-4f2a-11ee-a25d-92fbcf53809c.png

四、驅動程序框架

三個主要部分

1、設備初始化/釋放

負責對設備進行初始化和釋放

初始化檢測所要驅動的硬件設備是否存在、能否正常工作。如果設備正常,則對設備及相關驅動程序

需要的軟件狀態進行配置/初始化。

2、上半部分:服務于文件系統I/O

負責:通過文件系統從應用程序讀取數據,把數據通過文件系統回送給應用程序(文件系統層<->設備驅動層)

這部分由文件系統相關的系統調用執行,和調用進程屬于同一個進程,具有調用進程的運行環境,只是由用戶態變成了內核態。

3、下半部分:服務于硬件設備的I/O

負責:把數據從內核傳送到硬件,從硬件讀取數據到內核(設備驅動曾<->硬件層)

這部分可以通過中斷方式實現,對于多數設備可以提高CPU處理效率。

這部分也可以不通過中斷方式實現,只要能完成設備驅動層和硬件之間的數據通信即可。

680ae4b2-4f2a-11ee-a25d-92fbcf53809c.png

1、字符設備驅動程序框架

68301afc-4f2a-11ee-a25d-92fbcf53809c.png

2、塊設備驅動程序框架

68537f6a-4f2a-11ee-a25d-92fbcf53809c.png

3、網絡設備驅動程序框架

686f983a-4f2a-11ee-a25d-92fbcf53809c.png

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2785

    瀏覽量

    49984
  • 數據
    +關注

    關注

    8

    文章

    7250

    瀏覽量

    91502
  • 操作系統
    +關注

    關注

    37

    文章

    7122

    瀏覽量

    125251
  • 硬件
    +關注

    關注

    11

    文章

    3473

    瀏覽量

    67331
  • Linux驅動
    +關注

    關注

    0

    文章

    43

    瀏覽量

    10211

原文標題:Linux系統中驅動框架基本概述

文章出處:【微信號:嵌入式開發愛好者,微信公眾號:嵌入式開發愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux之PWM驅動

    本文主要講述了Linux的PWM驅動框架、實現方法、驅動添加方法和調試方法。
    發表于 05-25 09:19 ?872次閱讀
    <b class='flag-5'>Linux</b>之PWM<b class='flag-5'>驅動</b>

    linux驅動框架是什么

    編寫linux驅動先看一下驅動框架是什么樣子的。驅動編寫和應用層編寫有什么區別呢?
    發表于 07-26 08:14

    Linux下的UART驅動框架詳解

    Linux下的UART驅動框架
    發表于 12-22 07:18

    Linux 驅動 = 軟件框架 + 硬件操作

    ??Linux 驅動 = 軟件框架 + 硬件操作??驅動程序依賴于 Linux 內核,你為開發板 A 開發
    發表于 12-17 07:11

    想要駕馭Linux驅動開發,必須深刻理解Linux總線設備驅動框架

    想要駕馭Linux驅動開發,必須深刻理解Linux總線設備驅動框架。之所以會形成這樣的框架,主要
    的頭像 發表于 03-22 11:08 ?1.1w次閱讀
    想要駕馭<b class='flag-5'>Linux</b><b class='flag-5'>驅動</b>開發,必須深刻理解<b class='flag-5'>Linux</b>總線設備<b class='flag-5'>驅動</b><b class='flag-5'>框架</b>

    Linux DMA Engine框架的介紹

    此會話描述如何從設備驅動程序在Linux中使用DMA。 這包括內存分配,緩存控制和DMA設備控制。 詳細介紹了Linux DMA Engine框架
    的頭像 發表于 11-23 06:29 ?6688次閱讀

    你對Linux總線設備驅動框架是否了解

    Linux的設備驅動模型,或者說,Linux的設備驅動框架,都是同一個意思。應該這樣理解,(Linux
    發表于 05-05 15:13 ?861次閱讀

    如何使用Linux內核實現USB驅動程序框架

    Linux內核提供了完整的USB驅動程序框架。USB總線采用樹形結構,在一條總線上只能有唯一的主機設備。 Linux內核從主機和設備兩個角度觀察USB總線結構。本節介紹
    發表于 11-06 17:59 ?20次下載
    如何使用<b class='flag-5'>Linux</b>內核實現USB<b class='flag-5'>驅動</b>程序<b class='flag-5'>框架</b>

    OpenHarmony系統HDF驅動框架概述

    OpenHarmony系統HDF驅動框架概述 OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)系統 HDF 驅動框架
    的頭像 發表于 09-03 09:29 ?4631次閱讀

    OpenHarmony HDF 驅動框架概述及加載過程分析

    OpenHarmony系統 HDF驅動框架概述 OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)系統 HDF 驅動框架
    的頭像 發表于 09-03 09:32 ?4036次閱讀
    OpenHarmony HDF <b class='flag-5'>驅動</b><b class='flag-5'>框架</b><b class='flag-5'>概述</b>及加載過程分析

    嵌入式Linux驅動開發從基礎到框架

    想講好嵌入式Linux驅動開發并不容易,各位業界大神最基礎的字符驅動到中斷并發再到驅動框架、應用層調用。但是總覺得業界寫的書都是點到為止,
    發表于 11-01 16:58 ?15次下載
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>驅動</b>開發從基礎到<b class='flag-5'>框架</b>

    看看Linux為相機提供的驅動框架

    ? V4L2 (Video Linux Two),是為支持Linux內核設計的驅動框架驅動框架
    的頭像 發表于 08-07 16:03 ?3760次閱讀
    看看<b class='flag-5'>Linux</b>為相機提供的<b class='flag-5'>驅動</b><b class='flag-5'>框架</b>

    Linux的PWM驅動框架及實現方法

    本文主要講述了Linux的PWM驅動框架、實現方法、驅動添加方法和調試方法。
    的頭像 發表于 05-14 15:24 ?1836次閱讀
    <b class='flag-5'>Linux</b>的PWM<b class='flag-5'>驅動</b><b class='flag-5'>框架</b>及實現方法

    Linux驅動分析之RTC框架

    Linux內核啟動時,它會從RTC中讀取時間與日期,作為基準值。然后通過軟件來維護系統時間和日期。Linux系統中提供了RTC核心層,對于驅動開發者而言,操作起來就變得很簡單了。我們來看看整體
    的頭像 發表于 05-26 15:12 ?1221次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>驅動</b>分析之RTC<b class='flag-5'>框架</b>

    Linux Regmap 驅動框架

    1、regmap 框架結構 regmap 驅動框架如下圖所示: regmap 框架分為三層: ①、底層物理總線:regmap 就是對不同的物理總線進行封裝,目前 regmap 支持的物
    的頭像 發表于 07-06 17:29 ?1388次閱讀
    <b class='flag-5'>Linux</b> Regmap <b class='flag-5'>驅動</b><b class='flag-5'>框架</b>
    主站蜘蛛池模板: 一级特级aaaa毛片免费观看 | 欧美两性网 | 亚州第一视频 | 野外啪啪抽搐一进一出 | 国产成人精品曰本亚洲77美色 | 伊人福利视频 | 人人莫| 亚洲天堂成人网 | 一级特黄aa毛片免费观看 | 黄 色 免 费 网站在线观看 | 五月综合激情视频在线观看 | 欧洲色| 看毛片网站 | 亚洲bbb | 在线天堂中文新版www | 欧美日韩亚洲国产 | www在线视频 | 日韩欧美不卡片 | 一区二区三区免费在线 | 久久精品免费视频观看 | 日本三级带日本三级带黄首页 | 欧美成人免费高清网站 | 国内精品久久久久久影院老狼 | 狠狠色丁香久久婷婷 | 日本xxwwxxww视频免费丝袜 | 国产视频一区二区在线观看 | 国产最好的精华液网站 | 黄色网址你懂的 | 俄罗斯一级成人毛片 | 色天使久久综合给合久久97色 | 午夜精品视频 | 午夜爱爱小视频 | 久久久蜜桃 | 国产福利午夜自产拍视频在线 | 国产女主播在线播放一区二区 | 在线国产播放 | 天天射网 | 男人j进女人j的一进一出视频 | 色偷偷视频| 色综合天天五月色 | 日本亚洲欧美美色 |