一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

硬件单板的逻辑地址空间的配置方法、设备和存储介质与流程

2021-10-22 22:08:00 来源:中国专利 TAG:单板 逻辑 配置 特别 实施


1.本发明实施例涉及通信领域,特别涉及一种硬件单板的逻辑地址空间的配置方法、设备和存储介质。


背景技术:

2.硬件描述语言(hardware description language,简称:hdl)是电子系统硬件行为描述、结构描述、数据流描述的语言。利用硬件描述语言可以从顶层到底层(从抽象到具体)逐层描述数字电路系统的设计思想,用一系列分层次的模块来表示极其复杂的数字电路系统。
3.目前在常规的硬件设计中,硬件描述语言已广泛使用,在一个完整的软硬件系统中,硬件描述语言对硬件单板的逻辑地址空间进行配置,是处于底层硬件和上层软件之间承上启下的一个层次。
4.然而,发明人发现:在一个由多种不同种类的硬件单板组成的硬件系统中,由于不同类型的硬件单板之间的差异,使得上层软件需要针对每种硬件单板的类型进行代码设计,硬件系统的兼容性差。


技术实现要素:

5.本发明实施方式的目的在于提供一种硬件单板的逻辑地址空间的配置方法、设备和存储介质,使得硬件系统中不同类型的硬件单板之间的差异对上层软件进行代码设计的影响降低,提升硬件系统的兼容性。
6.为解决上述技术问题,本发明的实施方式提供了一种硬件单板的逻辑地址空间的配置方法,包括:根据硬件单板支持的功能,将所述硬件单板的逻辑地址空间划分为n个功能块,其中,n为大于1的正整数,每个所述功能块对应所述硬件单板支持的一种功能;在每个所述功能块中,分别设置功能信息区、功能实现区和功能地址区,其中,所述功能信息区用于记录该功能块的信息,所述功能实现区用于实现该功能块的功能,第n个所述功能块的功能地址区用于指向第n 1个功能块的起始地址,n为小于n的自然数,第n个功能块的功能地址区指向一个预设值。
7.本发明的实施方式还提供了一种设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的硬件单板的逻辑地址空间的配置方法。
8.本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述硬件单板的逻辑地址空间的配置方法。
9.本发明实施方式相对于现有技术而言,根据硬件单板支持的功能,将硬件单板的逻辑地址空间划分为n个功能块,每个功能块对应硬件单板支持的一种功能;在每个功能块中,分别设置功能信息区、功能实现区和功能地址区,其中,功能信息区用于记录功能块的
信息,功能实现区用于实现功能块的功能,第n个功能块的功能地址区用于指向第n 1个功能块的起始地址,第n个功能块的功能地址区指向一个预设值。根据硬件单板支持的功能将硬件单板的逻辑地址空间划分为n个功能块,使得上层软件不用考虑每个具体单板的类型,而可以针对每个功能块进行代码加载,并且,上层软件在加载完一个功能块后,可以根据该功能块的功能地址区提供的地址进行下一个功能块的加载,并最终完成所有功能块的加载,从而使得硬件系统中不同类型的硬件单板之间的差异对上层软件进行代码设计的影响降低,提升了硬件系统的兼容性。
10.另外,所述根据硬件单板支持的功能,将所述硬件单板的逻辑地址空间划分为n个功能块之后,还包括:在每个所述功能块中设置保留区,每个所述功能块的保留区为该功能块进行功能扩展或功能升级的预留空间。通过在每个功能块中配置用于作为功能块进行功能扩展或功能升级的预留空间的保留区,使得每个功能块都能够利用保留区进行功能扩展或者功能升级,从而使得硬件单板具备可扩展性。
11.另外,所述在每个所述功能块中设置保留区之前,还包括:根据每个所述功能块的对应的硬件单板支持的功能,确定每个所述功能块的保留区占用的空间大小。在每个功能块中设置保留区,并根据硬件单板支持的各个功能分别确定每个功能块的保留区大小,可以使得后续在进行功能升级时,预设的保留区能够满足每个功能块的升级需要,并且不会导致升级前后代码兼容性的问题。
12.另外,每个所述功能信息区记录的该功能块的信息包括该功能块的版本号。通过在每个功能块的功能信息区记录该功能块的版本号,使得后续在对每个功能块进行管理或维护时便于获取每个功能块的版本号,提升了硬件单板的可维护性。
13.另外,所述根据硬件单板支持的功能,将所述硬件单板的逻辑地址空间划分为n个功能块之后,还包括:为每个所述功能块标记功能块标识;每个所述功能信息区记录的该功能块的信息包括该功能块的功能块标识。
14.另外,每个所述功能信息区或每个所述功能地址区占用的空间相同。
15.另外,所述n个功能块包含基础功能块;所述基础功能块包括逻辑器件自身信息功能块,单板基础信息功能块,单板状态信息功能块和单板控制类寄存器功能块中的至少一者。
16.另外,所述n个功能块还包含特定功能块;所述特定功能块包括i2c控制器功能块,smi/mdio控制器功能块,uart控制器功能块,spi控制器功能块和工装测试寄存器功能块中的至少一者。
附图说明
17.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
18.图1是根据本发明第一实施方式的硬件单板的逻辑地址空间的配置方法的流程示意图;
19.图2是根据本发明第二实施方式的硬件单板的逻辑地址空间的配置方法的流程示意图;
20.图3是根据本发明第二实施方式对硬件单板的逻辑地址空间进行划分的示意图;
21.图4是根据本发明第三实施方式的硬件单板的逻辑地址空间的配置方法的流程示意图;
22.图5是根据本发明第三实施方式对硬件单板的逻辑地址空间进行划分的示意图;
23.图6是根据本发明第四实施方式的设备的结构示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。
25.本发明的第一实施方式涉及一种硬件单板的逻辑地址空间的配置方法,包括:根据硬件单板支持的功能,将硬件单板的逻辑地址空间划分为n个功能块,其中,n为大于1的正整数,每个功能块对应硬件单板支持的一种功能;在每个功能块中,分别设置功能信息区、功能实现区和功能地址区,其中,功能信息区用于记录该功能块的信息,功能实现区用于实现该功能块的功能,第n个功能块的功能地址区用于指向第n 1个功能块的起始地址,n为小于n的自然数,第n个功能块的功能地址区指向一个预设值。本实施方式使得硬件系统中不同的硬件单板之间的差异对上层软件进行代码设计的影响降低,提升硬件系统的兼容性。下面对本实施方式的硬件单板的逻辑地址空间的配置方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
26.本实施方式中的硬件单板的逻辑地址空间的配置方法如图1所示:
27.步骤101:根据硬件单板支持的功能,将所述硬件单板的逻辑地址空间划分为n个功能块,其中,n为大于1的正整数,每个所述功能块对应所述硬件单板支持的一种功能。
28.具体地说,根据硬件单板支持的功能对硬件单板的逻辑地址空间进行划分,得到n个功能块。在进行功能块的划分时,各个功能块之间的先后关系没有特定的要求,各个功能块的地址空间范围和起始地址都可以结合具体系统中总地址空间确定。
29.步骤102:在每个所述功能块中,分别设置功能信息区、功能实现区和功能地址区,其中,功能信息区用于记录该功能块的信息,功能实现区用于实现该功能块的功能,第n个所述功能块的功能地址区用于指向第n 1个功能块的起始地址,n为小于n的自然数,第n个功能块的功能地址区指向一个预设值。
30.具体地说,功能信息区用于记录该功能块的信息。功能块的信息可以包括功能块的功能块标识(可以在执行步骤101之后给每个功能块标记功能块标识),功能块的版本号,功能块的生成日期等。
31.值得一提的是,每个所述功能信息区记录的该功能块的信息包括该功能块的版本号时,可以使得后续在对每个功能块进行管理或维护时便于获取每个功能块的版本号,提升了硬件单板的可维护性。
32.功能实现区用于实现功能块的功能。每个功能块的功能实现区是实现该功能块的功能的板级支持包(board support package,bsp)接口寄存器,是和上层软件进行交互的接口。
33.功能地址区用于指向另外一个功能块的起始地址,并且,第n个功能块的功能地址
区指向一个预设值(或者无效地址)。功能块之间通过功能地址区指向下一个功能块的起始地址建立映射关系,使得上层软件可以在加载完一个功能块后,可以根据该功能块的功能地址区指向的起始地址进行下一个功能块的加载,并在加载到功能地址区指向约定的预设值(或者无效地址)时,完成所有功能块的加载。例如,当n=3时,第一个功能块的功能地址区指向第二个功能块的起始地址,第二个功能块的功能地址区指向第三个功能块的起始地址,第三个功能块的功能地址区指向一个预设值(或者无效地址)。
34.此外,在本实施例中,在设置功能信息区,可以对每个功能块的功能信息区记录的信息进行统一设置,此时,每个功能块的功能信息区或者功能地址区占用的空间相同,有利于提升上层软件对每个功能块的加载效率。
35.与现有技术相比,本实施方式中,根据硬件单板支持的功能,将硬件单板的逻辑地址空间划分为n个功能块,每个功能块对应硬件单板支持的一种功能;在每个功能块中,分别设置功能信息区、功能实现区和功能地址区,其中,每个功能块的功能信息区用于记录该功能块的信息,每个功能块的功能实现区用于实现该功能块的功能,第n个功能块的功能地址区用于指向第n 1个功能块的起始地址,第n个功能块的功能地址区指向一个预设值。根据硬件单板支持的功能将硬件单板的逻辑地址空间划分为n个功能块,使得上层软件不用考虑每个具体单板的类型,而可以针对每个功能块进行代码加载;并且,功能块之间通过功能地址区指向下一个功能块的起始地址建立映射关系,使得上层软件可以在加载完一个功能块后,可以根据该功能块的功能地址区提供的地址进行下一个功能块的加载,并最终完成所有功能块的加载,从而提升了硬件系统的兼容性。
36.本发明的第二实施方式涉及一种硬件单板的逻辑地址空间的配置方法。第二实施方式是第一施方式的进一步改进,主要改进之处在于,本实施方式中,在根据硬件单板支持的功能,将所述硬件单板的逻辑地址空间划分为n个功能块这一步骤之后,还包括在每个所述功能块中设置保留区。
37.本实施方式中的硬件单板的逻辑地址空间的配置方法如图2所示,具体包括:
38.步骤201:根据硬件单板支持的功能,将所述硬件单板的逻辑地址空间划分为n个功能块。
39.步骤201与第一实施方式中步骤101大致相同,为避免重复,此处不再赘述。
40.步骤202:在每个所述功能块中设置保留区,保留区为该功能块进行功能升级的预留空间。
41.具体地说,保留区为该功能块对其所支持的功能进行升级时的预留空间。比如单板状态信息功能块支持记录单板复位原因这一功能,其保留8次复位原因记录,后续可能由于使用需求,需要增加保留复位原因记录的次数,此时通过设置保留区作为该功能块进行功能升级的预留空间,可以利用保留区的空间进行这一功能的升级;此外,接口控制功能块(比如说i2c控制功能块,支持对i2c接口进行控制这一功能)在对接口数量进行扩展时,也可以通过利用保留区的空间进行接口数量的扩展。
42.进一步地,在本实施方式中,可以通过以下方式确定保留区的大小:在每个所述功能块中设置保留区之前,根据每个所述功能块的对应的硬件单板支持的功能,确定每个所述保留区占用的空间大小。在确定一功能块的保留区大小时,可以基于该功能块支持的功能进行功能升级的最大需求来评估保留区的大小(可以参考整个硬件系统中与该功能块支
持同一功能的所有单板的功能块,并根据对同一功能占用空间最大的应用来确定保留区的大小)。在每个功能块中设置保留区,并根据硬件单板支持的各个功能分别确定每个功能块的保留区大小,可以使得后续在进行功能升级时,预设的保留区能够满足每个功能块的升级需要,并且不会导致升级前后代码兼容性的问题。
43.举例来说,在确定单板状态信息功能块这一功能块的保留区大小时,根据该功能块所支持的“记录单板每次复位原因”这一功能,一次复位原因记录需要占用16bit,当前该功能块支持保留8次复位原因记录,考虑到整个硬件系统所有单板的单板状态信息功能块中,对于“记录单板每次复位原因”这一功能占用空间最大的应用为:保留12次复位原因记录,则确定保留区的大小为64bit((12-8)*16)。在另外一个例子中,在确定i2c控制功能块的保留区大小时,该功能块通过片选寄存器对16路物理通道进行控制,当前该功能块的片选寄存器占用16bit,每个bit对应一个物理通道,考虑到该功能的最大使用需求要求32路物理通道,则确定保留区的大小为16bit。
44.步骤203:在每个所述功能块中,分别设置功能信息区、功能实现区和功能地址区。
45.步骤203与第一实施方式中步骤102大致相同,为避免重复,此处不再赘述。
46.需要说明的是,在本实施方式中,步骤202即设置保留区的步骤,与步骤203即设置功能信息区、功能实现区和功能地址区的步骤之间并不限定先后关系,在实际应用中还可以先执行步骤203,再执行步骤202,或者,同时执行步骤202和步骤203。
47.举例来说,对系统中一块硬件单板的逻辑地址空间划分如图3所示。标号x05(x=1,2,

,n)为基于单个独立功能的逻辑地址空间,共有n个。每个独立功能的逻辑地址空间,包含x01,x02,x03,x04几部分,x01为功能信息区,x02为功能地址区,x03为功能实现区,x04为保留区。
48.与上一实施方式相比,本实施方式中,在根据硬件单板支持的功能,将所述硬件单板的逻辑地址空间划分为n个功能块这一步骤之后,还包括在每个所述功能块中设置保留区,每个所述功能块的保留区为该功能块进行功能升级的预留空间。通过在每个功能块中配置用于作为功能块进行功能升级的预留空间的保留区,使得每个功能块都能够利用保留区进行功能升级,从而使得硬件单板具备可扩展性。
49.本发明的第三实施方式涉及一种硬件单板的逻辑地址空间的配置方法。第三实施方式与第二实施方式大致相同,不同之处在于,本实施方式中,在根据硬件单板支持的功能,将所述硬件单板的逻辑地址空间划分为n个功能块这一步骤中,n个功能块包含基础功能块和特定功能块。
50.本实施方式中的硬件单板的逻辑地址空间的配置方法如图4所示,具体包括:
51.步骤301:根据硬件单板支持的功能,将所述硬件单板的逻辑地址空间划分为n个功能块,其中,所述n个功能块包含基础功能块和特定功能块。
52.具体地说,根据硬件单板支持的功能对硬件单板的逻辑地址空间进行划分,得到n个功能块包含基础功能块和特定功能块。其中,基础功能块是同一个硬件系统内所有单板共有的基础功能块。系统中所有不同硬件单板需要实现的逻辑功能种类合集假设为a,则n<=a,对于不同的硬件单板n值可以不同。假设所有硬件单板共有的基础功能块的个数为b,则1<=b<=a。
53.进一步说,所述基础功能块可以包括逻辑器件自身信息功能块,单板基础信息功
能块,单板状态信息功能块和单板控制类寄存器功能块中的至少一者。
54.所述特定功能块可以包括i2c控制器功能块,smi/mdio控制器功能块,uart控制器功能块,spi控制器功能块和工装测试寄存器功能块中的至少一者。
55.步骤302:在每个所述功能块中设置保留区,每个所述功能块的保留区为该功能块进行功能升级的预留空间。
56.步骤303:在每个所述功能块中,分别设置功能信息区、功能实现区和功能地址区。
57.步骤302至步骤303分别与第二实施方式中步骤202至步骤203大致相同,为避免重复,在此不再一一赘述。
58.举例来说,对系统中一块硬件单板的逻辑地址空间划分如图5所示。在该例子中,根据不同种类单板,将板卡的逻辑功能归结为9种,如表1所示(funcid代表每个功能块的功能块标识),分别为:逻辑器件自身信息,单板基础信息,单板状态信息,单板控制类寄存器,i2c控制器,smi/mdio控制器,uart控制器,spi控制器,工装测试寄存器。其中前4种是不同单板共有的基础功能。图5中的硬件单板经过逻辑地址空间划分后,得到5个功能块,分别为逻辑器件自身信息功能块(对应功能:报告可编程逻辑器件自身信息、版本、生成日期等,功能块空间长度:0
×
20),单板基础信息功能块(对应功能:报告单板基础信息,比如boardid,pcbid等信息,功能块空间长度:0
×
40),单板状态信息功能块(对应功能:报告单板状态信息,比如子卡在位信息等,功能块空间长度:0
×
40),单板控制功能块(对应功能:对单板进行控制,功能块空间长度:0
×
40)和i2c控制功能块(对应功能:对i2c接口进行控制,功能块空间长度:0
×
40)。对于图5中的英文标注说明在表2中进行说明。
59.功能块标识说明funcid:0逻辑器件自身信息funcid:1单板基础信息funcid:2单板状态信息funcid:3单板控制类寄存器
ꢀꢀ
funcid:16i2c控制器funcid:17smi/mdio控制器funcid:18uart控制器funcid:19spi控制器funcid:20工装测试寄存器
ꢀꢀ
60.表1
61.项目说明寄存器位宽16位funcid功能块标识,8位,范围0-255revision版本号,8位,范围0-255nextpointer功能地址区,32位
62.表2
63.进一步说,单个功能块的地址空间划分,以逻辑器件自身信息功能块为例,该功能
块对应的功能为报告可编程逻辑器件的自身信息,版本,生成日期等,其功能块标识为0,整个功能块的空间长度为0x20,寄存器位宽16位。其中,功能信息区和功能地址区合称为逻辑功能头,功能信息区包括:funcid(功能块标识),代表功能分类,8bit,范围0-255;revsion版本号,代表功能版本,8bit,范围0-255;reserved保留用作未来功能标识的扩展,16bit。功能地址区表示为nextpointer,代表下一功能块的起始地址,32bit,以上部分内容,因为在不同功能模块中定义统一,占用位宽一致,称作逻辑功能头。逻辑器件自身信息功能块中的功能实现区包含epldversion,代表当前epld逻辑版本号,16bit。eplddate,代表当前逻辑版本的编译日期,16bit。保留区对应的地址空间为0xd-0x20的未定义区域,共160bit,预留给未来的功能升级使用。
64.本实例中,逻辑器件自身信息功能块的功能地址区指向单板基础信息块的起始地址,单板基础信息功能块再指向单板状态信息功能块,单板状态信息功能块指向单板控制功能块,单板控制功能块指向i2c控制功能块,至此当前硬件单板逻辑功能已罗列完毕,i2c控制器接口区指向地址0xffff,代表当前功能模块为单板最后一个功能模块,供软件判断。
65.与现有技术相比,本实施方式中,根据硬件单板支持的功能,将硬件单板的逻辑地址空间划分为n个功能块,每个功能块对应硬件单板支持的一种功能;在每个功能块中,分别设置功能信息区、功能实现区和功能地址区,其中,每个功能块的功能信息区用于记录该功能块的信息,每个功能块的功能实现区用于实现该功能块的功能,第n个功能块的功能地址区用于指向第n 1个功能块的起始地址,第n个功能块的功能地址区指向一个预设值。根据硬件单板支持的功能将硬件单板的逻辑地址空间划分为n个功能块,使得上层软件不用考虑每个具体单板的类型,而可以针对每个功能块进行代码加载;并且,功能块之间通过功能地址区指向下一个功能块的起始地址建立映射关系,使得上层软件可以在加载完一个功能块后,可以根据该功能块的功能地址区提供的地址进行下一个功能块的加载,并最终完成所有功能块的加载,从而提升了硬件系统的兼容性。
66.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
67.本发明第四实施方式涉及一种设备,如图4所示,包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述的任一方法实施例中的逻辑地址空间的配置方法。
68.其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
69.处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时、外围接
口、电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
70.本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中的逻辑地址空间的配置方法。
71.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
72.本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜