主题 : Tiny6410安卓系统2.3的内核修改,使其支持nfc问题. 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 75987
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2012-08-16
最后登录: 2014-03-12
楼主  发表于: 2012-11-08 12:10

 Tiny6410安卓系统2.3的内核修改,使其支持nfc问题.

谷歌已经宣布从2.3.3开始全面支持nfc,我也在安卓系统源码包中找到了libnfc-nxp等相关的库。可是为什么内核源码中没有nfc的驱动呢?我买了一块pn532的开发板,连到6410的板子上,在用API提供的方法检测时,没有反应。
我想问下,这个跟内核中没有驱动有关吗?libnfc这个应该是在HAL层的吧,我的理解是有个这个libnfc后,内核中就不再需要nfc驱动了。
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-11-08 12:19
NFC应该是串口或i2c设备吧,凡是设备,都需要驱动的,你指的libnfc只是上层的协议而已,和内核无关
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 75987
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2012-08-16
最后登录: 2014-03-12
2楼  发表于: 2012-11-08 12:23

 回 1楼(mindee) 的帖子

哦。那google说支持 nfc,可是2.3的内核里根本没有驱动,这怎么能支持的起来呢?
级别: 新手上路
UID: 75987
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2012-08-16
最后登录: 2014-03-12
3楼  发表于: 2012-11-08 12:47

 回 1楼(mindee) 的帖子

还有一个问题是,安卓在内核层上还有一个hal(硬件抽象层),这个可能跟一般linux的架构不一样。google加入这一层,是为了避开linux内核中的GPL。 也就是说,硬件厂商的驱动的核心部分都会在HAL层,厂商只负责提供驱动的二进制码,而不是源码。而在内核层,只是进行一些读写操作,至于为什么读,为什么写,这个控制权是在HAL层的。
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
4楼  发表于: 2012-11-08 16:39
驱动的核心部分当然还是在驱动中,并且大部分的驱动是开源的。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 新手上路
UID: 75987
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2012-08-16
最后登录: 2014-03-12
5楼  发表于: 2012-11-08 18:10

 回 4楼(mindee) 的帖子

那请问下,HAL层起到什么作用?如果内核中有这个驱动了,硬件连接正确,那android的板子是否可以检测到这个设备?根据我的实验,这个检测不到。
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
6楼  发表于: 2012-11-08 18:23
关于HAL的描述,请自行搜索查找。

要检测底层驱动,并不需要Android,只需自己写一个c语言测试程序就可以了,详细可以参考Linux设备驱动开发方面的资料

类似我们系统中提供的命令行按键测试,led,pwm,i2c等都是检测底层驱动的例子
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.