发明名称 |
一种处理内嵌多模块物联网移动终端设备数据系统的方法 |
摘要 |
本发明涉及一种处理内嵌多模块物联网移动终端设备数据系统的方法,所述系统包括应用单元、内存管理单元、硬件模块,内存管理单元包括Linux内核模块,硬件模块包括硬件内核模块,内存管理单元在应用单元和硬件模块之间建立通信模式,各硬件模块通过天线与外界通信;本发明设计一个内存管理单元驱动模块,与其余各个硬件模块驱动通信,同时它采用了netlink的方式实现底层驱动与上层应用程序的唯一沟通渠道,控制数据的分发和采集。采用本发明,编程上非常灵活,程序效率也非常高。 |
申请公布号 |
CN102629202A |
申请公布日期 |
2012.08.08 |
申请号 |
CN201210058236.1 |
申请日期 |
2012.03.07 |
申请人 |
维图通讯有限公司 |
发明人 |
梁立万;彭钟贤;刘浩 |
分类号 |
G06F9/44(2006.01)I;G06K17/00(2006.01)I |
主分类号 |
G06F9/44(2006.01)I |
代理机构 |
广州市红荔专利代理有限公司 44214 |
代理人 |
李彦孚 |
主权项 |
一种处理内嵌多模块物联网移动终端设备数据系统的方法,所述系统包括应用单元、内存管理单元、硬件模块,内存管理单元包括Linux内核模块,硬件模块包括硬件内核模块,内存管理单元在应用单元和硬件模块之间建立通信模式,各硬件模块通过天线与外界通信;该方法的步骤包括:步骤一:实现内存管理单元驱动内核模块按编写Linux内核模块的基本要求,实现内核模块加载函数、卸载函数和对许可权限的声明等,可以通过insmod命令来调试运行这个驱动模块,调试完毕后可以把此驱动放到Linux源代码树下,编译进内核;步骤二:实现内存管理单元驱动内核模块与应用单元的接口内核管理单元驱动内核模块和应用单元间采用netlink方式通信,在应用单元和内存管理单元驱动内核模块驱动中都申请socket用于交互通信;内存管理单元驱动内核模块先守候来自应用单元的数据包;在应用单元中用进程自身的ID来标志本地地址并绑定,并向内存管理单元驱动内核模块发起会话,内存管理单元驱动内核模块从这次会话中获取应用程序socket被绑定地址的信息,至此,管理单元驱动内核模块和内核空间的通信通道建立;步骤三:分配和组织各驱动硬件模块内存,实现并导出一些关键函数和变量 各驱动硬件模块位于Linux内核空间,在各驱动内核模块中定义全局变量再用EXPORT_SYMBOL()将其(具体名称)导出,可以非常便利快捷地实现数据共享,内存管理单元驱动内核模块作为系统的中心,可以同任何模块通信,而其余模块与模块或应用单元之间,都不直接通信,所有的数据包都要经过内存管理单元,根据各硬件模块业务的不同,所需的工作空间也不一样;步骤四:组装应用单元和内存管理单元之间通信数据包 内存管理单元驱动内核模块内部维护了多个队列,用于接收各个硬件模块的数据,当获取到硬件模块的原始数据后,需要按指定的格式打包上传至应用单元,应用单元有数据或命令要递交给硬件模块时,也需要按照特定格式组包,在将数据传递到硬件内核模块前,需要先将命令码和数据按照硬件内核模块的需求,重新组织数据包,这个识别包再翻译包的过程构成内存管理单元驱动的命令解析环节,同理,在应用程序中,也存在命令解析的环节。 |
地址 |
517000 广东省河源市河源市高新技术开发区科八路 |