在uclinux添加設備驅動的完整過程

下面以添加一個字符設備爲例,說明添加設備驅動的過程.塊設備和網絡設備能夠比照處理. 1.原文檔放在 linux-2.4.x/driver/char/ ;本例中,名爲xyz.c 2.設備驅動原文檔必須包括這樣的一個函數: void xyz_init(void){register(254, 'xyz', &xyz_fops)} 這個函數完成註冊.在linux-2.4.x/driver/mem.c 將會調用他. 這個函數也能夠寫成: void __init xyz_init(void){register(254, 'xyz', &xyz_fops)} 這樣不必須在 linux-2.4.x/driver/mem.c 調用他 3.修改 linux-2.4.x/driver/char/Makefile 在適當位置添加一行: obj_$(CONFIG_XYZ) += xyz.o 4.修改linux-2.4.x/driver/char/Config.in, 添加一行: bool 'xyz hahahaha' CONFIG_XYZ 便於在 make menuconfig 時選擇 5.修改linux-2.4.x/driver/char/mem.c 在適當位置(您去找就會發現,在文檔頭部)添加: #ifdef CONFIG_XYZ extern void xyz_init(void); #endif 在chr_dev_init()函數添加: #ifdef CONFIG_XYZ xyz_init(); #endif 6. 修改vendor/Samsung/4510b/Makefile ,建立設備節點; 在12---35行間,DEVICE 部分添加 如下內容 xzy,c,254,0 7.make menuconfig 選中 xyz hahahaha, 編譯,下載;啓動後您會看到 /proc/devices 中字符設備多了一項 xyz 254
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章