Tq210搭载Android4.2系统构建之RFID

时间:2022-09-28 02:11:03

Tq210搭载Android4.2系统构建之RFID

摘 要:以最新的cortex-a8内核的s5pv210处理器为基础而设计的Tq210开发板,搭载Android4。2系统,提供了一种基于整个Android系统构建RFID的途径。

【关键词】s5pv210 android 4.2

1 引言

随着半导体知识产权提供商的领头羊ARM公司推出ArmV7架构,使得微处理器的运算能力再次提升,并且极大地降低了微处理器的价格,同时再搭配目前由网络巨头Google公司引导的Android系统,可以说两者的结合,从实用开发角度而言,无论是从性价比,还是流行程度,是同类对手所无法比拟的。目前虽然基于Android的应用程序开发随处可见,但是将整个软硬件进行整合开发的还没有,而本文正是基于这样的软硬件平台,提出了以RFID为实例,从软硬件整合的角度来进行详细描述。下图1即是整个Android系统的一个调用流程图。

整个Android系统总共分为4层,从下往上分别为Linux kernel层(如上图的Linux内核+Android 扩展),主要提供各种设备的驱动管理,进程调度与内存管理等[2];Hardware Abstract Layer(Hal层,例如上图的HAL调用),主要用于屏蔽驱动层设备管理的差异性,同时为JNI层的调用提供一个一致的接口;Middleware Layer(即上图的Dalvik虚拟机),主要起到一个集成的作用,让上层应用通过JNI调用HAL层提供的接口与底层驱动在一起协同工作,共同的完成相关任务;Application Layer(上图中没有画出),上层应用层为用户的使用提供了各种各样的服务,例如电话、上网等。

2 Android系统之RFID实现

2.1 RFID之驱动实现

驱动层采用SPI总线的方式来管理RFID设备[3],RFID设备驱动采用Linux的分离与分层的思想,将RFID的主设备的驱动与从设备驱动进行分离,从而降低主设备与从设备之间的耦合性,从而可以达到很好的扩展性。同时将RFID的设备与驱动采用分层的思想,分别使用platform_device和platform_driver来进行表示,从而可以实现设备与驱动的独立性,也易于维护与扩展。底层的驱动同时还为上层的HAL层提供一致的调用接口。

2.2 RFID之HAL层实现

在类Linux系统中,设备都是以文件的方式存在的,在HAL层以设备文件的方式操作驱动层提供的文件名,并在JNI层进行初始化调用的时候,将设备文件的指针传递给JNI层,供上层应用使用。

2.3 RFID之JNI层实现

RFID的JNI层实现,使用Java的JNI绑定机制,实现应用层本地函数与JNI层本地函数的一一匹配,并在上层应用初始化的时候,将设备文件的指针从HAL层带回,供后续的上层应用执行相应的特定功能。

2.4 RFID之上层应用实现

RFID的应用层首先使用native关键字[4]来进行RFID的初始化函数、读取串号函数、写入串号函数、关闭函数的标示,然后通过定时器机制进行调度,实现串号的读取,与特定内容的写入。

3 实验测试

测试硬件平台为基于cortex-a8核心的s5pv210处理器,运算速度可高达2000DMIPS,所以可胜任本实验。

经过长达300次的读取、写入测试,在上层应用都能够正确的读取RFID中对应卡片的串号,并能够按照要求,将串号写入指定的位置,基本上没有误差。

4 总结

由ARM公司与Google公司的强强联合,再加上空前强大和壮观的开放手机联盟(OHA),并且在未来的发展趋势潮流下,即软硬件整合,Android注定会受到前所未有的关注,在强大的硬件平台下,性能也必将得到极大地发挥与提高。本文是作者大量的实践经验所得,对于项目的实际开发具有借鉴意义。

参考文献

[1] 马忠梅.ARM Cortex核TI微控制器原理与应用[M].北京航空航天大学出版社,2011.

[2] 王家林.细说Android 4.0NDK编程[M].2012.

[3] 宋宝华.设备驱动开发详解[M].人民邮电出版社,2011.

[4] [美]James Steele Nelson Toandroid.开发秘籍[M].人民邮电出版社,2011.

作者单位

云南农业大学基础与信息工程学院 云南省昆明市 650000

上一篇:探讨早期动脉血碱剩余及乳酸清除率的监测在严... 下一篇:肝内胆管结石合并肝内胆管癌的临床分析

文档上传者
热门推荐 更多>