註冊乙個字元裝置的方法是使用:
int register_chrdev(unsigned int major, const char *name, struct file_operations *fops);
這裡,
major 是感興趣的主編號,
name 是驅動的名子(出現在 /proc/devices),
fops 是預設的file_operations 結構.
乙個對 register_chrdev 的呼叫為給定的主編號註冊 0 - 255 的次編號, 並且為每
乙個建立乙個預設的 cdev 結構. 使用這個介面的驅動必須準備好處理對所有 256 個次編號的 open
呼叫( 不管它們是否對應真實裝置 ), 它們不能使用大於 255 的主或次編號.
若主裝置號設為0 則核心自動分配主裝置號
從系統中去除裝置的正確的函式是:
int unregister_chrdev(unsigned int major, const char *name);
major 和 name 必須和傳遞給 register_chrdev 的相同, 否則呼叫會失敗
例如#define sddev_major 200
static const struct file_operations dev_fops=;
register_chrdev(sddev_major,"sddev",&dev_fops);
unregister_chrdev(sddev_major,"sddev");
Linux裝置掛載和解除安裝
管理儲存裝置的第一步是把裝置鏈結到檔案系統樹中.稱為掛載.etc fstab 字段 字段內容說明1 裝置名傳統上,這個字段包含與物理裝置相關聯的裝置檔案的實際名字,比如說 dev hda1 第乙個 ide 通道上第乙個主裝置分割槽 然而今天的計算機,有很多熱插拔裝置 像 usb 驅動裝置 許多現代的...
Linux字元裝置驅動的註冊
很多學習linux程式設計的新人都會被字元裝置註冊搞糊塗了,我剛開始也一樣糊里糊塗的,看到網上例程有各種版本,就是呼叫module init時傳遞的實參,先記為 init 大家可能還會看到雜項裝置驅動misc register 平台裝置驅動platform device register 但是作為l...
Linux 中字元裝置的註冊
linux中字元裝置的註冊過程是比較簡單的。我們通常可以呼叫misc register 函式來註冊乙個字元裝置。misc裝置是一種字元裝置,通過該裝置可以將fops請求 給註冊的misc裝置,從而實現字元裝置的功能。使用者呼叫該介面註冊misc字元裝置時,可以動態分配裝置minor號,當獲取mino...