内核裁剪,arm_mini2440开发板中增删自己写的驱动

1、把编译通过的buttons1711.c文件放入

/home/mini2440/linux-2.6.32.2/drivers/char/

2、修改Makefile

        在同一个目录下(第1步中放入.c文件的目录/home/mini2440/linux-2.6.32.2/drivers/char/)打开Makefile:

(法1)(不推荐):在obj-y       += 后面加上buttons1711.o

        然后重新在/home/mini2440/linux-2.6.32.2/中make zImage,再把生成的zImage烧写进开发板就可以用了。

(法2)在底下添加(可找原来类似的位置)

obj-$(CONFIG_BUTTONS1711)      += buttons1711.o

3、修改配置项

在同一个目录下(第1步中的/home/mini2440/linux-2.6.32.2/drivers/char/)打开Kconfig:

添加配置项: (可找原来类似的位置)

config BUTTONS1711
     tristate "Buttons driver for FriendlyARM Mini1711 development boards"
     depends on MACH_MINI2440
     default y if MACH_MINI2440
     help
       this is buttons driver for FriendlyARM Mini1711 development boards

解析:

config BUTTONS1711
    // tristate为类型,三态(Y,N,M),其他类型如bool等
    //双引号中为菜单的解释、提示符
    tristate "Buttons driver for FriendlyARM Mini1711 development boards"
    //依赖
    depends on MACH_MINI2440
    //y表默认编译进内核
    default y if MACH_MINI2440
    //菜单中的帮助提示
    help
       this is buttons driver for FriendlyARM Mini1711 development boards

单选:

choice

。。。。。。

endchoice

4、查看配置项是否更改成功

在/home/mini2440/linux-2.6.32.2/目录下输入:

make menuconfig(若之前修改语法错误则敲完命令会提示出错)

进入Device DriversàCharacter devices可以看到刚才添加的配置项

注:修改了菜单实际上是修改了/mini2440/linux-2.6.32.2/.config

5、生成镜像文件

回到.config目录(/home/mini2440/linux-2.6.32.2/)输入make zImage

会在/home/mini2440/linux-2.6.32.2/arch/arm/boot/中生成zImage

        注:如果是输入make则是全部重新编译,若make成功则make zImage一定成功,make zImage只是产生镜像文件。

        注:cp  config_mini2440_x35  .config则是重新更改配置为config_mini2440_x35的配置,原来的修改也被改回来。

6、把上一步生成的(/home/mini2440/linux-2.6.32.2/arch/arm/boot/zImage)zImage通过minitool(开发板左边开关拨到nor)烧写进开发板即可。

7、查找文件位置

        1.先找到Makefile中的obj-$(CONFIG_BUTTONS1711)名字

        2.在make menuconfig中按"/"输入BUTTONS1711查找位置

        3.通过grep查找

 

猜你喜欢

转载自blog.csdn.net/King_weng/article/details/84781144