一种实现多任务管理输入输出资源的方法及系统的制作方法

文档序号:6339208阅读:320来源:国知局
专利名称:一种实现多任务管理输入输出资源的方法及系统的制作方法
技术领域
本发明涉及电子产品的操作系统管理硬件资源的方法,尤其涉及实现多任务系统管理通用输入/输出(GPIO,General Purpose Input Output)接口资源的方法、系统及装置。
背景技术
目前基于多任务操作系统开发的电子产品中可开放使用的GPIO资源越来越多, 且产品中可通过这些GPIO资源进行控制或检测的对象也越来越丰富。以往的电子产品中采用传统的方式直接操作GPIO资源,会带来大量离散的代码, 且其操作也是极受产品功能约束的;并且,不同程序员的编程习惯和技术水平也各有不同; 诸如此类因素会带来一些问题,例如一个底层对GPIO资源的更改,可能会导致上层所有针对它的应用也要随着改动;一个GPIO资源的删除可能会导致相应的非法地址操作;多个程序并发地操作同一个GPIO资源,可能会造成系统的I/O接口资源冲突等。目前的产品,尤其是嵌入式的终端产品都极力倡导模块化地快速开发,显然那些需依赖具体产品功能的程序模块是无法满足跨产品的快速移植和开发的需要的。结合以上情况,就极具产品特色的GPIO资源来说,非常有必要提出一种能够屏蔽具体的产品功能的统一而有效的管理方法,从而妥善地解决上述问题。在电子产品技术的发展进程中,也能见到一些产品,会在具硬件资源的物理层和使用该硬件资源的应用层之间增加一个中间层(或称隔离层),通过该中间层实现应用层对物理层硬件资源的操作,也即避免应用层中各应用程序直接操作物理层硬件资源而导致硬件资源的冲突甚至系统的崩溃等。但是,这只是利用中间层来实现应用层与物理层硬件资源隔离的技术方案,目前尚无见有利用中间层来实现对物理层硬件资源统一管理的技术方案。

发明内容
本发明所要解决的技术问题是提供一种实现多任务管理输入输出资源的方法及系统,能够隔离具体的产品功能而统一有效地管理I/O接口资源。为了解决上述技术问题,本发明提供了一种实现多任务管理输入输出资源的方法,除了涉及应用层和资源驱动层外,还涉及预先加载的隔离层,该方法包括隔离层在初始化时,初始化处理用于管理所述输入输出资源的资源池和资源配置库,根据资源驱动层的资源注册请求将要管理的资源注册到资源池中;应用层根据通过所述隔离层从资源池探测获取的输入输出资源向隔离层下发资源配置请求;隔离层根据所述资源配置请求将相应的输入输出资源配置到资源配置库中。进一步地,隔离层在所述初始化时还包括启动定期扫描配置在资源配置库中的输入输出资源。
进一步地,资源池是一个能够动态更改的链表数据结构,该链表中的每一节点用于记录每一输入输出的资源属性信息和指向前后输入输出资源节点的指针,资源属性信息包括资源的名称、物理地址、输入输出方向以及有效电平中的一种或多种。进一步地,资源属性信息还包括针对特定的资源指定需要执行的函数,包括指定以下函数中的一个或多个初始化函数,用于对特定的资源在初始化时执行操作;写状态函数,用于对特定的资源在写状态时执行多个写动作序列;读状态函数,用于对特定的资源在读状态时执行多个读动作序列。进一步地,资源配置库包括输入资源配置库和输出资源配置库,输入资源配置库和输出资源配置库均是一个能够动态更改的二维链表数据结构,包括主节点和子节点,主节点包含一链表节点和一个子链表头;其中主节点,对于输出资源配置库是一个用来区分动作集的动作标识码;对于输入资源配置库是一个输入资源的物理地址;链表节点,用来指向与本主节点相邻的前后主节点;子链表头,作为输出资源配置库用于指向主节点下动作集子链表的起始子节点和结束子节点;作为输入资源配置库用于指向主节点下事件集子链表的起始子节点和结束子节点。子节点包含子链表节点,用于指向与本子节点相邻的前后子节点。进一步地,隔离层初始化处理用于管理输入输出资源的资源池和资源配置库,根据资源驱动层的资源注册请求将要管理的资源注册到资源池中,具体包括清空资源池及输入资源配置库、输出资源配置库,创建与应用层和资源驱动层的链接通道;使能链接通道,通过资源注册接口将资源驱动层请求注册的资源及其属性注册到资源池。进一步地,应用层根据从隔离层的资源池请求获取的接口资源向隔离层下发资源配置请求,具体包括应用层通过资源探索接口向隔离层发出资源探索请求,在资源探索接口中传递要探索的输入输出资源的名称信息;隔离层依据所述名称信息从资源池查获到相应的输入输出资源的物理地址,通过资源探索接口返回给应用层;应用层根据物理地址向隔离层请求一空闲的动作标识,用动作标识向隔离层请求配置输出资源配置库的主节点,并通过资源配置接口下发资源配置请求及其动作配置属性;或者,以物理地址为标识向隔离层请求配置输入资源配置库的主节点,并通过资源配置接口下发资源配置请求及其事件配置属性。进一步地,应用层下发的所述动作配置属性包括动作集动作数目和动作模式,动作模式包括 “置有效”、“置无效”、“延时置有效”、“延时置无效”和“闪烁”中的一种或多种;应用层下发的事件配置属性包括输入状态和事件上报方式,输入状态用于表示事件触发的逻辑状态,包括“持续无效”、“持续有效”、“变化”、“无效变有效”以及“有效变无效”中的一种或多种;事件上报方式用于指明事件触发时上报应用层的方式,包括主动上报和被动上报中的任意一种。进一步地,应用层下发的动作配置属性还包括扩展参数和动作集重复次数中的一种或多种, 其中包括当动作模式为“延时置有效”或“延时置无效”时的延时时间扩展参数,当所述动作模式为所述“闪烁”时的周期、占空比和闪烁次数三个扩展参数;应用层下发的所述事件配置属性还包括保持时间、主动上报方式、主动上报参数以及消息体中的一种或多种;其中,保持时间表示逻辑状态为“持续无效”或“持续有效”时的持续时间;主动上报方式表示事件触发后主动上报给应用层的方式,包括直接函数调用或链接通道方式;主动上报参数指定主动上报方式下上报的参数;消息体用于对主动上报方式下上报的事件进行分类,使应用层更详细地知悉上报的事件。进一步地,隔离层根据资源配置请求将相应的输入输出资源配置到资源配置库中,具体包括隔离层检查资源配置接口传递的资源配置属性;若判断配置的是输入输出资源的主节点,则在确认要配置的资源无冲突后,分配一主节点,将资源配置属性作为该主节点配置填充,初始化链表节点和子链表头;然后打开写保护锁,将配置的主节点加入输入资源配置库或输出资源配置库的链表尾端,释放写保护锁;或者,若判断配置的不是主节点,则依据资源配置属性中的物理地址在输入资源配置库中或依据动作标识在输出资源配置库中查找相应的主节点,并在查获的主节点下检查配置的资源无冲突;分配子节点,将事件配置属性或动作配置属性作为子节点配置填充, 初始化子链表节点;打开写保护锁,将配置的子节点加入主节点下相应的子链表尾端,释放写保护锁。进一步地,隔离层启动的定期扫描,具体包括根据从输入资源配置库中获取的事件配置属性,定期扫描输入资源配置库中配置的每一主节点下的每一子节点,通过与资源驱动层之间的资源操作接口读取相应输入端口的输入状态,若根据事件配置属性确定输入状态为事件触发状态,则按事件配置属性规定的事件上报模式上报输入端口触发的事件;或者,根据从输出资源配置库中获取的动作配置属性,定期扫描输出资源配置库中配置的每一主节点下的每一子节点,根据动作配置属性确定该子节点的动作可执行,则依据对应的输出资源当前应输出的逻辑状态并结合动作配置属性中定义的有效电平计算实际输出电平,然后通过与资源驱动层之间的资源操作接口来改变相应输出端口的输出状态。为了解决上述技术问题,本发明提供了一种实现多任务管理输入输出资源的系统,除了包括应用层模块和资源驱动层模块外,还包括预先加载的隔离层模块;其中
资源驱动层模块,用于记录物理层中输入输出资源及其属性,通过资源注册接口向隔离层发出资源注册请求;隔离层模块,用于在初始化时根据资源注册请求将要管理的输入输出资源及其属性注册到一资源池中;根据应用层模块的请求从资源池查获输入输出资源,并返回给应用层模块;将应用层模块所需的输入输出资源配置到资源配置库中;应用层模块,用于将通过隔离层模块从资源池探测获取的输入输出资源及其配置属性向隔离层模块下发资源配置请求。进一步地,隔离层模块在初始化时还启动定期扫描配置在资源配置库中的输入输出资源。进一步地,资源池是一个能够动态更改的链表数据结构,该链表中的每一节点用于记录每一输入输出的资源属性信息和指向相邻的前后输入输出资源节点的指针,资源属性信息包括资源的名称、物理地址、输入输出方向以及有效电平中的一种或多种。进一步地,资源配置库包括输入资源配置库和输出资源配置库,输入资源配置库和输出资源配置库均是一个能够动态更改的二维链表数据结构,包括主节点和子节点,主节点包含一链表节点和一个子链表头;其中主节点,对于输出资源配置库是一个用来区分动作集的动作标识码;对于输入资源配置库是一个输入资源的物理地址;链表节点,用来指向与本主节点相邻的前后主节点;子链表头,作为输出资源配置库用于指向主节点下动作集子链表的起始子节点和结束子节点;作为输入资源配置库用于指向主节点下事件集子链表的起始子节点和结束子节占.
I— /、、、 子节点包含子链表节点,用于指向与本子节点相邻的前后子节点。进一步地,隔离层模块进一步包括依次相连的如下模块管理初始化模块,用于在初始化时清空资源池、输入资源配置库和输出资源配置库,根据资源注册请求将资源注册到所述资源池中;根据应用层模块的资源探测请求将查获的资源返回给应用层模块;资源配置模块,用于根据资源配置请求,将应用层模块下发的输出资源及其动作配置属性配置到输出资源配置库中,或将应用层模块下发的输入资源及其事件配置属性配置到输入资源配置库中;资源操作模块,用于根据从输入资源配置库中获取的事件配置属性,扫描输入资源配置库中配置的每一主节点下的子节点,通过与资源驱动层模块的资源操作接口读取输入端口的输入状态,将确定为事件触发状态上报给应用层模块;或者,根据从输出资源配置库中获取的动作配置属性,定期扫描输出资源配置库中配置的每一主节点下的子节点;依据输出资源当前应输出的逻辑状态并结合有效电平计算实际输出电平,通过资源操作接口来改变相应输出端口的输出状态。本发明利用在与产品相关的GPIO资源驱动层和使用GPIO资源的应用层之间增加的一个隔离层,将应用层对GPIO资源的所有操作转化成抽象化的逻辑操作,并根据对GPIO 资源池中的GPIO资源数据的操作结果将该逻辑操作转化为驱动层对物理层中GPIO资源具
9体的实际操作,能够集中、统一地管理GPIO资源,避免因底层对GPIO资源的更改而使上层所有针对其应用也随之改动;并且避免因删除GPIO资源导致的非法地址操作,同时还可避免多个应用程序并发地操作同一个GPIO资源造成的资源冲突等,从而极大程度地满足跨产品的快速移植和开发的发展需要。


图1是本发明的实现多任务管理GPIO资源的系统实施例的结构示意示意图;图2是本发明的GPIO资源池的双向链表结构示意图;图3是本发明的GPIO资源配置的二维双向链表结构示意图;图4是本发明的隔离层进行初始化流程图;图5是本发明的隔离层与BSP层交互注册GPIO资源的流程图;图6是本发明的隔离层进行GPIO资源配置的流程图;图7是隔离层扫描输出资源的流程图;图8是隔离层扫描输入资源的流程图;图9是本发明的GPIO资源管理方法实施例对输出资源的应用实例;图10本发明的GPIO资源管理方法实施例对键输入的应用实例。
具体实施例方式以下结合附图和优选实施例对本发明的技术方案进行详细地阐述。以下例举的实施例仅用于说明和解释本发明,而不构成对本发明技术方案的限制。如图1所示,表示了本发明的实现多任务管理GPIO资源的系统实施例的结构,包括逻辑层中依次连接的应用层模块、隔离层模块及BSP层模块(即GPIO资源驱动层,Board Support Package板级支持包),其中BSP层模块,用于记录物理层中GPIO资源及其属性,通过资源注册接口向隔离层发出资源注册请求;隔离层模块,用于根据BSP层模块的资源注册请求将GPIO资源及其属性注册到资源池中;根据应用层模块的请求将从资源池查询的GPIO资源返回给应用层模块,和/或将应用层模块所需的GPIO资源配置到资源配置库中;应用层模块,用于与隔离层模块交互,将从资源池探测获取的GPIO资源及其配置属性向隔离层模块下发资源配置请求。资源池和资源配置库之间是通过资源的物理地址联系的。隔离层模块根据应用层模块的资源配置请求,将GPIO资源的物理地址和资源的配置属性写入资源配置库。隔离层模块根据资源属性和资源配置属性,请求BSP层模块扫描GPIO资源,更新相应的输出资源的动作状态,或向应用层上报相应的输入资源触发的事件;BSP层模块根据隔离层模块的请求,对物理层相应的输出或输入端口进行操作。隔离层模块通过扫描资源配置库中的主节点找到相应资源的物理地址,根据该物理地址从资源池中查获相应的GPIO资源属性,并根据资源配置库中记录的资源配置属性, 通过BSP层模块提供的资源操作接口请求BSP层模块扫描GPIO资源。上述隔离层模块的存在,使得与产品密切相关的BSP层模块和使用GPIO资源的应用层模块中的软件二者之间形成了一个隔离层,故二者不再被捆绑在一起,甚至BSP层模块可注册一些虚拟的GPIO资源来实现产品开发程序的仿真。本发明为隔离层提供了一个与应用层交互的统一接口,用该接口解析入参中的命令类型,然后根据命令类型来解析对应的下行数据;根据命令类型和下行数据执行应用层请求的操作,最后将操作的结果和需要反馈的数据封装成统一的结构反馈到应用层。本发明利用在逻辑层中与具体产品相关的BSP层模块与使用GPIO资源的应用层模块(包括用户态应用程序和内核态程序)之间建立的隔离层模块,屏蔽应用层模块使用 GPIO资源的产品特殊性,将应用层模块对GPIO资源的所有操作都转化成抽象化的逻辑操作,根据对资源池中资源数据的操作对GPIO资源进行管理,并获取对GPIO资源统一的实际操作,通过BSP层模块提供的资源操作接口实现对物理层GPIO端口的硬件操作。图1所示的隔离层模块包括依次连接管理初始化模块、资源配置模块以及资源操作模块,其中管理初始化模块,用于初始化处理管理GPIO资源的资源池和资源配置库,根据 BSP层模块的资源注册请求将需要管理的GPIO资源注册到该资源池中;根据应用层模块的资源探测请求将查获的GPIO资源返回给应用层模块;资源配置模块,用于根据应用层模块的配置请求,将应用层模块下发的GPIO资源配置属性配置到资源配置库中;资源操作模块,用于根据从资源配置库中获取的资源配置属性,通过与BSP层模块的资源操作接口定期扫描资源配置库中GPIO资源配置属性,更新输出资源的动作状态, 或上报输入资源触发的事件。管理初始化模块构建的资源池是一个可动态更改的链表数据结构,如图2所示, 其中每一节点记录每一 GPIO资源的名称、物理地址和其它属性信息以及指向与本节点相邻的前后GPIO资源节点的指针(指向前一资源节点的指针为“Prev”,指向后一资源节点的指针为“Next”)。当然,本发明对资源池除了上述链表数据结构外,也可以采用树状数据结构或其它图示数据结构的形式构成。只是前者对于本发明来说结构更简洁且足以实现对GPIO资源的记载功能,因而它是优选的数据结构。BSP层在GPIO资源属性描述表中表述和记录了 GPIO资源;通过执行一资源注册请求接口函数请求注册GPIO资源,该接口函数传递了 GPIO资源属性信息,如表1中所示。表 权利要求
1.一种实现多任务管理输入输出资源的方法,涉及应用层和资源驱动层,其特征在于, 还涉及预先加载的隔离层,该方法包括所述隔离层在初始化时,初始化处理用于管理所述输入输出资源的资源池和资源配置库,根据所述资源驱动层的资源注册请求将要管理的所述资源注册到所述资源池中;所述应用层根据通过所述隔离层从所述资源池探测获取的输入输出资源向所述隔离层下发资源配置请求;所述隔离层根据所述资源配置请求将相应的输入输出资源配置到所述资源配置库中。
2.按照权利要求1所述的方法,其特征在于,所述隔离层在所述初始化时还包括启动定期扫描配置在所述资源配置库中的所述输入输出资源。
3.按照权利要求1或2所述的方法,其特征在于,所述资源池是一个能够动态更改的链表数据结构,该链表中的每一节点用于记录每一输入输出的资源属性信息和指向相邻的前后输入输出资源节点的指针,所述资源属性信息包括资源的名称、物理地址、输入输出方向以及有效电平中的一种或多种。
4.按照权利要求3所述的方法,其特征在于,所述资源属性信息还包括针对特定的资源指定需要执行的函数,包括指定以下函数中的一个或多个初始化函数,用于对所述特定的资源在所述初始化时执行操作;写状态函数,用于对所述特定的资源在写状态时执行多个写动作序列;读状态函数,用于对所述特定的资源在读状态时执行多个读动作序列。
5.按照权利要求3或4所述的方法,其特征在于,所述资源配置库包括输入资源配置库和输出资源配置库,所述输入资源配置库和输出资源配置库均是一个能够动态更改的二维链表数据结构,包括主节点和子节点,所述主节点包含一链表节点和一个子链表头;其中所述主节点,对于输出资源配置库是一个用来区分动作集的动作标识码;对于输入资源配置库是一个输入资源的物理地址;所述链表节点,用来指向与本主节点相邻的前后主节点;所述子链表头,作为输出资源配置库用于指向主节点下动作集子链表的起始子节点和结束子节点;作为输入资源配置库用于指向主节点下事件集子链表的起始子节点和结束子节占.I— /、、、 所述子节点包含子链表节点,用于指向与本子节点相邻的前后子节点。
6.按照权利要求5所述的方法,其特征在于,所述隔离层初始化处理用于管理所述输入输出资源的资源池和资源配置库,根据所述资源驱动层的资源注册请求将要管理的所述资源注册到资源池中,具体包括清空所述资源池及所述输入资源配置库、所述输出资源配置库,创建与所述应用层和资源驱动层的链接通道;使能所述链接通道,通过资源注册接口将所述资源驱动层请求注册的所述资源及其属性注册到所述资源池。
7.按照权利要求5所述的方法,其特征在于,所述应用层根据从隔离层的资源池请求获取的接口资源向所述隔离层下发资源配置请求,具体包括所述应用层通过资源探索接口向所述隔离层发出资源探索请求,在所述资源探索接口中传递要探索的输入输出资源的名称信息;所述隔离层依据所述名称信息从所述资源池查获到相应的输入输出资源的物理地址, 通过资源探索接口返回给所述应用层;所述应用层根据所述物理地址向所述隔离层请求一空闲的动作标识,用所述动作标识向所述隔离层请求配置输出资源配置库的主节点,并通过资源配置接口下发所述资源配置请求及其动作配置属性;或者,以所述物理地址为标识向所述隔离层请求配置输入资源配置库的主节点,并通过资源配置接口下发所述资源配置请求及其事件配置属性。
8.按照权利要求7所述的方法,其特征在于,所述应用层下发的所述动作配置属性包括动作集动作数目和动作模式,所述动作模式包括“置有效”、“置无效”、“延时置有效”、“延时置无效”和“闪烁”中的一种或多种;应用层下发的所述事件配置属性包括输入状态和事件上报方式,输入状态用于表示事件触发的逻辑状态,包括“持续无效”、“持续有效”、“变化”、“无效变有效”以及“有效变无效”中的一种或多种;事件上报方式用于指明事件触发时上报应用层的方式,包括主动上报和被动上报中的任意一种。
9.按照权利要求8所述的方法,其特征在于,应用层下发的所述动作配置属性还包括扩展参数和动作集重复次数中的一种或多种, 其中包括当所述动作模式为“延时置有效”或“延时置无效”时的延时时间扩展参数,当动作模式为“闪烁”时的周期、占空比和闪烁次数三个扩展参数;应用层下发的所述事件配置属性还包括保持时间、主动上报方式、主动上报参数以及消息体中的一种或多种;其中,所述保持时间表示所述逻辑状态为所述“持续无效”或“持续有效”时的持续时间; 所述主动上报方式表示事件触发后主动上报给所述应用层的方式,包括直接函数调用或链接通道方式;所述主动上报参数指定主动上报方式下上报的参数;所述消息体用于对主动上报方式下上报的事件进行分类,使所述应用层更详细地知悉所述上报的事件。
10.按照权利要求8或9所述的方法,其特征在于,所述隔离层根据所述资源配置请求将相应的输入输出资源配置到资源配置库中,具体包括所述隔离层检查所述资源配置接口传递的资源配置属性;若判断配置的是所述输入输出资源的主节点,则在确认要配置的资源无冲突后,分配一主节点,将所述资源配置属性作为该主节点配置填充,初始化所述链表节点和所述子链表头;然后打开写保护锁,将配置的主节点加入输入资源配置库或输出资源配置库的链表尾端,释放所述写保护锁;或者,若判断配置的不是所述主节点,则依据所述资源配置属性中的所述物理地址在所述输入资源配置库中或依据所述动作标识在所述输出资源配置库中查找相应的主节点, 并在查获的主节点下检查配置的资源无冲突;分配子节点,将所述事件配置属性或所述动作配置属性作为子节点配置填充,初始化所述子链表节点;打开写保护锁,将配置的子节点加入所述主节点下相应的子链表尾端,释放所述写保护锁。
11.按照权利要求10所述的方法,其特征在于,所述隔离层启动的所述定期扫描,具体包括根据从所述输入资源配置库中获取的所述事件配置属性,定期扫描输入资源配置库中配置的每一主节点下的每一子节点,通过与所述资源驱动层之间的资源操作接口读取相应输入端口的输入状态,若根据所述事件配置属性确定所述输入状态为事件触发状态,则按所述事件配置属性规定的事件上报模式上报所述输入端口触发的事件;或者,根据从所述输出资源配置库中获取的所述动作配置属性,定期扫描输出资源配置库中配置的每一主节点下的每一子节点,根据所述动作配置属性确定该子节点的动作可执行,则依据对应的输出资源当前应输出的逻辑状态并结合所述动作配置属性中定义的有效电平计算实际输出电平,然后通过与所述资源驱动层之间的资源操作接口来改变相应输出端口的输出状态。
12.—种实现多任务管理输入输出资源的系统,包括应用层模块和资源驱动层模块,其特征在于,还包括预先加载的隔离层模块;其中资源驱动层模块,用于记录物理层中输入输出资源及其属性,通过资源注册接口向隔离层发出资源注册请求;隔离层模块,用于在初始化时根据所述资源注册请求将要管理的输入输出资源及其属性注册到一资源池中;根据应用层模块的请求从所述资源池查获输入输出资源,并返回给应用层模块;将应用层模块所需的输入输出资源配置到资源配置库中;应用层模块,用于将通过所述隔离层模块从所述资源池探测获取的输入输出资源及其配置属性向所述隔离层模块下发资源配置请求。
13.按照权利要求12所述的系统,其特征在于,所述隔离层模块在所述初始化时还启动定期扫描配置在所述资源配置库中的所述输入输出资源。
14.按照权利要求12或13所述的系统,其特征在于,所述资源池是一个能够动态更改的链表数据结构,该链表中的每一节点用于记录每一输入输出的资源属性信息和指向相邻的前后输入输出资源节点的指针,所述资源属性信息包括资源的名称、物理地址、输入输出方向以及有效电平中的一种或多种。
15.按照权利要求14所述的系统,其特征在于,所述资源配置库包括输入资源配置库和输出资源配置库,所述输入资源配置库和输出资源配置库均是一个能够动态更改的二维链表数据结构,包括主节点和子节点,所述主节点包含一链表节点和一个子链表头;其中所述主节点,对于输出资源配置库是一个用来区分动作集的动作标识码;对于输入资源配置库是一个输入资源的物理地址;所述链表节点,用来指向与本主节点相邻的前后主节点;所述子链表头,作为输出资源配置库用于指向主节点下动作集子链表的起始子节点和结束子节点;作为输入资源配置库用于指向主节点下事件集子链表的起始子节点和结束子节占.I— /、、、 所述子节点包含子链表节点,用于指向与本子节点相邻的前后子节点。
16.按照权利要求12或13所述的系统,其特征在于,所述隔离层模块进一步包括依次相连的如下模块管理初始化模块,用于在初始化时清空所述资源池、所述输入资源配置库和所述输出资源配置库,根据所述资源注册请求将所述资源注册到所述资源池中;根据所述应用层模块的资源探测请求将查获的所述资源返回给所述应用层模块;资源配置模块,用于根据所述资源配置请求,将所述应用层模块下发的输出资源及其动作配置属性配置到所述输出资源配置库中,或将所述应用层模块下发的输入资源及其事件配置属性配置到所述输入资源配置库中;资源操作模块,用于根据从所述输入资源配置库中获取的所述事件配置属性,扫描输入资源配置库中配置的每一主节点下的子节点,通过与所述资源驱动层模块的资源操作接口读取输入端口的输入状态,将确定为事件触发状态上报给所述应用层模块;或者,根据从所述输出资源配置库中获取的所述动作配置属性,定期扫描输出资源配置库中配置的每一主节点下的子节点;依据输出资源当前应输出的逻辑状态并结合有效电平计算实际输出电平,通过所述资源操作接口来改变相应输出端口的输出状态。
全文摘要
本发明披露了一种实现多任务管理输入输出资源的方法及系统,其中方法包括隔离层在初始化时,初始化处理用于管理所述输入输出资源的资源池和资源配置库,根据资源驱动层的资源注册请求将要管理的资源注册到资源池中;应用层根据通过所述隔离层从资源池探测获取的输入输出资源向隔离层下发资源配置请求;隔离层根据所述资源配置请求将相应的输入输出资源配置到资源配置库中。通过本发明能够集中、统一地管理GPIO资源,避免因底层对GPIO资源的更改而使上层所有针对其应用也随之改动,从而极大程度地满足跨产品的快速移植和开发的发展需要。
文档编号G06F9/44GK102566996SQ20101059640
公开日2012年7月11日 申请日期2010年12月20日 优先权日2010年12月20日
发明者蔡宇 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1