内核---添加驱动

2017年08月30日 16:33    发布者:ludi
怎样修改kconfig第一步:在对应的设备驱动目录下将kconfig打开,然后修改:/999/linux-2.6.32.2/drivers/char中的kconfig打开: 修改后然后保存。在linux目录下终端中输入make menuconfig如下所示:file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C00.tmp.jpgfile:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C01.tmp.jpg 范例1说明:config LEDS_MINI2440        tristate "LED Support for Mini2440 GPIO LEDs" //tristate表示有三种选择*或m或不选//如果tristate换成bool,表示只有两种选择,选中*和不选中        depends on MACH_MINI2440     //依赖于MACH_MINI2440宏,如果定义了改MACH_MINI2440宏,那么上面一行菜单才会出现。        default y if MACH_MINI2440  //即如果选中了MACH_MINI2440才能编译进内核         help          This option enables support for LEDs connected to GPIO lines          on Mini2440 boards.一般可以不用配置依赖的宏:即如下:config LEDS_MINI2440        tristate "LED Support for Mini2440 GPIO LEDs" //tristate表示有三种选择        default y // 如果是y就默认编译进内核,如果为m默认选项选择编译进模块。如是n           //表示默认不选。        Help   //帮助信息          This option enables support for LEDs connected to GPIO lines          on Mini2440 boards.file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C02.tmp.jpg 第二步:在linux根目录下输入make menuconfig即可看到。file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C13.tmp.jpg 第三步:修改makefile(在驱动对应的目下的makefile)file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C14.tmp.jpg 说明obj-$(CONFIG_LEDS_MINI2440) += mini2440_leds.o根据CONFIG_LEDS_MINI2440来决定后面mini2440_leds.o代码的编译方式(有的编译成模块有的编译进内核或者不编译)第四步:写mini2440_leds.c对应的驱动程序第五步:如果编译进内核就在make menuconfig中对应选项选择为*,如果编译为模块就选为m。4.8.8知识点8:编写驱动程序实例:第一步:编写驱动程序:leddeng.c第二步:修改kconfig(在驱动程序对应的目录下的kconfig)file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C24.tmp.jpg 第三步:修改makefile (在驱动程序对应的目录下的kconfig)file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C25.tmp.jpg 第四步:make menuconfig添加选项:(linux根目录下)file:///C:\Users\郭晓娟\AppData\Local\Temp\ksohtml\wps8C26.tmp.jpg 第五步:make modules(编译模块程序)(如果make驱动就直接编译进内核)