[发明专利]Linux操作系统CPU数据收发包系统及方法有效
申请号: | 200810211774.3 | 申请日: | 2008-09-23 |
公开(公告)号: | CN101369236A | 公开(公告)日: | 2009-02-18 |
发明(设计)人: | 张君辉;罗友松 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 龙洪;霍育栋 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | linux 操作系统 cpu 数据 收发 系统 方法 | ||
技术领域
本发明涉及CPU收发包技术,尤其涉及一种Linux操作系统CPU数据收发包系统及方法。
背景技术
随着嵌入式产业的高速发展,市场上存在很多种嵌入式操作操作系统,如商业操作系统VxWorks、pSoS、WinCE等,以及开源操作系统Linux、uClinux等。商业操作系统如VxWorks虽然实时性能好,但需要付费,另外操作系统代码对用户不公开,而Linux是免费、开源的,可以应用在软实时的设备上,因此Linux在嵌入式设备的应用越来越广泛。以前很多嵌入式设备采用了商业嵌入式操作系统,因此从降低成本的角度出发,需要从这些遗留系统移植到Linux。
VxWorks是一种硬实时的嵌入式操作系统,采用实内存模式,所有任务运行在同一个地址空间,GDB服务应用程序可以直接访问底层驱动维护的收发包队列。Linux采用虚拟内存管理,上层应用程序运行在用户模式,底层驱动和收发包运行在内核模式,应用程序通过拷贝或映射的方式访问收发包队列。uClinux是Linux的嵌入式版本,它没有采用虚拟内存机制,上层应用程序可以直接访问物理内存。
遗留系统从嵌入式实时操作系统(RTOS)移植到Linux,由于两种操作系统的内存管理模式不同,目前已有的移植方案都是把收发包放在Linux内核实现,然后通过内存拷贝的方式上传到上层应用程序,这种方式存在数据的两次拷贝,因此有必要提出相应的解决办法来提高系统的实时性能。
发明内容
本发明所要解决的技术问题是在于需要提供一种Linux操作系统CPU数据收发包系统及方法,以提高直接内存访问(DMA)硬件上的收发包效率。
为了解决上述技术问题,本发明首先提供了一种Linux操作系统CPU数据收发包系统,该系统包括直接内存访问硬件、Linux系统内核、GNU调试模块及应用程序模块,其中:
直接内存访问硬件,以接收并存储用于GNU调试的调试数据及用于应用程序的用户数据,以及将所述GNU调试的调试结果及应用程序的待发送用户数据发送出去;
Linux系统内核,与所述直接内存访问硬件相连,所述直接内存访问硬件存储所述调试数据时触发中断,将所述调试数据发送给所述GNU调试模块;并将所述GNU调试模块发送的调试结果发送给所述直接内存访问硬件;
GNU调试模块,与所述Linux系统内核相连,用于对所述调试数据进行GNU调试,将GNU调试的调试结果发送给所述Linux系统内核;及
应用程序模块,与所述直接内存访问硬件相连,所述直接内存访问硬件存储有所述用户数据时,对所述用户数据进行应用程序处理;需要发送用户数据时将待发送用户数据发送给所述直接内存访问硬件。
如上所述的系统中,所述直接内存访问硬件可以包括直接内存访问硬件接口、调试接收队列、调试发送队列、应用接收队列及应用发送队列,所述调试接收队列、所述调试发送队列、所述应用接收队列及所述应用发送队列中的每一个均分配有多个内存缓冲区,其中:
直接内存访问硬件接口,用于接收所述调试数据及用户数据,并将所述调试结果及待发送用户数据发送出去;
调试接收队列,与所述直接内存访问硬件接口相连,用于存储所述调试数据;
调试发送队列,与所述直接内存访问硬件接口相连,用于存储所述调试结果;
应用接收队列,与所述直接内存访问硬件接口相连,用于存储所述用户 数据;及
应用发送队列,与所述直接内存访问硬件接口相连,用于存储所述待发送用户数据。
进一步地,所述Linux系统内核可以进一步用于对所述调试接收队列及调试发送队列的初始化;所述应用程序模块可以进一步用于对所述应用接收队列及应用发送队列的初始化。
如上所述的系统中,所述应用程序模块可以周期查询所述直接内存访问硬件,获得所述用户数据的存储地址,根据所述存储地址对所述用户数据进行所述应用程序处理。
如上所述的系统中,所述Linux系统内核触发中断后,可以进一步对所述调试数据进行出错检查,然后发送给所述GNU调试模块。
本发明还提供了一种Linux操作系统CPU数据收发包方法,接收并存储用于GNU调试的调试数据及用于应用程序的用户数据;存储所述调试数据后触发中断,对所述调试数据进行GNU调试,在所述GNU调试结束之后将调试结果发送出去;存储有所述用户数据时,对所述用户数据进行应用程序处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810211774.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能设置手机日期、时间的方法
- 下一篇:烤乳猪的加工方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置