CN118092579A - 时钟设置方法、时钟的管理系统及芯片系统 - Google Patents
时钟设置方法、时钟的管理系统及芯片系统 Download PDFInfo
- Publication number
- CN118092579A CN118092579A CN202211491485.XA CN202211491485A CN118092579A CN 118092579 A CN118092579 A CN 118092579A CN 202211491485 A CN202211491485 A CN 202211491485A CN 118092579 A CN118092579 A CN 118092579A
- Authority
- CN
- China
- Prior art keywords
- clock
- node
- target
- library
- preset operation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 143
- 230000008569 process Effects 0.000 claims abstract description 88
- 230000006870 function Effects 0.000 claims description 110
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 abstract description 7
- 238000012986 modification Methods 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- HVYLDJKDVOOTHV-UHFFFAOYSA-N acetic acid;2-iminoethanethiol Chemical compound CC(O)=O.CC(O)=O.SCC=N HVYLDJKDVOOTHV-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Small-Scale Networks (AREA)
Abstract
本公开提供一种时钟的设置方法及时钟的管理系统、芯片系统,按照预设轮询周期确认是否存在未发送时钟设置请求的目标设备驱动进程,若存在,则从时钟库中查找目标设备驱动进程对应的目标时钟节点ID,基于时钟驱动调用目标时钟节点ID对应的预设操作函数,并基于预设操作函数及接收到的时钟控制参数进行目标时钟节点的设置。与相关技术相比,采用主动轮询的方式,确认存在未发送时钟设置请求的目标设备驱动进程的情况下,从时钟库中查找目标设备驱动进程对应的目标时钟节点ID,调用时钟库中的预设操作函数完成对应的目标时钟节点的时钟设置;可以实现对时钟树的管理,同时实现硬件驱动进程对时钟控制参数的自定义设置及修改。
Description
技术领域
本公开涉及芯片技术领域,尤其涉及一种时钟设置方法及时钟的管理系统、芯片系统。
背景技术
片上系统(System on Chip,SoC)中的时钟设计十分复杂,一个时钟节点的输出有可能作为另一个或几个时钟节点的输入,从而形成一种类似树状结构的时钟树。SoC上的某个硬件设备想要正常工作,通常必须先配置其工作时钟,例如以太网控制器的媒体独立接口(Meida Independent Interface,MII)总线时钟、串口控制器的波特率时钟等等,通常硬件设备时钟配置的工作一般是由硬件设备的驱动程序来完成。
硬件设备在时钟配置时,根据系统中硬件设备的具体需求,预先将所有时钟一次性初始化完成,再将硬件设备的输入时钟频率保存起来以备硬件设备驱动程序使用,硬件设备驱动程序通常无法修改输入时钟频率。
发明内容
本公开提供了一种时钟的设置方法及时钟的管理系统、芯片系统。
根据本公开的第一方面,提供了一种时钟的设置方法,包括:
按照预设轮询周期确认是否存在未发送时钟设置请求的目标设备驱动进程,所述时钟设置请求包括时钟节点ID及时钟控制参数;
若存在,则从时钟库中查找所述目标设备驱动进程对应的目标时钟节点ID,其中,所述时钟库中记录有所有时钟节点构建的时钟树,以及每个时钟节点对应的预设操作函数;
基于时钟驱动调用所述目标时钟节点ID对应的预设操作函数,并基于所述预设操作函数及接收到的时钟控制参数进行所述目标时钟节点的设置。
可选的,所述从时钟库中查找所述目标设备驱动进程对应的目标时钟节点ID,具体包括:
获取所述目标设备驱动进程的标识号,并根据预设对应关系查找所述目标设备驱动进程的设置时钟节点ID;
根据所述设置时钟节点ID从所述时钟库中查找对应的所述目标时钟节点ID。
可选的,所述时钟库的生成方法包括:
获取链表数据结构,所述链表数据结构用于描述各设备节点之间的传输关系,其中,一个设备节点对应一个时钟节点;
从所述链表数据结构中获取各设备节点之间的传输关系,并根据所述传输关系确定所述时钟节点之间的父子关系;
确定每个时钟节点所支持的预设操作函数,并建立所述预设操作函数与所述时钟节点之间的对应关系;
根据已建立的所述预设操作函数与所述时钟节点之间的对应关系生成时钟库。
可选的,在确定每个时钟节点所支持的预设操作函数之前,所述方法还包括:
在预设抽象数据结构中注册所述预设操作函数;其中,所述预设抽象数据结构为所述时钟库中维护的用于描述时钟节点的数据结构。
可选的,所述调用所述目标时钟节点ID对应的预设操作函数包括:
调用时钟驱动,由所述时钟驱动根据所述时钟节点ID,从所述时钟库中调用所述预设操作函数。
可选的,在根据已建立的所述预设操作函数与所述时钟节点之间的对应关系生成时钟库之后,所述方法还包括:
输出对所述时钟节点进行初始化设置的提示信息;
响应于所述提示信息的确认指令,对所述时钟节点进行初始化设置。
可选的,所述时钟控制参数包括打开时钟、关闭时钟、设置时钟频率、获取时钟频率、查询时钟是否已打开、获取可设置的与期望时钟频率最接近的频率中的至少一种。
根据本公开的第二方面,提供了一种时钟的管理系统,包括:
确定模块,用于按照预设轮询周期确认是否存在未发送时钟设置请求的目标设备驱动进程,所述时钟设置请求包括时钟节点ID及时钟控制参数;
时钟库,用于记录所有时钟节点构建的时钟树,以及每个时钟节点对应的预设操作函数;
第一接口,用于通过指针形式向时钟驱动提供接口,供所述时钟驱动从所述时钟库中调用所述预设操作函数;
时钟驱动,用于根据所述目标设备驱动进程发送的时钟节点ID从所述时钟库中查找对应的目标时钟节点ID,并基于第一接口调用所述目标时钟节点ID对应的预设操作函数,基于所述预设操作函数及接收到的时钟控制参数进行所述目标时钟节点的设置。
可选的,还包括:还包括:获取模块以及查找模块;
所述获取模块,用于获取所述目标设备驱动进程的设置时钟节点;
所述查找模块,用于按照预设对应关系根据所述目标设备驱动进程的设置时钟节点ID查找所述目标设备驱动进程的设置时钟节点ID。
可选的,所述时钟库还包括:
链表数据结构,用于描述各设备节点之间的传输关系,其中,一个设备节点对应一个时钟节点;
函数库,用于提供确定每个时钟节点所支持的预设操作函数;
建立子模块,用于从所述链表数据结构中获取各设备节点之间的传输关系,并根据所述传输关系确定所述时钟节点之间的父子关系,并建立所述预设操作函数与所述时钟节点之间的对应关系。
可选的,所述时钟库还包括:
转换子模块,用于将所述链表数据结构转换为设备树二进制文件,将所述设备树二进制文件转换为设备树源文件,其中,所述设备树源文件用于描述时钟节点之间的父子关系。
可选的,所述建立子模块,还用于根据所述转换模块确定的时钟节点之间的父子关系,建立所述预设操作函数与所述时钟节点之间的对应关系。
可选的,还包括:第二接口,用于向所述函数库提供接口,以基于所述第二接口调用存储于所述函数库中的所述预设操作函数;
第三接口,用于向所述确定模块提供接口,以使所述确定模块基于所述第三接口传输解析得到的所述目标时钟节点的时钟节点ID及所述时钟控制参数。
根据本公开的第三方面,提供了一种设备驱动系统,所述设备驱动系统包括设备驱动进程,包括:
设备驱动,用于控制目标时钟节点的硬件设备驱动程序,将所述目标时钟节点的时钟节点ID及时钟控制参数封装成时钟设置请求发送至时钟的管理系统。
可选的,还包括:
所述设备驱动,还用于通过调用代理时钟库提供的远程调用接口对所述目标时钟节点进行控制;
代理时钟库,用于向所述设备驱动提供函数接口,并将所述目标时钟节点的所述时钟节点ID及所述时钟控制参数封装成所述时钟设置请求发送至所述时钟系统的管理系统。
根据本公开的第四方面,提供了一种芯片系统,该芯片系统包括:
至少一个处理器和接口,用于支持通信装置实现第二方面或第三方面所涉及的功能;
存储器,用于保存通信装置必要的计算机程序和数据。
本公开提供一种时钟的设置方法及时钟的管理系统、芯片系统,按照预设轮询周期确认是否存在未发送时钟设置请求的目标设备驱动进程,所述时钟设置请求包括时钟节点ID及时钟控制参数,若存在,则从时钟库中查找所述目标设备驱动进程对应的目标时钟节点ID,其中,所述时钟库中记录有所有时钟节点构建的时钟树,以及每个时钟节点对应的预设操作函数,基于时钟驱动调用所述目标时钟节点ID对应的预设操作函数,并基于所述预设操作函数及接收到的时钟控制参数进行所述目标时钟节点的设置。与相关技术相比,本发明实施例采用主动轮询的方式,确认存在未发送时钟设置请求的目标设备驱动进程的情况下,从时钟库中查找目标设备驱动进程对应的目标时钟节点ID,调用时钟库中的预设操作函数完成对应的目标时钟节点的时钟设置;可以实现对时钟树的管理,同时实现硬件驱动进程对时钟控制参数的自定义设置及修改。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例提供的一种时钟的设置系统的架构示意图;
图2为本公开实施例提供的一种时钟的设置方法的流程示意图;
图3为本公开实施例提供的另一种时钟的设置方法的流程示意图;
图4为本公开实施例提供的另一种时钟的设置方法的流程示意图;
图5为本公开实施例所提供的一种时钟的管理系统的框架示意图;
图6为本公开实施例所提供的另一种时钟的管理系统的框架示意图;
图7为本公开实施例所提供的一种设备驱动系统的框架示意图;
图8为本公开实施例提供的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
请参阅图1,图1为本公开实施例提供的一种时钟的设置系统的架构示意图。该时钟的设置系统可包括但不限于时钟系统(也叫时钟管理模块)、确定模块、时钟库、时钟驱动、其他模块、代理时钟库以及设备驱动,图1所示的模块数量和形态仅用于举例并不构成对本公开实施例的限定。
以下分别对时钟的设置系统中各组成部分进行说明:
1.时钟管理模块
运行在时钟的管理系统,它包含多个不同功能的子模块,主要负责加载时钟驱动、管理和维护时钟树、接收和解析远程调用发送的进程间通信(Inter-ProcessCommunication,IPC)消息、调用函数接口实现对时钟的控制。
2.确定模块
时钟管理模块的一个子模块,按照预设轮询周期确认是否存在未发送时钟设置请求的目标设备驱动进程。
3.时钟库
一个函数库,作为时钟管理模块的一个子模块,主要负责对时钟进行抽象,并维护时钟树。时钟库提供描述时钟的数据结构,提供注册时钟的接口(面向时钟驱动),提供时钟消费者接口(面向时钟消费者,实现了通用的时钟控制逻辑),提供时钟生产者接口(通过操作函数集指针的形式提供给时钟驱动,由时钟驱动来实现具体的硬件相关的逻辑)。
4.时钟驱动
时钟管理模块的一个子模块,与具体的硬件相关,不同的SoC平台实现不一样。调用时钟库提供的接口完成时钟注册,实现具体的硬件相关的操作函数集。
5.其它模块
时钟的管理系统中的其它功能模块或其它线程,可以通过调用时钟消费者接口实现对时钟的控制,该模块不一定要实现。
6.代理时钟库
一个函数库,提供函数接口给需要控制时钟的硬件设备驱动系统调用,并将相关参数封装成IPC消息发送给时钟管理模块的确定模块。
7.设备驱动
需要控制时钟的具体的硬件设备驱动程序,通过代理时钟库提供的远程调用接口实现对时钟的控制。
下面参考附图描述本公开实施例的时钟的设置方法,如图2所示,包括:
步骤101,按照预设轮询周期确认是否存在未发送时钟设置请求的目标设备驱动进程,所述时钟设置请求包括时钟节点ID及时钟控制参数。
根据预设轮询周期主动确认是否存在未发生时钟设置请求的目标设备驱动进程,该目标设备驱动进程包含但不限于在设备驱动系统中已生成但是未发送时钟设置请求的设备驱动进程,也可以未发送时钟设置请求的设备驱动进程,具体的,本申请实施例不进行限定。
本申请实施例中所述预设轮询周期为一经验值,其可根据不同的应用场景的时间需求进行灵活设定,例如,1分钟、10分钟等,具体不做限定。
步骤102,若存在,则从时钟库中查找所述目标设备驱动进程对应的目标时钟节点ID,其中,所述时钟库中记录有所有时钟节点构建的时钟树,以及每个时钟节点对应的预设操作函数。
在确定存在未发送时钟设置请求的目标设备驱动进程后,时钟管理进程会依据时钟库中记录的用来描述时钟节点的数据结构,查找到目标设备驱动进程对应的目标时钟节点ID。
步骤103,基于时钟驱动调用所述目标时钟节点ID对应的预设操作函数,并基于所述预设操作函数及接收到的时钟控制参数进行所述目标时钟节点的设置。
在本公开实施例中,时钟库中记录的所有时钟节点构建的时钟树,可以通过设备树源文件(Device Tree Source,DTS)描述。需要说明的是,时钟节点构建的时钟树也可以由程序员自己梳理时钟节点之间的先后顺序,在时钟驱动软件中进行描述,本公开实施例并不对此进行限定。
当时钟管理进程查找到目标时钟节点ID后,可向目标设备驱动进程发送通知消息,以询问是否需要设置时钟,在接收到目标设备驱动进程发送的时钟控制参数后,时钟管理进程调用预设操作函数,并根据目标设备驱动进程发出的时钟控制参数,利用时钟驱动完成目标设备驱动进程的时钟设置。
需要说明的是,时钟驱动由驱动编写人员根据具体的SoC平台来实现,时钟驱动负责用软件的方式来描述时钟,并调用函数接口完成时钟注册。时钟驱动还需要实现一系列操作函数集来完成时钟控制硬件相关的底层逻辑,在本公开实施例中并不对时钟管理进程加载何种类型的时钟驱动做出限定。
本公开提供一种时钟的设置方法,按照预设轮询周期确认是否存在未发送时钟设置请求的目标设备驱动进程,所述时钟设置请求包括时钟节点ID及时钟控制参数,若存在,则从时钟库中查找所述目标设备驱动进程对应的目标时钟节点ID,其中,所述时钟库中记录有所有时钟节点构建的时钟树,以及每个时钟节点对应的预设操作函数,基于时钟驱动调用所述目标时钟节点ID对应的预设操作函数,并基于所述预设操作函数及接收到的时钟控制参数进行所述目标时钟节点的设置。与相关技术相比,本发明实施例采用主动轮询的方式,确认存在未发送时钟设置请求的目标设备驱动进程的情况下,从时钟库中查找目标设备驱动进程对应的目标时钟节点ID,调用时钟库中的预设操作函数完成对应的目标时钟节点的时钟设置;可以实现对时钟树的管理,同时实现硬件驱动进程对时钟控制参数的自定义设置及修改。
作为本申请实施例的一种可行方式,在步骤102执行从时钟库中查找所述目标设备驱动进程对应的目标时钟节点ID时,可以采用但不局限于以下方式实现包括:获取所述目标设备驱动进程的标识号,并根据预设对应关系查找所述目标设备驱动进程的设置时钟节点ID,根据所述设置时钟节点ID从所述时钟库中查找对应的所述目标时钟节点ID。其中,目标设备驱动进程对应的唯一标识号,用于区分不同的驱动设备进程,而目标设备驱动进程的标识号与设置时钟节点ID存在一一对应关系,设置时钟节点ID与时钟库中的目标时钟节点ID存在一一对应关系,进而确定了目标设备驱动进程与目标时钟节点ID之间的映射关系。与上述的时钟的设置方法相对应,本发明还提出一种时钟的设置系统。由于本发明的装置实施例与上述的实施例相对应,对于本实施例中未披露的细节可参照上述的实施例,本发明中不再进行赘述。
为了更清楚的说明本公开实施例,本公开实施例提供了图3所示的另一种时钟的设置方法的流程示意图,如图3所示,所述时钟库的生成方法包括:
步骤201,获取链表数据结构,所述链表数据结构用于描述各设备节点之间的传输关系,其中,一个设备节点对应一个时钟节点。
时钟管理进程开始运行后,需要从内存中加载设备树二进制文件(Device TreeBlob,DTB),该DTB文件中包含所有的设备节点的信息,包括设备节点的属性名称、内容、以及不同设备节点之间的传输关系,每个设备节点的运行对应一个时钟节点。不同节点之间的传输关系包含但不限于一个设备节点的输出有可能作为另一个或几个设备节点的输入,形成一种树状结构。
需要说明的是,当时钟管理进程运行在不同的SoC平台时,与SoC平台相对应的DTB文件存在差异,本公开实施例不对此进行限定。
步骤202,从所述链表数据结构中获取各设备节点之间的传输关系,并根据所述传输关系确定所述时钟节点之间的父子关系。
设备树源文件(Device Tree Source,DTS)可以用来描述包括但不限于时钟节点之间的父子关系。在微内核操作系统中,微内核利用设备树编译器(Device TreeCompiler,DTC)将DTB文件编译成DTS文件。时钟管理进程从微内核中获取DTS文件中获取描述时钟节点之间的父子关系的数据结构。
父子关系与步骤202中提及的传输关系对应,若设备节点1作为设备节点2的输入,即设备节点1作为父设备节点,设备节点2作为子设备节点,对应于时钟节点之间的父子关系,设备节点1对应时钟节点1,设备节点2对应时钟节点2,时钟节点1为时钟节点2的父时钟节点,时钟节点2为时钟节点1的子时钟节点。以上仅为示例性的说明,本申请实施例对设备节点的个数及父子关系不做具体限定。
步骤203,确定每个时钟节点所支持的预设操作函数,并建立所述预设操作函数与所述时钟节点之间的对应关系。
时钟驱动利用一系列预设操作函数完成对时钟硬件相关的底层逻辑控制,时钟驱动调用时钟库的接口函数将所有时钟节点支持的预设操作函数与描述时钟节点之间的父子关系的数据结构一起添加到时钟管理进程维护的数据结构中,建立所述预设操作函数与所述时钟节点之间的对应关系。
作为本公开实施例的一种可行方式,在确定每个时钟节点所支持的预设操作函数,并建立所述预设操作函数与所述时钟节点之间的对应关系之前,在预设抽象数据结构中注册所述预设操作函数;其中,所述预设抽象数据结构为时钟库中维护的用于描述时钟节点的数据结构。
时钟库提供了面向时钟驱动的注册接口,当时钟管理进程获取到描述时钟节点之间的父子关系的数据结构后,将所述数据结构和时钟驱动支持的预设操作函数一起添加到时钟库的预设抽象数据结构中。
步骤204,根据已建立的所述预设操作函数与所述时钟节点之间的对应关系生成时钟库。
完成时钟的注册后,所述预设操作函数与每个时钟节点之间的一一对应的关系也随之确定。
步骤205,输出对所述时钟节点进行初始化设置的提示信息。
基于步骤204,当完成时钟库的构建后,判断需要用到的时钟节点是否需要进行初始化设置。需要说明的是,需要用到的时钟节点由时钟管理进程确定,在本公开实施例中并不对任何时钟节点是否需要初始设置进行限定。
步骤206,响应于所述提示信息的确认指令,对所述时钟节点进行初始化设置。
利用时钟库提供的预设操作函数的调用接口(时钟消费者者接口)完成对所需的时钟初始设置。在执行完所需的时钟节点的初始设置后,继续执行步骤207。
步骤207,调用时钟驱动,由所述时钟驱动根据所述目标时钟节点ID,从所述时钟库中调用所述预设操作函数。
时钟库提供了面向时钟驱动的预设操作函数的调用接口(时钟生产者接口)和面向时钟使用模块的预设操作函数的调用接口(时钟消费者接口)。时钟驱动根据确定的目标时钟节点ID,调用预设时钟库中的预设操作函数完成对应的时钟节点的时钟设置。
需要说明的是,所述预设操作函数包括但不限于所有时钟节点所支持的操作函数、时钟库提供的接口函数,本公开实施例并不对此做出限定。
步骤208,基于预设操作函数的调用接口,反馈时钟设置的结果给所述目标设备驱动进程。
利用时钟库提供的面向时钟驱动的预设操作函数的调用接口(时钟生产者接口),得到目标时钟节点对应的时钟设置。时钟管理进程再将获取到的时钟设置的参数封装成IPC消息,返回至目标设备驱动进程已完成时钟的设置。
作为本公开实施例的一种可行方式,为了能够满足设备驱动进程对时钟信号的需求,所述时钟控制参数包括打开时钟、关闭时钟、设置时钟频率、获取时钟频率、查询时钟是否已打开、获取可设置的与期望时钟频率最接近的频率中的至少一种,本公开实施例对时钟控制参数不做限定,可根据具体的应用场景进行设置。
在本公开实施例一种可能的实现方式中,加载的设备驱动进程为自适应网卡设备驱动进程时。例如10/100Mbps自适应网卡,当其速率由10Mbps切换至100Mbps时,自适应网卡设备驱动进程需要重新设置时钟。因此,根据不同的设备的驱动所要完成的任务的不同,时钟控制参数包括打开时钟、关闭时钟、设置时钟频率、获取时钟频率、查询时钟是否已打开、获取可设置的与期望时钟频率最接近的频率中的至少一种。
请参阅图1,并结合上所述实施例的说明,在微内核操作系统启动后,首先运行时钟管理进程,然后时钟管理进程加载所有的时钟驱动;在完成时钟的注册之后,还包括响应设备驱动进程的时钟设置请求,完成时钟设置。以下将说明时钟管理进程响应设备驱动进程的时钟设置请求,完成时钟设置的应用场景,如图4所示,本公开实施例提供了图4所示的另一种时钟的设置方法的流程示意图,所述方法还包括:
步骤301,基于时钟库提供的调用接口,完成时钟的注册。
步骤302,在完成时钟的注册后,确定是否需要对所需的时钟节点进行初始设置;若需要,则执行步骤303;若不需要,则执行步骤304。
步骤303,执行对所需的时钟节点的初始设置。
步骤304,响应于设备驱动进程发送的IPC消息,利用远程调用确定模块解析IPC消息中包含的时钟节点ID及时钟控制参数。
步骤305,根据得到的时钟节点ID,确定对应的目标时钟节点。
步骤306,基于时钟库提供的预设操作函数,利用时钟驱动完成设备驱动进程的时钟设置。
步骤307,将时钟设置的结果,通过IPC消息反馈给设备驱动进程。
有关步骤301至步骤307的说明,可参阅上述实施例,本申请实施例对此不进行一一赘述。
与上述的时钟的设置方法相对应,本发明还提出一种时钟的管理系统。由于本发明的装置实施例与上述的方法实施例相对应,对于装置实施例中未披露的细节可参照上述的方法实施例,本发明中不再进行赘述。
图5为本公开实施例提供的一种时钟的管理系统的结构示意图,如图5所示,包括:
确定模块41,用于按照预设轮询周期确认是否存在未发送时钟设置请求的目标设备驱动进程,所述时钟设置请求包括时钟节点ID及时钟控制参数;
时钟库42,用于记录所有时钟节点构建的时钟树,以及每个时钟节点对应的预设操作函数;
第一接口43,用于通过指针形式向时钟驱动提供接口,供所述时钟驱动从所述时钟库中调用所述预设操作函数;
时钟驱动44,用于根据所述目标设备驱动进程发送的时钟节点ID从所述时钟库中查找对应的目标时钟节点ID,并基于第一接口调用所述目标时钟节点ID对应的预设操作函数,基于所述预设操作函数及接收到的时钟控制参数进行所述目标时钟节点的设置。
进一步地,在本实施例一种可能的实现方式中,如图6所示,还包括:还包括:获取模块45以及查找模块46;
所述获取模块45,用于获取所述目标设备驱动进程的设置时钟节点;
所述查找模块46,用于按照预设对应关系根据所述目标设备驱动进程的设置时钟节点ID查找所述目标设备驱动进程的设置时钟节点ID。
进一步地,在本实施例一种可能的实现方式中,如图6所示,所述时钟库42还包括:
链表数据结构421,用于描述各设备节点之间的传输关系,其中,一个设备节点对应一个时钟节点;
函数库422,用于提供确定每个时钟节点所支持的预设操作函数;
建立子模块423,用于从所述链表数据结构中获取各设备节点之间的传输关系,并根据所述传输关系确定所述时钟节点之间的父子关系,并建立所述预设操作函数与所述时钟节点之间的对应关系。
进一步地,在本实施例一种可能的实现方式中,如图6所示,所述时钟库42还包括:
转换子模块424,用于将所述链表数据结构转换为设备树二进制文件,将所述设备树二进制文件转换为设备树源文件,其中,所述设备树源文件用于描述时钟节点之间的父子关系。
进一步地,在本实施例一种可能的实现方式中,如图6所示,所述建立子模块423,还用于根据所述转换模块确定的时钟节点之间的父子关系,建立所述预设操作函数与所述时钟节点之间的对应关系。
进一步地,在本实施例一种可能的实现方式中,如图6所示,还包括:第二接口47,用于向所述函数库提供接口,以基于所述第二接口调用存储于所述函数库中的所述预设操作函数;
第三接口48,用于向所述确定模块提供接口,以使所述确定模块基于所述第三接口传输解析得到的所述目标时钟节点的时钟节点ID及所述时钟控制参数。
根据本公开的实施例,本公开还提供了一种设备驱动系统,如图7所示,所述设备驱动系统包括设备驱动进程,包括:
设备驱动51,用于控制目标时钟节点的硬件设备驱动程序,将所述目标时钟节点的时钟节点ID及时钟控制参数封装成时钟设置请求发送至时钟的管理系统。
进一步地,在本实施例一种可能的实现方式中,如图7所示,还包括:
所述设备驱动51,还用于通过调用代理时钟库提供的远程调用接口对所述目标时钟节点进行控制;
代理时钟库52,用于向所述设备驱动提供函数接口,并将所述目标时钟节点的所述时钟节点ID及所述时钟控制参数封装成所述时钟设置请求发送至所述时钟系统的管理系统。
本公开提供一种时钟的管理系统,按照预设轮询周期确认是否存在未发送时钟设置请求的目标设备驱动进程,所述时钟设置请求包括时钟节点ID及时钟控制参数,若存在,则从时钟库中查找所述目标设备驱动进程对应的目标时钟节点ID,其中,所述时钟库中记录有所有时钟节点构建的时钟树,以及每个时钟节点对应的预设操作函数,基于时钟驱动调用所述目标时钟节点ID对应的预设操作函数,并基于所述预设操作函数及接收到的时钟控制参数进行所述目标时钟节点的设置。与相关技术相比,本发明实施例采用主动轮询的方式,确认存在未发送时钟设置请求的目标设备驱动进程的情况下,从时钟库中查找目标设备驱动进程对应的目标时钟节点ID,调用时钟库中的预设操作函数完成对应的目标时钟节点的时钟设置;可以实现对时钟树的管理,同时实现硬件驱动进程对时钟控制参数的自定义设置及修改。
本申请实施例还提供一种芯片系统,该芯片系统包括:至少一个处理器和接口,用于支持通信装置实现图5或图6或图7所涉及的功能;
存储器,用于保存通信装置必要的计算机程序和数据。
图8示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备600包括计算单元601,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)602中的计算机程序或者从存储单元608加载到RAM(Random AccessMemory,随机访问/存取存储器)603中的计算机程序,来执行各种适当的动作和处理。在RAM603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。I/O(Input/Output,输入/输出)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如时钟的设置方法。例如,在一些实施例中,时钟的设置方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行前述时钟的设置方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上系统的系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(LiquidCrystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种时钟的设置方法,其特征在于,包括:
按轮询周期确认未完成时钟设置的目标设备驱动进程;
查询所述目标设备驱动进程的时钟设置配置,所述时钟设置配置包括时钟节点ID及时钟控制参数;
从时钟库中查找所述时钟节点ID对应的目标时钟节点ID,其中,所述时钟库中记录有所有时钟节点构建的时钟树,以及每个时钟节点对应的预设操作函数;
基于时钟驱动调用所述目标时钟节点ID对应的预设操作函数,并基于所述预设操作函数及所述时钟控制参数进行所述目标时钟节点的设置。
2.根据权利要求1所述的方法,其特征在于,所述查询所述目标设备驱动进程的时钟设置配置,具体包括:
获取所述目标设备驱动进程的标识号,并根据所述目标设备驱动进程的标识号在预设对应关系中查找对应的所述时钟设置配置。
3.根据权利要求1所述的方法,其特征在于,所述时钟库的生成方法包括:
获取链表数据结构,所述链表数据结构用于描述各设备节点之间的传输关系,其中,一个设备节点对应一个时钟节点;
从所述链表数据结构中获取各设备节点之间的传输关系,并根据所述传输关系确定所述时钟节点之间的父子关系;
确定每个时钟节点所支持的预设操作函数,并建立所述预设操作函数与所述时钟节点之间的对应关系;
根据已建立的所述预设操作函数与所述时钟节点之间的对应关系生成时钟库。
4.根据权利要求3所述的方法,其特征在于,在确定每个时钟节点所支持的预设操作函数之前,所述方法还包括:
在预设抽象数据结构中注册所述预设操作函数;其中,所述预设抽象数据结构为所述时钟库中维护的用于描述时钟节点的数据结构。
5.根据权利要求1所述的方法,其特征在于,所述调用所述目标时钟节点ID对应的预设操作函数包括:
调用时钟驱动,由所述时钟驱动根据所述时钟节点ID,从所述时钟库中调用所述预设操作函数。
6.根据权利要求3所述的方法,其特征在于,在根据已建立的所述预设操作函数与所述时钟节点之间的对应关系生成时钟库之后,所述方法还包括:
输出对所述时钟节点进行初始化设置的提示信息;
响应于所述提示信息的确认指令,对所述时钟节点进行初始化设置。
7.一种时钟的管理系统,其特征在于,包括:
确定模块,用于按轮询周期确认未完成时钟设置的目标设备驱动进程;
查询模块,用于查询所述目标设备驱动进程的时钟设置配置,所述时钟设置配置包括时钟节点ID及时钟控制参数;
时钟库,用于记录所有时钟节点构建的时钟树,以及每个时钟节点对应的预设操作函数;
第一接口,用于通过指针形式向时钟驱动提供接口,供所述时钟驱动从所述时钟库中调用所述预设操作函数;
时钟驱动,用于根据所述查询模块查询到的所述时钟节点ID从所述时钟库中查找对应的目标时钟节点ID,并基于第一接口调用所述目标时钟节点ID对应的预设操作函数,基于所述预设操作函数及所述查询模块查询到的所述时钟控制参数进行所述目标时钟节点的设置。
8.根据权利要求7所述的系统,其特征在于,所述查询模块,还用于根据所述目标设备驱动进程的标识号在预设对应关系中查找对应的所述时钟设置配置。
9.根据权利要求7所述的系统,其特征在于,所述时钟库还包括:
链表数据结构,用于描述各设备节点之间的传输关系,其中,一个设备节点对应一个时钟节点;
函数库,用于提供确定每个时钟节点所支持的预设操作函数;
建立子模块,用于从所述链表数据结构中获取各设备节点之间的传输关系,并根据所述传输关系确定所述时钟节点之间的父子关系,并建立所述预设操作函数与所述时钟节点之间的对应关系。
10.根据权利要求9所述的系统,其特征在于,所述时钟库还包括:
转换子模块,用于将所述链表数据结构转换为设备树二进制文件,将所述设备树二进制文件转换为设备树源文件,其中,所述设备树源文件用于描述时钟节点之间的父子关系。
11.根据权利要求10所述的系统,其特征在于,所述建立子模块,还用于根据所述转换模块确定的时钟节点之间的父子关系,建立所述预设操作函数与所述时钟节点之间的对应关系。
12.根据权利要求7-11中任一项所述的系统,其特征在于,还包括:第二接口,用于向所述函数库提供接口,以基于所述第二接口调用存储于所述函数库中的所述预设操作函数;
第三接口,用于向所述确定模块提供接口,以使所述确定模块基于所述第三接口传输解析得到的所述目标时钟节点的时钟节点ID及所述时钟控制参数。
13.一种芯片系统,该芯片系统包括:
至少一个处理器和接口,用于支持通信装置实现权利要求8-13或权利要求14-15所涉及的功能;
存储器,用于保存通信装置必要的计算机程序和数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211491485.XA CN118092579A (zh) | 2022-11-25 | 2022-11-25 | 时钟设置方法、时钟的管理系统及芯片系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211491485.XA CN118092579A (zh) | 2022-11-25 | 2022-11-25 | 时钟设置方法、时钟的管理系统及芯片系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118092579A true CN118092579A (zh) | 2024-05-28 |
Family
ID=91140980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211491485.XA Pending CN118092579A (zh) | 2022-11-25 | 2022-11-25 | 时钟设置方法、时钟的管理系统及芯片系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118092579A (zh) |
-
2022
- 2022-11-25 CN CN202211491485.XA patent/CN118092579A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108769109B (zh) | 一种物联网异构设备数据的统一处理方法及系统 | |
EP3709227B1 (en) | System and method for interoperable communication of an automation system component with multiple information sources | |
US20200387804A1 (en) | Constructing and utilizing a knowledge graph for information technology infrastructure | |
CN108304201B (zh) | 对象更新方法、装置及设备 | |
CN108958729B (zh) | 一种数据处理方法、装置及存储介质 | |
CN110955715A (zh) | Erp系统和目标平台的数据转换方法、装置以及电子设备 | |
CN114489954A (zh) | 基于虚拟化平台的租户创建方法、租户访问方法及设备 | |
CN118092579A (zh) | 时钟设置方法、时钟的管理系统及芯片系统 | |
CN113110920B (zh) | 区块链系统的运行方法、装置、设备和存储介质 | |
CN114070889B (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN112905270B (zh) | 工作流实现方法、装置、平台、电子设备以及存储介质 | |
CN112418796B (zh) | 子流程任务节点激活方法、装置、电子设备及存储介质 | |
CN118092578A (zh) | 时钟的设置方法及装置、电子设备和存储介质 | |
CN114817288A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113157281B (zh) | 开发环境的创建方法、装置、电子设备和存储介质 | |
CN116561075B (zh) | 动态链接库文件的生成方法、算子的调用方法及装置 | |
CN113253995B (zh) | 区块链系统的开发方法、装置、设备和存储介质 | |
CN115396305B (zh) | 一种基于微服务架构的异构网络设备统一管控方法和系统 | |
CN116521199B (zh) | 一种部件升级方法、装置、设备及存储介质 | |
CN114021723B (zh) | 医疗知识库的规则管理方法、装置及计算机可读存储介质 | |
CN116860353A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN114840220A (zh) | 应用的部署方法、装置、设备及计算机可读存储介质 | |
CN116795451A (zh) | 客户端组件处理、请求处理方法、装置、设备及介质 | |
CN115061664A (zh) | 对象转换方法、装置、电子设备及存储介质 | |
CN118113420A (zh) | 一种应用部署方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |