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

 下面以添加一個字符設備爲例,說明添加設備驅動的過程.塊設備與網絡設備可以比照處理.
0.原文件放在 linux-2.4.x/driver/char/ ;本例中,名爲xyz.c
1.設備驅動原文件必須包括這樣的一個函數:
          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 調用它
2.修改 linux-2.4.x/driver/char/Makefile 在適當位置添加一行:
          obj_$(CONFIG_XYZ) += xyz.o
3.修改linux-2.4.x/driver/char/Config.in, 添加一行:
           bool   'xyz hahahaha' CONFIG_XYZ
   便於在 make menuconfig 時選擇
4.修改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   
5. 修改vendor/Samsung/4510b/Makefile ,建立設備節點;
 在12---35行間,DEVICE 部分添加 如下內容
    xzy,c,254,0

6.make menuconfig 選中 xyz hahahaha,
編譯,下載;啓動後你會看到 /proc/devices 中字符設備多了一項 xyz 254
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章