日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux设备驱动入门

發布時間:2023/12/31 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux设备驱动入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux驅動配置

什么是驅動程序

  • 驅動程序是應用層和硬件設備之間的一個軟件層。
  • 它向應用層提供了一組標準化的調用接口,同時完全隱藏設備的工作細節。
  • 無操作系統時的設備驅動

    有操作系統時候的設備驅動

    有了操作系統之后,設備驅動反而變得更加復雜了,那么還要操作系統做什么?

  • 一個復雜的軟件系統需要處理多個并發的任務
  • 提供內存管理機制,對于LINUX操作提供可以讓每個進程都獨立的訪問硬件設備
  • 設備驅動都按照操作系統給出的獨立于設備的接口而設計,應用程序將可使用統一的系統調用接口來訪問各個設備
  • LINUX中驅動的存在方式

    1.編譯進內核,啟動內核時就會驅動此硬件設備
    2.模塊方式,編譯生成一個.ko文件,當應用程序需要時再動態加載進內核空間

    驅動的分類

    字符設備驅動

    字符設備驅動是一種可以按字節以串行順序依次訪問的設備,如觸摸屏、磁帶驅動器、鼠標等。字符設備驅動則負責驅動字符設備,這樣的驅動通常實現open 、close、read和write 等系統調用。

    網絡設備驅動

    任何網絡事務都通過一個接口來進行,這一個接口通常是一個硬件設備(eth0),但是它可以是要給純粹的 軟件設備,比如回環接口(lo)。一個網絡接口負責發送和接收數據報文。
    網絡設備沒有對應設備文件。

    塊設備驅動

    塊設備可以用任意順序進行訪問、以塊為單位進行操作,如硬盤、軟驅等,塊的大小任意,但是一般是512的整數倍
    因此 ,塊設備和字符設備的區別是驅動的與內核的接口不同
    當其實字符設備和塊設備并沒有明顯的界限,如FLASH設備符合塊設備的特點,當一般還是當作字符設備訪問。
    塊設備驅動通常也是實現open、close、read和write系統調用

    其他獨特的驅動體系結構

    另外。TTY驅動,IIC驅動,USB驅動,PCI驅動,LCD驅動等本身大體可歸納入3個基礎大類,但是對于這些復雜的設備,linux系統還定義了獨特的驅動 體系結構。

    編寫LINUX設備驅動的基礎

    驅動程序的使用

    linux用戶如何使用驅動程序


    linux用戶程序通過設備文件(又名:設備節點 eg:/dev/gpio)來使用驅動程序操作設備。

    內核編程注意事項

    1.要防止并發和競爭
    2.不要做浮點運輸
    3.不能做太耗時的事情
    4.擁有鎖的時候,不要休眠
    5.復雜的過程處理交給應用層去完成
    6.不能訪問應用層的函數
    7.不能有死循環

    總結

    以上是生活随笔為你收集整理的Linux设备驱动入门的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。