linux驅動小記

2021-05-27 20:29:35 字數 845 閱讀 8679

1、我們常見的驅動程式就是作為核心模組動態載入的,比如音效卡驅動和網絡卡驅動等,而linux最基礎的驅動,如cpu、pci匯流排、tcp/ip協議、apm(高階電源管理)、vfs等驅動程式則編譯在核心檔案中。有時也把核心模組就叫做驅動程式,只不過驅動的內容不一定是硬體罷了,比如ext3檔案系統的驅動。因此,載入驅動時就是載入核心模組。

2、驅動程式沒有main函式,通過使用巨集module_init(初始化函式名) 將初始化函式加入核心全域性初始化函式列表中,在核心初始化時執行驅動的初始化函式,從而完成驅動的初始化和註冊,之後驅動便停止等待被應用軟體呼叫。驅動程式中有乙個巨集moudule_exit(退出處理函式名)註冊退出處理函式。它在驅動退出時被呼叫。驅動程式中是不能使用標準c庫的  。

3、裝置驅動程式將複雜的硬體抽象成乙個結構良好的裝置,並通過提供統一的程式介面為系統的其它部分提供使用裝置的能力和方法。

4、裝置驅動程式是核心**的一部分,應用程式通過作業系統的系統呼叫執行相應的驅動程式函式。中斷則直接執行相應的中斷程式**。

5、裝置驅動程式的file_operations結構體的位址被註冊到核心中的裝置鍊錶中。

6、驅動在作業系統中的位置

7、主裝置號相同的裝置使用相同的驅動程式,次裝置號用於區分具體裝置的例項。

8、系統增加乙個驅動程式就要賦予它乙個主裝置號。這一賦值過程在驅動程式的初始化過程中

int register_chrdev(unsigned int major, const char*name,struct file_operations *fops);

9、裝置已經註冊到核心表中,對於裝置的訪問通過裝置檔案(裝置檔案與裝置驅動程式的主裝置號匹配),核心會呼叫驅動程式中的正確函式

10、.....

linux驅動小記

1 我們常見的驅動程式就是作為核心模組動態載入的,比如音效卡驅動和網絡卡驅動等,而linux最基礎的驅動,如cpu pci匯流排 tcp ip協議 apm 高階電源管理 vfs等驅動程式則編譯在核心檔案中。有時也把核心模組就叫做驅動程式,只不過驅動的內容不一定是硬體罷了,比如ext3檔案系統的驅動。...

linux命令小記

剛換了個工作不久,由於公司 是部署在遠端linux伺服器上的,幸 dan 運 teng 的是在以前的公司只用過window server伺服器啊,對於linux系統命令一點都不曉得啊!如今想想以前過的真輕鬆加愉快啊 不過每次看別人寫命令簡直就是掉渣天的行為啊.作為乙個程式猿。好吧,廢話太多了。更悲劇...

Linux 命令小記

1.tar 命令 壓縮到指定的檔案目錄下 tar zvcf home user test test.tar.gz home user targz ps 將使用者主目錄下的targz檔案目錄及它之下的內容打包備份 壓縮 當前目錄下的好幾個檔案 tar zvcf test.tat.gz a.txt b....