資料結構
cdev include/linux/cdev.h 子符裝置的核心抽象
file_operations include/linux/fs.h 字元裝置驅動程式操作集
dev_t include/linux/types.h 主/次裝置號
poll_table include/linux/poll.h 處於輪詢等待資料狀態的驅動程式擁有的等待隊列表
核心程式設計
alloc_chrdev_region() fs/char_dev..c 申請動態分配裝置號
unregister_chrdev_region() fs/char_dev.c 執行與alloc_chrdev_region()相反的動作
cdev_del() fs/char_dev.c 移除乙個cdev
cdev_add() fs/char_dev.c 將裝置號cdev 繫結
核心 驅動 字元裝置驅動程式 3
open和release open方法 提供給驅動程式以初始化的能力,open方法應完成以下工作 檢查裝置特定的錯誤 如果裝置是首次開啟,則對其進行初始化工作 如有必要,更新f op元件 分配並填寫置於filp private data裡的資料結構 int open struct inode ino...
linux 驅動程式 高階字元驅動程式
ioctl方法 驅動程式的原型實現 int ioctl struct inode inode,struct file filp,unsigned int cmd,unsigned long arg ioctl 命令選擇 位段結構 number direction ioc read ioc write...
Linux裝置驅動程式 字元裝置驅動程式設計
linux對裝置的操作與對檔案的操作是一樣的,可以看到乙個裝置所對應的檔案。我們平時用的read write等函式也可以用於裝置檔案。字元裝置 以字元為單位 按照順利操作 沒有快取區,故不支援隨機讀寫 例外 幀快取裝置,如顯示卡,是可以隨機訪問的 裝置號由主裝置號與次裝置號組成。主裝置號標識裝置對應...