经过一个月的Android学习,终于将一个字符设备驱动程序在android上打通了,记忆力不是很好,为了防止以后自己忘记,在这里特别总结一下,主要经历了以下几步:
一、linux 字符设备驱动的编写(kernel/drivers/char/chr_dev/)
二、linux 字符设备驱动的验证程序(openplatform/android/externl/chr_dev/)
三、硬件抽象层(hal)子程序编写(android/hardware/libhardware/moudles/chr_dev/ 及android/hardware/libhardware/include/)
四、jni 程序编写(android/framework/base/services/jni/)
五、aidl 编写(android/framework/base/core/java/android/os/)
六、aidl 接口具体实现(android/framework/base/services/java/com/android/server/)
七、字符设备文件权限设置 (android/system/core/rootdir/ueventd.rc)
八、字符设备ko文件,自动加载设置(android/openplatform/project/common/kk_4.4_overlay/rootfs/sbin/init.rc)
这里特别提醒自己,在以后编写这种文件比较多的时候,一定要一步一步来,一步一步印证,保证正确性。