基于缓冲区的驱动程序架构设计的方法及系统的制作方法

文档序号:6527100阅读:217来源:国知局
基于缓冲区的驱动程序架构设计的方法及系统的制作方法
【专利摘要】本发明提供了一种基于缓冲区的驱动程序架构设计的方法及系统,该基于缓冲区的驱动程序架构设计的方法包括缓冲区层驱动程序、逻辑通道层驱动程序、物理通道层驱动程序。本发明的有益效果是:本发明设计的驱动程序架构为基带业务处理提供了四类抽象的、统一的缓冲区接口,在跨平台移植性、健壮性和可配置性等方面都比传统的驱动程序接口有较大的提高。
【专利说明】基于缓冲区的驱动程序架构设计的方法及系统
【技术领域】
[0001]本发明涉及移动通信领域,尤其涉及基于缓冲区的驱动程序架构设计的方法及系统。
【背景技术】
[0002]在移动通信基带业务的数字信号处理(嵌入式)领域,各种基带业务(WIMAX、LTE、UMTS、TD-SCDMA、GSM等)运行在一套驱动程序平台软件上,或者一种基带业务在一套驱动程序平台软件的支持下运行在多种硬件平台上。在现有的处理技术中,为了达到对底层支持多种硬件平台、对高层支持多种基带业务的需求,软件平台需要为每种硬件平台和每种业务处理提供完全定制的驱动程序。当业务需要更换硬件平台时,软件平台(驱动程序软件)中与硬件平台相关的代码就需要进行大幅度的修改。目前在嵌入式领域,还不存在既支持TI硬件平台,又支持Freescale硬件平台及其它硬件平台的的软件平台。
[0003]在移动通信基带业务的数字信号处理(嵌入式)领域,为了达到对底层支持多种硬件平台、对高层支持多种基带业务的需求,软件平台需要为每种硬件平台和每种业务处理提供完全定制的驱动程序。当业务需要更换硬件平台时,软件平台(驱动程序软件)中与硬件平台相关的代码就需要进行大幅度的修改。这种修改对软件设计、开发、测试、维护带来较大的工作量和风险。由此可见,传统的架构方式使得驱动程序软件(软件平台)在可重用性、可移植性、可配置性、可维护性等方面存在一定的缺陷。
[0004]在移动通信基带业务的数字信号处理(嵌入式)领域,各种基带业务(WIMAX、LTE、UMTS、TD-SCDMA、GSM等)运行在一套驱动程序平台软件上,或者一种基带业务在一套驱动程序平台软件的支持下运行在多种硬件平台上。例如,通用DSP芯片(如TI DSP、FreescaleDSP,LSI DSP等)或带有DSP处理器核或CPU核的S0C芯片等硬件平台。在传统的处理中,为了达到对底层支持多种硬件平台、对高层支持多种基带业务的需求,软件平台需要为每种硬件平台和每种业务处理提供完全定制的软件。例如,基带业务的版本A运行在TI DSP上,相同基带业务的版本B运行在Freescale DSP上,为了支持这两套硬件平台,软件平台常采用的架构方案是分别提供两套驱动程序,而且两套驱动程序接口函数也不一致(接口一般设计为依赖硬件,硬件不同,接口函数也不同)。这样导致的后果是,业务版本A如果需要运行在Freescale DSP硬件平台上或业务版本B需要运行在TI DSP硬件平台上,业务版本A或业务版本B的软件平台中与硬件平台相关的代码就需要进行大幅度的修改,这种修改对软件设计、开发、测试、维护带来较大的工作量和风险。由此可见,传统的软件平台架构方式使驱动程序软件(软件平台)在可重用性、可移植性、可配置性、可维护性等方面存在一定的缺陷。
[0005]在通用计算机领域,目前有Windows、Linux、Unix等商用或开源操作系统提供统一界面的(比如Linux的VFS接口)、跨平台(支持ARM/X86/MIPS/SPARC/SH等)的软件平台。但在嵌入式领域,例如TI提供的DSP/B10S平台只支持TI系列的DSP,Freesacle的SmartDSP OS只支持Freescale系列DSP等,目前还不存在既支持TI硬件平台,又支持Freescale硬件平台及其它硬件平台的的软件平台。

【发明内容】

[0006]为了解决现有技术中的问题,本发明提供了一种基于缓冲区的驱动程序架构设计的方法。
[0007]本发明提供了一种基于缓冲区的驱动程序架构设计的方法,包括缓冲区层驱动程序、逻辑通道层驱动程序、物理通道层驱动程序,基带业务使用缓冲区驱动程序提供的函数接口 ;缓冲区驱动程序与逻辑通道驱动程序是继承关系,逻辑通道实现缓冲区的函数指针指向的函数,并在逻辑通道创建实例时给缓冲区的函数指针赋值;逻辑通道驱动程序与物理通道驱动程序是组合关系或聚合关系,在一个物理通道上能够支持多个逻辑通道,逻辑通道层驱动程序使用物理通道层驱动程序的操作函数,通过配置函数进行配置;物理通道驱动程序操作的是硬件,完成数据的接收和发送。
[0008]作为本发明的进一步改进,缓冲区包括循环缓冲区、块缓冲区、帧缓冲区以及固定缓冲区,该方法还包括循环缓冲区接口、块缓冲区接口、帧缓冲区接口以及固定缓冲区接□。
[0009]作为本发明的进一步改进,所述循环缓冲区包括读指针、写指针、预读指针、预写指针,所述固定缓冲区每次读写时,指定源地址、目的地址和长度。
[0010]作为本发明的进一步改进,所述块缓冲区具有如下特征:通过读写指针维护该缓冲区;总的块数目必须大于等于2 ;读取每个块的数据时,返回长度都为该块内有效数据的长度;同一个块,同一时刻支持多次写操作,不支持多次读操作。
[0011]作为本发明的进一步改进,所述帧缓冲区具有如下特征:
[0012]帧缓冲区使用队列进行管理,队列至少含有消息队列和空闲队列;
[0013]每个队列元素指向的帧缓冲区大小是相同的;
[0014]每个队列元素和每个帧缓冲区是绑定的。
[0015]本发明还提供了一种基于缓冲区的驱动程序架构设计的系统,包括缓冲区层驱动程序、逻辑通道层驱动程序、物理通道层驱动程序,基带业务使用缓冲区驱动程序提供的函数接口 ;缓冲区驱动程序与逻辑通道驱动程序是继承关系,逻辑通道实现缓冲区的函数指针指向的函数,并在逻辑通道创建实例时给缓冲区的函数指针赋值;逻辑通道驱动程序与物理通道驱动程序是组合关系或聚合关系,在一个物理通道上能够支持多个逻辑通道,逻辑通道层驱动程序使用物理通道层驱动程序的操作函数,通过配置函数进行配置;物理通道驱动程序操作的是硬件,完成数据的接收和发送。
[0016]作为本发明的进一步改进,缓冲区包括循环缓冲区、块缓冲区、帧缓冲区以及固定缓冲区,该方法还包括循环缓冲区接口、块缓冲区接口、帧缓冲区接口以及固定缓冲区接□。
[0017]作为本发明的进一步改进,所述循环缓冲区包括读指针、写指针、预读指针、预写指针,所述固定缓冲区每次读写时,指定源地址、目的地址和长度。
[0018]作为本发明的进一步改进,所述块缓冲区具有如下特征:通过读写指针维护该缓冲区;
[0019]总的块数目必须大于等于2 ;[0020]读取每个块的数据时,返回长度都为该块内有效数据的长度;
[0021]同一个块,同一时刻支持多次写操作,不支持多次读操作。
[0022]作为本发明的进一步改进,所述帧缓冲区具有如下特征:
[0023]帧缓冲区使用队列进行管理,队列至少含有消息队列和空闲队列;
[0024]每个队列元素指向的帧缓冲区大小是相同的;
[0025]每个队列元素和每个帧缓冲区是绑定的。[0026]本发明的有益效果是:本发明在分析现有的移动通信基带业务(包括WIMAX、LTE、UMTS、TD-SCDMA、GSM等)数据处理特点的基础上,得到四类基于缓冲区的基带业务(包括基于循环缓冲区的业务、基于块缓冲区的业务、基于帧缓冲区的业务、基于固定缓冲区的业务等)。根据这四类缓冲区业务,抽象出四类缓冲区,并基于这四类缓冲区设计出嵌入式软件平台的设备驱动程序架构。本发明设计的驱动程序架构为基带业务处理提供了四类抽象的、统一的缓冲区接口,在跨平台移植性、健壮性和可配置性等方面都比传统的驱动程序接口有较大的提高。
【专利附图】

【附图说明】
[0027]图1是本发明的基于缓冲区的驱动程序架构图。
[0028]图2是本发明的循环缓冲区结构图。
[0029]图3是本发明的块缓冲区结构图。
[0030]图4是本发明的帧缓冲区结构图。
[0031]图5是本发明的固定缓冲区结构图。
【具体实施方式】
[0032]对移动通信基带业务(11獻1、1^^.13、10-300獻、631等)数据处理进行分析后,可以发现基带业务处理具有的如下特点:
[0033]①因为处理器和外设接口的数据处理速度不同、业务数据流量大等原因,业务数据包括控制流、媒体流、调测流等数据都使用缓冲区进行数据缓存;
[0034]②从处理速度、内存资源占用进行考虑,对缓冲区的操作可以分为先拷贝再处理的读写(带拷贝的读写)方式和不拷贝直接在缓冲区上处理的读写这两种方式;
[0035]③基带业务类型决定了缓冲区的属性,这些属性包括缓冲区类型(包括循环缓冲区、块循环区、帧缓冲区以及固定缓冲区)、大小、level (在DDR RAM、片内Level 1RAM,片内Level2RAM等)、读写方式(带拷贝读写还是直接读写)、是否需要使用DMA进行辅助传输等;
[0036]④基带业务可抽象为四种缓冲区业务,即循环缓冲区业务、块缓冲区业务、帧缓冲区业务和固定缓冲区业务。本发明设计了四类相似的缓冲区接口,它们是循环缓冲区接口、帧缓冲区接口、块缓冲区接口和固定缓冲区接口。
[0037]本发明设计的基于缓冲区的驱动程序架构如图1所示,架构可分为以下三层:
[0038]①缓冲区层(框架层)驱动程序:此层与设备无关,支持跨平台、可重用等需求;
[0039]②逻辑通道层驱动程序:逻辑通道与硬件设备和基带业务都相关,所以不同的硬件设备或不同的基带业务,需实现继承缓冲区特性的驱动程序;
[0040]③物理通道层驱动程序:物理通道与硬件设备相关,所以不同的硬件设备,需实现不同的驱动程序。
[0041]上述驱动程序的三层架构设计满足依赖倒置原则,高层基带业务程序和底层驱动程序都依赖缓冲区框架层,底层驱动驱动程序实现缓冲区框架要求的功能,而高层基带业务使用缓冲区框架提供的功能,高层基带业务和底层驱动程序互不相关,互相独立(低耦合)。其中,本发明在架构中引入了逻辑通道的概念,一种逻辑通道对应一个缓冲区/应用实例。逻辑通道与物理通道的区别在于,一个物理通道可以支持多个逻辑通道,这种机制使每种业务处理可以使用独立的逻辑通道,减少共享通道所带来的互斥操作,提高效率和稳定性。此外,该驱动程序架构可以采用C语言的面向对象设计,实现继承模式,使缓冲区操作具有多态性,满足各逻辑通道类的缓冲区读写、接收和发送等操作要求。
[0042]在图1所示的驱动程序架构图中,缓冲区分为循环缓冲区、块缓冲区、帧缓冲区以及固定缓冲区。
[0043]其中,图2所示的循环缓冲区具有如下特征:
[0044]①通过读写指针维护该缓冲区(实际上还有预读和预写指针),默认各种指针的更新单位为Byte ;
[0045]②应用每次填入的数据包长度可以不相等,由于数据长度不相等,一般在数据包中存在数据长度字段;
[0046]③每次填写的数据包默认都是4字节对齐的(应用数据包可以不对齐,驱动程序完成对齐工作);
[0047]④当缓冲区(Buffer)尾部空间不足时,需要增加Pad包(默认Pad包格式:0xFFFF0000+Pad 长度)。假设 Pad 长度为 256,则 Pad 包为 0xFFFF0100。
[0048]图3所示的块(bank)缓冲区则具有以下特征:
[0049]①通过读写指针维护该缓冲区;
[0050]②各种指针的更新单位为一个Bank Size ;
[0051]③应用每次填入的数据包长度可以不相等,但是每次填写不能超过一个BankSize ;
[0052]④总的Bank数目必须大于等于2,即η≥2 ;
[0053]⑤读取每个Bank的数据时,返回长度都为该Bank内有效数据的长度;
[0054]⑥同一个Bank,同一时刻支持多次写操作,不支持多次读操作;
[0055]⑦目前不能将此类型Buffer管理用于芯片间(由于接收端没有接收到Bank写指针,除非定时将这些写指针发送到接收端)。
[0056]图4所示的帧缓冲区具有如下特征:
[0057]①帧缓冲区(Frame Buffer)使用队列进行管理,队列一般来说至少含有消息队列(MsgQue)和空闲队列(FreeQue);
[0058]②每个队列元素指向的Frame Buffer大小是相同的;
[0059]③每个Frame Buffer之间可以是连续的,也可以是不连续的;
[0060]④应用的数据包长度可变,但不能超过Frame Size, 一般在队列元素中有字段表示数据包长度;
[0061]⑤每个队列元素和每个Frame Buffer是绑定的。
[0062]图5所示的固定缓冲区具有如下特征:[0063]①驱动不作任何的缓存;
[0064]②每次读写时,指定源地址、目的地址和长度;
[0065]③类似Copy函数,将某种长度的数据从某地址Copy到另一地址开始的空间。
[0066]如图1所示,本发明采用C语言的面向对象设计,其模块之间的相互关系如下:
[0067]①基带业务使用缓冲区驱动程序(缓冲区类)提供的函数接口 ;
[0068]②缓冲区驱动程序与逻辑通道驱动程序(逻辑通道类)是继承关系,逻辑通道类继承缓冲区类。逻辑通道实现缓冲区的函数指针指向的函数,并在逻辑通道创建实例时给缓冲区的函数指针赋值;
[0069]③逻辑通道驱动程序与物理通道驱动程序(物理通道类)是组合关系/聚合关系,在一个物理通道上可以支持多个逻辑通道,驱动程序中逻辑通道类使用物理通道类的操作函数,通过配置函数进行配置;
[0070]④物理通道驱动程序(物理通道类)操作的是硬件,完成数据的接收和发送。
[0071]应用本发明设计的驱动程序架构,驱动程序中移动通信基带业务操作的过程分析如下:
[0072]①缓冲区的读写,包括带拷贝的读写或直接读写,只需要最多1次回调函数。例如循环缓冲区,需调用逻辑通道类的缓冲区读写函数,这次回调是为了支持多种循环缓冲区格式的读与;
[0073]②缓冲区的接收和发送,只需要进行2次函数调用即可进行接收或发送。这2次函数调用分别是缓冲区类(作为基类或父类)调用逻辑通道类(作为派生类或子类)接口,逻辑通道类接口调用物理通道类(硬件)接口,就能完成硬件的操作接收和发送。与Linux采用虚拟文件系统进行数据接收和发送(系统调用后还需要6次函数调用)相比,本发明中函数回调次数大大减少,程序运行效率提升。
[0074]由图1可以看出,按照分层/模块的思想,基于四类缓冲区的驱动程序架构可采用面向对象方法进行设计,包括以下三个内容:
[0075]①缓冲区结构及接口设计
[0076]首先进行缓冲区层(框架层)结构及接口设计,它包括下面两个步骤:
[0077]第1步:参考图2至图5,按照循环缓冲区、块缓冲区、帧缓冲区、固定缓冲区的结构图,将缓冲区分别命名为 struct T_CyclicBuf, struct T_BankBuf, struct T_FrameBuf,struct T_FixBuf,并根据结构图确定各缓冲区结构的结构成员;
[0078]第2步:进行缓冲区类的接口设计。针对缓冲区设计出各种框架函数,例如xx_read (), xx_write (), xx_send()等,xx 代表缓冲区名。
[0079]②逻辑通道结构及接口设计
[0080]其次是逻辑通道层结构及接口设计,它也包括了两个步骤,具体如下:
[0081]第1步:逻辑通道类的结构设计,逻辑通道类继承缓冲区类,在C语言中,继承关系需将缓冲区类的结构置于逻辑通道类的第1个结构成员,缓冲区类可以被多个逻辑通道类继承,从而支持多种缓冲区操作。例如,基于循环缓冲区的Srio Directio通道的结构设计如下:
[0082]struct T—CyclicBuf—SrioDirectioCh ;
[0083]第2步:逻辑通道类的接口设计。逻辑通道类的大多数函数是实现缓冲区类相关函数指针,这些函数不对外开放,只有创建和关闭函数,以及少量的逻辑通道类特有函数对外开放。例如,struct T_CyclicBuf_SrioDirectioCh 的创建和关闭函数 yy_open ()和 yy_close (),yy是逻辑通道模块名。
[0084]③物理通道结构及接口设计。
[0085]最后是物理通道层结构及接口设计。物理通道完全由硬件通道决定,包括结构和接口。例如,物理通道结构为:struct T_SrioDirectioCh ;物理通道接口为zz_open (), zz_close (), zz_transfer ()。
[0086]本发明还公开了一种基于缓冲区的驱动程序架构设计的系统,包括缓冲区层驱动程序、逻辑通道层驱动程序、物理通道层驱动程序,基带业务使用缓冲区驱动程序提供的函数接口 ;缓冲区驱动程序与逻辑通道驱动程序是继承关系,逻辑通道实现缓冲区的函数指针指向的函数,并在逻辑通道创建实例时给缓冲区的函数指针赋值;逻辑通道驱动程序与物理通道驱动程序是组合关系或聚合关系,在一个物理通道上能够支持多个逻辑通道,逻辑通道层驱动程序使用物理通道层驱动程序的操作函数,通过配置函数进行配置;物理通道驱动程序操作的是硬件,完成数据的接收和发送。
[0087]缓冲区包括循环缓冲区、块缓冲区、帧缓冲区以及固定缓冲区,该方法还包括循环缓冲区接口、块缓冲区接口、帧缓冲区接口以及固定缓冲区接口。
[0088]所述循环缓冲区包括读指针、写指针、预读指针、预写指针,所述固定缓冲区每次读写时,指定源地址、目的地址和长度。
[0089]所述块缓冲区具有如下特征:通过读写指针维护该缓冲区;总的块数目必须大于等于2 ;读取每个块的数据时,返回长度都为该块内有效数据的长度;同一个块,同一时刻支持多次写操作,不支持多次读操作。
[0090]所述帧缓冲区具有如下特征:帧缓冲区使用队列进行管理,队列至少含有消息队列和空闲队列;每个队列元素指向的帧缓冲区大小是相同的;每个队列元素和每个帧缓冲区是绑定的。
[0091]采用本发明的架构技术,可使设备驱动程序在可移植性、健壮性、效率、灵活性等方面取得较好的效果。首先是可移植性的提高,主要包括两种可移植性。第一种可移植性是基带业务的可移植性,在基于本发明的软件平台上,只需要修改相关配置,比如缓冲区,任务及其它设备资源分配策略,软件平台就能轻松支持不同的基带业务或同时支持多种基带业务。第二种可移植性是硬件平台的可移植性,通过实现新增的驱动程序(硬件设备相关的部分)来对新的硬件平台的支持,而缓冲区接口保持不变,由于基带业务只使用缓冲区接口,所以基带业务程序不做任何改动,从而轻松达到高层基带业务的跨平台特性。正是由于这两种可移植性,基于本发明架构设计的软件平台支持以下场景的操作:
[0092](1)基带业务的切换。例如从UMTS基带业务切换为基带业务WIMAX或从基带业务UMTS切换为基带业务WIMAX和基带业务LTE,除了修改资源配置、任务配置等配置文件外,底层驱动程序无需修改。
[0093](2)底层驱动程序的切换。例如从TI硬件平台切换为Freescale硬件平台,只需切换到Freescale硬件平台的设备驱动程序,基带业务及调用的软件平台接口即高层业务相关代码不需修改。
[0094]本发明的架构技术也能提高基带业务软件部署的灵活性。例如两模块业务有信息交互,属于循环缓冲区业务,使用循环缓冲区操作接口。现将这两个模块从同一芯片的两个核的部署切换成两个芯片间的两个核的交互,不管芯片间使用何种接口,对于基带业务来说,仍然使用循环缓冲区操作接口完成数据的读写操作,硬件的修改在基带业务看来是透明的,具体的与硬件相关的操作由依赖于缓冲区接口的逻辑通道实现。当然,初始化代码和平台相关的配置代码还需要修改。
[0095]在健壮性的提高方面,本发明的架构技术对四种缓冲区操作进行标准化,提供四套相似的函数接口,包括读、写、接收、发送等操作。由于这些函数接口经过充分测试,并具有较高的可重用性,以及对函数参数进行判断和保证,与传统的直接使用数组或特殊的函数处理相比,这些标准化操作将会减少内存越界等异常,使得程序更加健壮。同时,采用模块化的架构,减少模块与模块之间耦合性,在增加或修改硬件的时候,只需按照缓冲区接口进行本模块驱动程序的设计、实现和测试,降低了修改对整个驱动程序所带来的影响。
[0096]在效率提高方面,本发明的架构技术使用继承机制(C语言使用函数指针)实现缓冲区的各种操作。从基带业务调用缓冲区操作的层次来看,最多只需两层就可以达到操作硬件的目的,完成数据的发送或接收。
[0097]本发明的架构技术为开发统一的、可重用的驱动程序测试平台提供了基础。缓冲区的抽象,使得不管硬件平台如何变化,对外提供的缓冲区接口不会变化,这种变化与不变化,使基于缓冲区的驱动程序测试平台的统一设计和测试例优化变得比较容易。使用本发明,各种硬件平台可重用一套测试例和测试平台。
[0098]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属【技术领域】的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
【权利要求】
1.一种基于缓冲区的驱动程序架构设计的方法,其特征在于,包括缓冲区层驱动程序、逻辑通道层驱动程序、物理通道层驱动程序,基带业务使用缓冲区驱动程序提供的函数接口 ;缓冲区驱动程序与逻辑通道驱动程序是继承关系,逻辑通道实现缓冲区的函数指针指向的函数,并在逻辑通道创建实例时给缓冲区的函数指针赋值;逻辑通道驱动程序与物理通道驱动程序是组合关系或聚合关系,在一个物理通道上能够支持多个逻辑通道,逻辑通道层驱动程序使用物理通道层驱动程序的操作函数,通过配置函数进行配置;物理通道驱动程序操作的是硬件,完成数据的接收和发送。
2.根据权利要求1所述的方法,其特征在于:缓冲区包括循环缓冲区、块缓冲区、帧缓冲区以及固定缓冲区,该方法还包括循环缓冲区接口、块缓冲区接口、帧缓冲区接口以及固定缓冲区接口。
3.根据权利要求2所述的方法,其特征在于:所述循环缓冲区包括读指针、写指针、预读指针、预写指针,所述固定缓冲区每次读写时,指定源地址、目的地址和长度。
4.根据权利要求2所述的方法,其特征在于,所述块缓冲区具有如下特征:通过读写指针维护该缓冲区;总的块数目必须大于等于2;读取每个块的数据时,返回长度都为该块内有效数据的长度;同一个块,同一时刻支持多次写操作,不支持多次读操作。
5.根据权利要求2所述的方法,其特征在于,所述帧缓冲区具有如下特征:帧缓冲区使用队列进行管理,队列至少含有消息队列和空闲队列;每个队列元素指向的帧缓冲区`大小是相同的;每个队列元素和每个帧缓冲区是绑定的。
6.一种基于缓冲区的驱动程序架构设计的系统,其特征在于,包括缓冲区层驱动程序、逻辑通道层驱动程序、物理通道层驱动程序,基带业务使用缓冲区驱动程序提供的函数接口 ;缓冲区驱动程序与逻辑通道驱动程序是继承关系,逻辑通道实现缓冲区的函数指针指向的函数,并在逻辑通道创建实例时给缓冲区的函数指针赋值;逻辑通道驱动程序与物理通道驱动程序是组合关系或聚合关系,在一个物理通道上能够支持多个逻辑通道,逻辑通道层驱动程序使用物理通道层驱动程序的操作函数,通过配置函数进行配置;物理通道驱动程序操作的是硬件,完成数据的接收和发送。
7.根据权利要求6所述的系统,其特征在于:缓冲区包括循环缓冲区、块缓冲区、帧缓冲区以及固定缓冲区,该方法还包括循环缓冲区接口、块缓冲区接口、帧缓冲区接口以及固定缓冲区接口。
8.根据权利要求7所述的系统,其特征在于:所述循环缓冲区包括读指针、写指针、预读指针、预写指针,所述固定缓冲区每次读写时,指定源地址、目的地址和长度。
9.根据权利要求7所述的系统,其特征在于:所述块缓冲区具有如下特征:通过读写指针维护该缓冲区;总的块数目必须大于等于2;读取每个块的数据时,返回长度都为该块内有效数据的长度;同一个块,同一时刻支持多次写操作,不支持多次读操作。
10.根据权利要求7所述的系统,其特征在于,所述帧缓冲区具有如下特征:帧缓冲区使用队列进行管理,队列至少含有消息队列和空闲队列;每个队列元素指向的帧缓冲区大小是相同的;每个 队列元素和每个帧缓冲区是绑定的。
【文档编号】G06F9/44GK103729187SQ201310753185
【公开日】2014年4月16日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】蔡铁, 唐飞, 伍星 申请人:深圳信息职业技术学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1