Linux設備驅(qū)動3快速參考匯總-建立和運行模塊-基礎電子_第1頁
Linux設備驅(qū)動3快速參考匯總-建立和運行模塊-基礎電子_第2頁
Linux設備驅(qū)動3快速參考匯總-建立和運行模塊-基礎電子_第3頁
Linux設備驅(qū)動3快速參考匯總-建立和運行模塊-基礎電子_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯Linux設備驅(qū)動3快速參考匯總--建立和運行模塊-基礎電子作者:孫曉明,華清遠見嵌入式學院講師。

insmod

modprobe

rmmod

用戶空間工具,加載模塊到運行中的內(nèi)核以及去除它們.

#includelinux/init.h

module_init(init_funcTION);

module_exit(cleanup_function);

指定模塊的初始化和清理函數(shù)的宏定義.

__init

__initdata

__exit

__exitdata

函數(shù)(__init和__exit)和數(shù)據(jù)(__initdata和__exitdata)的標記,只用在模塊初始化或者清理時間.為初始化所標識的項可能會在初始化完成后丟棄;退出的項可能被丟棄如果內(nèi)核沒有配置模塊卸載.這些標記通過使相關的目標在可執(zhí)行文件的特定的ELF節(jié)里被替換來工作.

#includelinux/sched.h

重要的頭文件中的一個.這個文件包含很多驅(qū)動使用的內(nèi)核API的定義,包括睡眠函數(shù)和許多變量聲明.

structtask_struct*current;

當前進程.

current-pid

current-comm

進程ID和當前進程的命令名.

obj-m

一個makefile符號,內(nèi)核建立系統(tǒng)用來決定當前目錄下的哪個模塊應當被建立.

/sys/module

/proc/modules

/sys/module是一個sysfs目錄層次,包含當前加載模塊的信息./proc/moudles是舊式的,那種信息的單個文件版本.其中的條目包含了模塊名,每個模塊占用的內(nèi)存數(shù)量,以及使用計數(shù).另外的字串追加到每行的末尾來指定標志,對這個模塊當前是活動的.

vermagIC.o

來自內(nèi)核源碼目錄的目標文件,描述一個模塊為之建立的環(huán)境.

#includelinux/module.h

必需的頭文件.它必須在一個模塊源碼中包含.

#includelinux/version.h

頭文件,包含在建立的內(nèi)核版本信息.

LINUX_VERSION_CODE

整型宏定義,對#ifdef版本依賴有用.

EXPORT_SYMBOL(symbol);

EXPORT_SYMBOL_GPL(symbol);

宏定義,用來輸出一個符號給內(nèi)核.第2種形式輸出沒有版本信息,第3種限制輸出給GPL許可的模塊.

MODULE_AUTHOR(author);

MODULE_DESCRIPTION(description);

MODULE_VERSION(version_string);

MODULE_DEVICE_TABLE(table_info);

MODULE_ALIAS(alternate_name);

放置文檔在目標文件的模塊中.

module_init(init_function);

module_exit(exit_function);

宏定義,聲明一個模塊的初始化和清理函數(shù).

#includelinux/moduleparam.h

module_param(variable,type,perm);

宏定義,創(chuàng)建模塊參數(shù),可以被用戶在模塊加載時調(diào)整(或者在啟動時間,對于內(nèi)嵌代碼).類型可以是bool,charp,int,invbool,short,ushort,uint,ulong,或者intarray.

#includelinux/kern

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論