一种基于树形拓扑结构的设备管理方法技术

技术编号:15639198 阅读:121 留言:0更新日期:2017-06-15 22:01
本发明专利技术实施例公开了一种基于树形拓扑结构的设备管理方法,用于解决现有技术中针对MCU的设备管理缺乏统一的管理,无法形成可广泛适用、有效管理MCU设备的设备管理方法。本发明专利技术实施例方法包括:S1、对设备管理模块进行初始化;S2、通过设备管理模块创建根总线控制器;S3、通过根总线控制器枚举根总线上的设备作为根总线设备添加至设备管理模块,若根总线设备为总线控制器则执行S4步骤;S4、根据总线控制器创建总线,枚举总线上的设备作为总线设备添加至设备管理模块,若总线设备为总线控制器,则重复S4步骤,直到总线上没有总线控制器。

【技术实现步骤摘要】
一种基于树形拓扑结构的设备管理方法
本专利技术涉及设备管理领域,尤其涉及一种基于树形拓扑结构的设备管理方法。
技术介绍
在当前针对MCU(微处理器)的嵌入式软件开发领域,对于设备的控制,通常是应用软件直接操作寄存器的方式来控制,如此,软件开发人员既要编写应用逻辑,又要阅读动则上千页的硬件手册来编写驱动软件(控制硬件设备的软件),这些驱动软件只针对具体的外设编写,没有统一的管理,这样的驱动软件很难复用。对于基于RTOS(实时操作系统)的软件,RTOS可能会提供简单的设备管理,通常定义了open、read、write、ioctl、close这五个标准函数用于设备的控制。相比直接操作寄存器,这种简单的设备管理对不同设备进行了统一管理,同时也隔离了应用软件和驱动软件,应用软件只需调用五个标准的控制函数,而驱动软件只需实现这五个标准控制函数,然后注册到设备管理就可以了。这种简单的设备管理方式对于MCU片内的设备管理比较有效,而对于MCU外扩的设备则不能有效管理,其根本问题在于这些设备是独立管理的,相互之间没有关联。
技术实现思路
本专利技术实施例提供了一种基于树形拓扑结构的设备管理方法,解决了现有技术中针对MCU的设备管理缺乏统一的管理,无法形成可广泛适用、有效管理MCU设备的设备管理方法。本专利技术实施例提供的一种基于树形拓扑结构的设备管理方法,包括:S1、对设备管理模块进行初始化;S2、通过设备管理模块创建根总线控制器;S3、通过根总线控制器枚举根总线上的设备作为根总线设备添加至设备管理模块,若根总线设备为总线控制器则执行S4步骤;S4、根据总线控制器创建总线,枚举总线上的设备作为总线设备添加至设备管理模块,若总线设备为总线控制器,则重复S4步骤,直到总线上没有总线控制器。优选地,步骤S4具体包括:S41、根据总线控制器创建总线,并查找总线上的设备,若发现新设备,则创建设备成为总线设备,并设置总线设备的父总线为总线控制器的子总线;S42、添加总线设备至设备管理模块,并查找与总线设备匹配的驱动,若找到匹配的驱动,将匹配的驱动关联到总线设备上,并将总线设备添加到总线设备的父总线的已知设备列表,并执行总线设备的初始化方法;若总线设备为总线控制器,则视为总线控制器设备,并重复S41和S42步骤,直到总线上没有总线控制器。优选地,还包括:S5、将驱动添加到设备管理模块的驱动列表中,并遍历相同总线类型的设备,若找到未知设备,则将驱动与未知设备进行匹配,若匹配,则将未知设备从未知设备的父总线上的未知设备列表中删除,并将未知设备添加到未知设备的父总线上的已知设备列表中。优选地,还包括:S6、将总线类型添加到设备管理模块的总线类型列表中,遍历所有未知总线,并将遍历找到的未知总线添加到设备管理模块进行添加总线;添加总线包括将总线控制器与总线相互关联,并查找与总线匹配的总线类型,若找到匹配的总线类型,则将总线类型关联到总线,并将总线添加到总线类型的总线列表中;再遍历总线上的未知设备,在设备管理模块的驱动列表中查找与未知设备相匹配的驱动,若匹配,则将未知设备从未知设备的父总线上的未知设备列表中删除,并将未知设备添加到未知设备的父总线上的已知设备列表中;若未找到匹配的总线类型,则将总线添加到设备管理模块的未知总线列表中。优选地,还包括:通过总线控制器进行移除设备和移除总线;移除设备包括:若移除的设备为已知设备时,调用设备的卸载方法,并将设备从设备的父总线的已知设备列表中删除;若移除的设备为总线控制器时,先移除总线控制器的总线,再移除总线控制器;若移除的设备为未知设备时,将设备从设备的总线的未知设备列表中删除,并释放设备占用的内存资源;移除总线包括:遍历总线的已知设备列表和未知设备列表,若找到设备,则将设备从设备管理模块中移除,再将总线从总线类型的总线列表中删除,解除总线与总线控制器的关联,释放总线占用的内存等资源。优选地,还包括:查找设备,查找设备具体包括:在设备管理模块中获取一个总线类型,根据总线类型获取一个总线,根据总线获取一个设备,并检查设备的设备名和单元号是否与所需查找的设备的设备名和单元号匹配,若匹配则结束查找设备,否则重新进行查找设备。优选地,还包括:调用设备,调用设备包括:查找设备,并在找到设备后,在设备的方法列表中查找与设备匹配的方法,若找到匹配的方法,则调用方法的处理函数,并结束调用设备;若未找到匹配的方法,则结束调用设备。优选地,还包括:查找与设备匹配的驱动,具体步骤包括:检查设备的父总线是否为未知总线,若为未知总线则结束查找过程,否则从设备管理模块的驱动列表获取一个驱动并判断驱动是否与设备匹配成功,若驱动匹配成功则结束查找过程,否则重新从设备管理模块的驱动列表获取一个驱动并判断驱动是否与设备匹配成功;若没有从设备管理模块获取驱动,则结束查找过程。优选地,还包括:驱动与设备的匹配,具体步骤包括:检查驱动与设备的总线类型ID是否相同:若相同,则调用总线类型的匹配方法检查驱动与设备是否匹配:若匹配,则调用驱动的设备探测方法检查是否驱动是否支持设备:若探测成功,则匹配成功,并结束匹配过程,若探测失败,则匹配失败,并结束匹配过程;若不匹配,则匹配失败,结束匹配过程;若不相同,则匹配失败,结束匹配过程。优选地,还包括:查找与总线匹配的总线类型,具体步骤包括:在设备管理的总线类型列表中获取一个总线类型:若获取得总线类型,则检查总线类型与总线的总线类型ID是否匹配:若匹配,则找到匹配的总线类型,结束查找过程;若不匹配,则重新在设备管理的总线类型列表中获取一个总线类型进行查找;若未获取得总线类型,则结束查找。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例提供了一种基于树形拓扑结构的设备管理方法,包括:S1、对设备管理模块进行初始化;S2、通过设备管理模块创建根总线控制器;S3、通过根总线控制器枚举根总线上的设备作为根总线设备添加至设备管理模块,若根总线设备为总线控制器则执行S4步骤;S4、根据总线控制器创建总线,枚举总线上的设备作为总线设备添加至设备管理模块,若总线设备为总线控制器,则重复S4步骤,直到总线上没有总线控制器,本专利技术实施例通过创建根总线控制器,并在根总线上查找、添加设备,并且在设备为总线控制器的情况下,继续创建总线、查找、添加设备,如此延续、拓展,使得各种设备形成有秩序的、容易查找、管理的树形拓扑,解决了现有技术中针对MCU的设备管理缺乏统一的管理,无法形成可广泛适用、有效管理MCU设备的设备管理方法。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其它的附图。图1为本专利技术实施例提供的一种基于树形拓扑结构的设备管理方法的一个实施例的流程示意图;图2为本专利技术实施例提供的嵌入式系统硬件的拓扑结构;图3为本专利技术实施例提供的与真实设备一一对应的软件环境中的拓扑结构;图4为本专利技术实施例提供的软件环境中的抽象拓扑结构;图5为本专利技术实施例提供的软件环境中的设计类图;图6为本专利技术实施例提供的创建根总线控制器示意图;本文档来自技高网...
一种基于树形拓扑结构的设备管理方法

【技术保护点】
一种基于树形拓扑结构的设备管理方法,其特征在于,包括:S1、对设备管理模块进行初始化;S2、通过设备管理模块创建根总线控制器;S3、通过根总线控制器枚举根总线上的设备作为根总线设备添加至设备管理模块,若所述根总线设备为总线控制器则执行S4步骤;S4、根据所述总线控制器创建总线,枚举总线上的设备作为总线设备添加至设备管理模块,若总线设备为总线控制器,则重复S4步骤,直到总线上没有总线控制器。

【技术特征摘要】
1.一种基于树形拓扑结构的设备管理方法,其特征在于,包括:S1、对设备管理模块进行初始化;S2、通过设备管理模块创建根总线控制器;S3、通过根总线控制器枚举根总线上的设备作为根总线设备添加至设备管理模块,若所述根总线设备为总线控制器则执行S4步骤;S4、根据所述总线控制器创建总线,枚举总线上的设备作为总线设备添加至设备管理模块,若总线设备为总线控制器,则重复S4步骤,直到总线上没有总线控制器。2.根据权利要求1所述的基于树形拓扑结构的设备管理方法,其特征在于,步骤S4具体包括:S41、根据所述总线控制器创建总线,并查找总线上的设备,若发现新设备,则创建设备成为总线设备,并设置所述总线设备的父总线为总线控制器的子总线;S42、添加所述总线设备至设备管理模块,并查找与所述总线设备匹配的驱动,若找到匹配的驱动,将所述匹配的驱动关联到所述总线设备上,并将所述总线设备添加到所述总线设备的父总线的已知设备列表,并执行所述总线设备的初始化方法;若总线设备为总线控制器,则视为总线控制器设备,并重复S41和S42步骤,直到总线上没有总线控制器。3.根据权利要求1所述的基于树形拓扑结构的设备管理方法,其特征在于,还包括:S5、将驱动添加到设备管理模块的驱动列表中,并遍历相同总线类型的设备,若找到未知设备,则将驱动与所述未知设备进行匹配,若匹配,则将所述未知设备从所述未知设备的父总线上的未知设备列表中删除,并将所述未知设备添加到所述未知设备的父总线上的已知设备列表中。4.根据权利要求3所述的基于树形拓扑结构的设备管理方法,其特征在于,还包括:S6、将总线类型添加到设备管理模块的总线类型列表中,遍历所有未知总线,并将遍历找到的所述未知总线添加到设备管理模块进行添加总线;所述添加总线包括将总线控制器与总线相互关联,并查找与所述总线匹配的总线类型,若找到匹配的总线类型,则将总线类型关联到所述总线,并将所述总线添加到总线类型的总线列表中;再遍历所述总线上的未知设备,在设备管理模块的驱动列表中查找与所述未知设备相匹配的驱动,若匹配,则将所述未知设备从所述未知设备的父总线上的未知设备列表中删除,并将所述未知设备添加到所述未知设备的父总线上的已知设备列表中;若未找到匹配的总线类型,则将所述总线添加到设备管理模块的未知总线列表中。5.根据权利要求1所述的基于树形拓扑结构的设备管理方法,其特征在于,还包括:通过总线控制器进行移除设备和移除总线;所述移除设备包括:若移除的设备为已知设备时,调用所述设备的卸载方法,并将所述设备从所述设备的父总线的已知设备列表中删除;若移...

【专利技术属性】
技术研发人员:周立功
申请(专利权)人:广州致远电子股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1