内容简介:本人在开发Android Nfc POS之初,探索调试了一番驱动,目前在Nexus 5X 7.1.1上已经调成,之前的步骤可以参考我发的文章,Android驱动开发经验分享如下。/
本人在开发Android Nfc POS之初,探索调试了一番驱动,目前在Nexus 5X 7.1.1上已经调成,之前的步骤可以参考我发的文章,Android驱动开发经验分享如下。
1. Linux 内核驱动实例
以下均在Android Linux内核目录下操作, 在drivers目录下创建驱动目录hello
这个目下要创建3个文件,hello.c, Makefile and Kconfig
1.1 hello.c
cd drivers
mkdir hello
vim hello.c
code as follows:
/ linux kernel driver: hello.c => /dev/hello /
please find the code in the below. here skip the code to make the page clean and clear.
1.2 Makefile
Create the Makefile and add:
obj-y += hello.o
1.3 Kconfig
Create Kconfig and add:
config HELLO
tristate "Eric: First Android Driver"
default n
help
This is the first Android driver.
this file is used when we make menuconfig.
1.4 Modify drivers/Makefile
Add following in the end
obj-y += hello.o
1.5 Add the driver into system configuration
Before we build the kernal, we need to config the system.
1.5.1 Modify arch/arm64/Kconfig
Add following in the end
source "drivers/hello/Kconfig"
It seems that this config not work, may be skipped.
1.5.2 Modify drivers/Kconfig
Following the menu:
menu "Device Drivers"
Please add
source "drivers/hello/Kconfig"
1.5.3 Modify drivers/Kconfig
make menuconfig
To enble the menu 'Eric: First Android Driver' in the "Device Drivers" item.
And save , then to build the linux kernel code.
2. 测试驱动
以下是需要操作的目录在AOSP目录下
2.1 create the application on externel
在external下创建hello目录
目录下将有两个文件:hello.c and Android.mk
cd external
mkdir hello
vim hello.c
/ AOSP app : ./external/hello.c =>/system/bin/hello /
Android.mk as follows:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_MODULE := hello LOCAL_SRC_FILES := $(call all-subdir-c-files) include $(BUILD_EXECUTABLE)
2.2 build the application
To build the hello application
mmm external/hello/
Add it into the system.img
make snod
2.3 Test/Debug the driver hello
Before flash, we can build the AOSP again, of cource, don't forget replace the linux kernel file 'Image.gz-dtb'.
After flash into the phone, reboot the phone, and then do follows:
C:\Users\ylgi>adb devices List of devices attached 01059f9781509a67 device C:\Users\ylgi>adb -s 01059f9781509a67 shell bullhead:/ $ ls
cd /system/bin ./hello
运行效果如上图,表示 Linux 驱动已经成功加载。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Introduction to Programming in Java
Robert Sedgewick、Kevin Wayne / Addison-Wesley / 2007-7-27 / USD 89.00
By emphasizing the application of computer programming not only in success stories in the software industry but also in familiar scenarios in physical and biological science, engineering, and appli......一起来看看 《Introduction to Programming in Java》 这本书的介绍吧!
html转js在线工具
html转js在线工具
HSV CMYK 转换工具
HSV CMYK互换工具