資料介紹
分享到:標簽:嵌入式Linux 設備驅動 操作系統
11.1 設備驅動概述
11.1.1 設備驅動簡介及驅動模塊
操作系統是通過各種驅動程序來駕馭硬件設備的,它為用戶屏蔽了各種各樣的設備,驅動硬件是操作系統最基本的功能,并且提供統一的操作方式。設備驅動程序是內核的一部分,硬件驅動程序是操作系統最基本的組成部分,在Linux內核源程序中也占有60%以上。因此,熟悉驅動的編寫是很重要的。
在第2章中已經提到過,Linux內核中采用可加載的模塊化設計(LKMs,Loadable Kernel Modules),一般情況下編譯的Linux內核是支持可插入式模塊的,也就是將最基本的核心代碼編譯在內核中,其他的代碼可以編譯到內核中,或者編譯為內核的模塊文件(在需要時動態加載)。
常見的驅動程序是作為內核模塊動態加載的,比如聲卡驅動和網卡驅動等,而Linux最基礎的驅動,如CPU、PCI總線、TCP/IP協議、APM(高級電源管理)、VFS等驅動程序則直接編譯在內核文件中。有時也把內核模塊叫做驅動程序,只不過驅動的內容不一定是硬件罷了,比如ext3文件系統的驅動。因此,加載驅動就是加載內核模塊。
這里,首先列舉一些模塊相關的命令。
n lsmod列出當前系統中加載的模塊,其中左邊第一列是模塊名,第二列是該模塊大小,第三列則是使用該模塊的對象數目。如下所示:
$ lsmod
Module Size Used by
Autofs 12068 0 (autoclean) (unused)
eepro100 18128 1
iptable_nat 19252 0 (autoclean) (unused)
ip_conntrack 18540 1 (autoclean) [iptable_nat]
iptable_mangle 2272 0 (autoclean) (unused)
iptable_filter 2272 0 (autoclean) (unused)
ip_tables 11936 5 [iptable_nat iptable_mangle iptable_filter]
usb-ohci 19328 0 (unused)
usbcore 54528 1 [usb-ohci]
ext3 67728 2
jbd 44480 2 [ext3]
aic7xxx 114704 3
sd_mod 11584 3
scsi_mod 98512 2 [aic7xxx sd_mod]
n rmmod是用于將當前模塊卸載。
n insmod和modprobe是用于加載當前模塊,但insmod不會自動解決依存關系,即如果要加載的模塊引用了當前內核符號表中不存在的符號,則無法加載,也不會去查在其他尚未加載的模塊中是否定義了該符號;modprobe可以根據模塊間依存關系以及/etc/modules.conf文件中的內容自動加載其他有依賴關系的模塊。
11.1 設備驅動概述
11.1.1 設備驅動簡介及驅動模塊
操作系統是通過各種驅動程序來駕馭硬件設備的,它為用戶屏蔽了各種各樣的設備,驅動硬件是操作系統最基本的功能,并且提供統一的操作方式。設備驅動程序是內核的一部分,硬件驅動程序是操作系統最基本的組成部分,在Linux內核源程序中也占有60%以上。因此,熟悉驅動的編寫是很重要的。
在第2章中已經提到過,Linux內核中采用可加載的模塊化設計(LKMs,Loadable Kernel Modules),一般情況下編譯的Linux內核是支持可插入式模塊的,也就是將最基本的核心代碼編譯在內核中,其他的代碼可以編譯到內核中,或者編譯為內核的模塊文件(在需要時動態加載)。
常見的驅動程序是作為內核模塊動態加載的,比如聲卡驅動和網卡驅動等,而Linux最基礎的驅動,如CPU、PCI總線、TCP/IP協議、APM(高級電源管理)、VFS等驅動程序則直接編譯在內核文件中。有時也把內核模塊叫做驅動程序,只不過驅動的內容不一定是硬件罷了,比如ext3文件系統的驅動。因此,加載驅動就是加載內核模塊。
這里,首先列舉一些模塊相關的命令。
n lsmod列出當前系統中加載的模塊,其中左邊第一列是模塊名,第二列是該模塊大小,第三列則是使用該模塊的對象數目。如下所示:
$ lsmod
Module Size Used by
Autofs 12068 0 (autoclean) (unused)
eepro100 18128 1
iptable_nat 19252 0 (autoclean) (unused)
ip_conntrack 18540 1 (autoclean) [iptable_nat]
iptable_mangle 2272 0 (autoclean) (unused)
iptable_filter 2272 0 (autoclean) (unused)
ip_tables 11936 5 [iptable_nat iptable_mangle iptable_filter]
usb-ohci 19328 0 (unused)
usbcore 54528 1 [usb-ohci]
ext3 67728 2
jbd 44480 2 [ext3]
aic7xxx 114704 3
sd_mod 11584 3
scsi_mod 98512 2 [aic7xxx sd_mod]
n rmmod是用于將當前模塊卸載。
n insmod和modprobe是用于加載當前模塊,但insmod不會自動解決依存關系,即如果要加載的模塊引用了當前內核符號表中不存在的符號,則無法加載,也不會去查在其他尚未加載的模塊中是否定義了該符號;modprobe可以根據模塊間依存關系以及/etc/modules.conf文件中的內容自動加載其他有依賴關系的模塊。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- Linux設備驅動開發詳解 51次下載
- 《Linux設備驅動開發詳解》第5章、Linux文件系統與設備文件系統 0次下載
- 《Linux設備驅動開發詳解》第6章、字符設備驅動 23次下載
- 《Linux設備驅動開發詳解》第7章、Linux設備驅動中的并發控制 10次下載
- 《Linux設備驅動開發詳解》第8章、Linux設備驅動中的阻塞與非阻塞IO 9次下載
- 《Linux設備驅動開發詳解》第9章、Linux設備驅動中的異步通知與異步IO 0次下載
- 《Linux設備驅動開發詳解》第13章、Linux塊設備驅動 18次下載
- 《Linux設備驅動開發詳解》第14章、Linux終端設備驅動 8次下載
- 《Linux設備驅動開發詳解》第16章、Linux網絡設備驅動 5次下載
- 《Linux設備驅動開發詳解》第17章、Linux音頻設備驅動 17次下載
- 《Linux設備驅動開發詳解》第18章、LCD設備驅動 13次下載
- 《Linux設備驅動開發詳解》第23章、Linux設備驅動的移植 9次下載
- Linux設備驅動開發入門
- Linux的設備驅動程序開發
- 嵌入式Linux設備驅動開發
- Linux 驅動開發與應用開發,你知道多少? 871次閱讀
- Linux內核驅動與單個PCI設備的綁定和解綁定 1730次閱讀
- 一文總結linux的platform驅動 1199次閱讀
- 如何寫一個Linux設備驅動程序 4532次閱讀
- Linux設備驅動開發的基本知識 4393次閱讀
- Linux驅動到底能不能在應用層開發驅動 6165次閱讀
- 米爾科技Linux設備驅動研究淺談 2035次閱讀
- 米爾科技LINUX設備驅動程序教程 2103次閱讀
- 基于PXA255開發板外圍字符設備的嵌入式Linux字符設備驅動設計與應用 1199次閱讀
- 基于嵌入式Linux內核的系統設備驅動程序開發設計 1209次閱讀
- 可動態安裝的Linux設備驅動程序 1012次閱讀
- 想要駕馭Linux驅動開發,必須深刻理解Linux總線設備驅動框架 1w次閱讀
- 嵌入式Linux驅動開發基礎總結(上篇) 8518次閱讀
- 基于FPGA嵌入式系統的設備驅動開發 2338次閱讀
- 關于Linux設備驅動中input子系統的介紹 2711次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論