谷歌已经宣布从2.3.3开始全面支持nfc,我也在安卓系统源码包中找到了libnfc-nxp等相关的库。可是为什么内核源码中没有nfc的驱动呢?我买了一块pn532的开发板,连到6410的板子上,在用API提供的方法检测时,没有反应。
我想问下,这个跟内核中没有驱动有关吗?libnfc这个应该是在HAL层的吧,我的理解是有个这个libnfc后,内核中就不再需要nfc驱动了。还有一个问题是,安卓在内核层上还有一个hal(硬件抽象层),这个可能跟一般linux的架构不一样。google加入这一层,是为了避开linux内核中的GPL。 也就是说,硬件厂商的驱动的核心部分都会在HAL层,厂商只负责提供驱动的二进制码,而不是源码。而在内核层,只是进行一些读写操作,至于为什么读,为什么写,这个控制权是在HAL层的。