1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

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

      更新時間: 2007-06-08 11:18:12來源: 粵嵌教育瀏覽量:877

        下面以添加一個字符設備為例,說明添加設備驅動的過程.塊設備與網絡設備可以比照處理.

        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.
        
        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

        ////過程其實簡單,我寫過一個很簡單的,在red hat 80下可以正常編譯,起動,使用;在uclinux下就是不能正常引導;浪費了幾天青春,后來才發現,我的源文件里包含了一些有害的宏. 去掉后一切正常..

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲一区二区三区下卡精品 | 亚洲欧美激情综合在线观看 | 亚洲欧美另类久久久精品能播放 | 中文字幕级片在线播放 | 亚洲日韩欧美一区二区 | 亚洲欧美中文字幕永久有效 |