手机驱动

以按键驱动为例,驱动源代码为buttons_drv.c

1、进入目录linux-kernel-samsung-dev\drivers\char

            新建目录key_arm,并将驱动程拷贝进去

            mkdir key_drv

    2、在key_arm目录里编写里Kconfig文件,内容如下:

            menu "button driver"

            config BUTTON

                    tristate "BUTTON"

                    default n

                    help

                      The button water made by buttons which was used by platform.

            endmenu

    3、在key_arm目录里编写里Makefile文件,内容如下:

            obj-$(CONFIG_BUTTON) += buttons_drv.o

    4、修改key_arm上级目录char里的Makefile文件

            增加: obj-$(CONFIG_BUTTON) += key_arm/

    5、修改key_arm上级目录char里的Kconfig文件

            增加:source "drivers/char/key_arm/Kconfig"

    6、执行make menuconfig命令弹出菜单,然后按照下面步骤一一进入

            Device Drivers  --->

                Character devices  ---> 

                    button driver  --->

                        <*> BUTTON 

    7、编译内核

             make zImage -j2

    8、将生成的zImage拷贝到/tftpboot 

             cp arch/arm/boot/zImage /tftpboot/

    9、重启开发板

            [root@farsight /]# ls /dev/buttons

            /dev/buttons

    10、执行编译好的应用程序测试

            [root@farsight /]# ./button

            ------buttons_open------

            -------buttons_handler------------

            key pressed

            按下

            -------buttons_handler------------

             key up

            松开

=============================分割线================================

总的config文件

ubuntu@ubuntu:/work1/1168MP/kernel/msm-3.18/drivers/misc$ vi ../../arch/arm/configs/sunmi_msm8937_defconfig

查看哪些被改过了

后面改了这几个 发现mytest居然能用啦

1 ubuntu@ubuntu:/work1/1168MP/kernel/msm-3.18/drivers/misc$vi ../../arch/arm/configs/sunmi_msm8937_defconfig

2、ubuntu@ubuntu:/work1/1168MP/kernel/msm-3.18/drivers/misc$ vi Kconfig

3、ubuntu@ubuntu:/work1/1168MP/kernel/msm-3.18/drivers/misc$ vi Makefile

4、改完之后去到下面目录 可以用 ls -a 查看有无 .config文件 打开它 ubuntu@ubuntu:/work1/1168MP/out/target/product/zqp1168_p2lite/obj/kernel/msm-3.18$ vi .config

然后查看CONFIG_MYHELLO 是否已经根据 改了m或y

查看方法为:shift+g到文末; 然后 /MYHELLO ;就可定位到CONFIG_MYHELLO

ubuntu@ubuntu:/work1/1168MP/kernel/msm-3.18/drivers/misc$ ls ../../arch/arm/configs/ -l |grep sun

-rw-rw-r-- 1 ubuntu ubuntu 17196 7月 27 17:02 sunmi_msm8937_defconfig

-rw-rw-r-- 1 ubuntu ubuntu 16014 7月 9 14:58 sunmi_msm8937-perf_defconfig

-rw-rw-r-- 1 ubuntu ubuntu 2746 7月 9 14:58 sunxi_defconfig

查找一个文件在哪 可以用

ubuntu@ubuntu:/work1/1168MP/kernel/msm-3.18/drivers/misc$ find / -type f -name ".config"

猜你喜欢

转载自blog.csdn.net/qq_41831724/article/details/81557668