一种设备存储器清理的方法、系统、设备和存储介质与流程



1.本发明属于存储器清理技术领域,特别涉及一种设备存储器清理的方法、系统、设备和存储介质。


背景技术:



2.i2c(inter-integrated circuit,内部集成电路)是一种双向同步串行总线,该总线上可以连接多个设备,其分为主设备与从设备,在同一时间仅能有一个主设备,但可以有多个从设备。该总线由两根线组成,一根为sda,同步数据线,用于在主设备与从设备间传输数据;一根为scl,同步时钟线,用于在主设备与从设备间同步时间。在该总线上数据是按位串行传输。i2c总线上会连接多个设备,这些设备皆有一定的存储空间,可以用于存储一些相关的数据。这些数据不同的值代表了不同的信息或不同的功能,可以通过i2c对这些数据进行读或写,以实现不同的功能。然长时间使用这些设备后,其存储空间中的数据会发生混乱,有时候需要将其中的数据进行清空以恢复默认功能。
3.欲清空挂接在i2c上的设备存储器,一种方法是用传统的i2c工具对该存储器中的寄存器来进行写数据,然传统的i2c工具每次只能写一个寄存器,挂在i2c总线上的设备存储器的寄存器往往成百上千,乃至上万个,如此操作效率过于低下,而且传统的工具只能对单字节的寄存器进行读写,如果该寄存器是双字节的话,该i2c工具则无法对其进行读写;另一种方法是利用ipmi工具对该设备存储器中的寄存器进行写数据,ipmi工具可以对双字节的寄存器进行读写操作,可以一次性读写多个数据,然仍然无法一次性将所有的寄存器中的数据读写完成,欲清空挂接在i2c上的设备存储器,需要大量重复的操作才能清空该设备存储器;为了扩展i2c上所能连接设备的个数,往往先在i2c总线上连接多路复用器,然后将设备连接在多路复用器的通道上,如此无论是i2c工具还是ipmi工具都无法直接访问该设备,需要先选择多路复用器的通道,然后才能访问该设备,然ipmi进程会在多路复用器的不同通道之间轮询,即不停的选择某个通道并取消选择其之前选择的通道,所以即便选择了多路复用器的某个通道后再访问连接再该通道上的设备,也有可能会失败,因为当访问该设备的时候,该设备所连接的通道可能已经被取消选择,如此就需要重复进行操作,增加了工作量。


技术实现要素:



4.为了解决上述技术问题,本发明提出了一种设备存储器清理的方法、系统、设备和存储介质。用于实现无论是单字节的寄存器还是双字节的寄存器,无论是直接连在i2c总线上的设备存储器还是通过多路复用器间接连接在i2c总线上的设备存储器,无论该设备存储空间是多大的,都可以进行清空。
5.为实现上述目的,本发明采用以下技术方案:
6.一种设备存储器清理的方法,包括以下步骤:
7.获取设备的第一信息;所述第一信息包括设备所连接的i2c总线,设备地址和设备
存储器容量;
8.在获取设备的第一信息之后,判断所述设备存储器对应的寄存器模式,根据寄存器模式设置不同的步长,然后初始化读写起始位置;
9.获取设备多路复用器地址和选择多路复用器的通道,从起始位置沿着多路复用器的通道读写步长个数据;
10.重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。
11.进一步的,所述根据寄存器模式设置不同的步长的过程包括:
12.当寄存器的模式为byte时,设置第一步长;
13.当寄存器的模式为word时,设置第二步长。
14.进一步的,所述第一步长设置为0x10;如果第二步长设置为0x80。
15.进一步的,所述选择多路复用器的通道的过程包括:调用ipmi工具选择多路复用器的通道。
16.进一步的,所述从起始位置读写步长个数据的过程包括调用ipmi工具从起始位置开始一次性读写步长个数据。
17.进一步的,所述清空存储器对应的寄存器的过程包括往寄存器中写入0xff实现对存储器对应的寄存器清空。
18.本发明还提出了一种设备存储器清理的系统,包括获取模块、判断模块、选择模块和清空模块;
19.所述获取模块用于获取设备的第一信息;所述第一信息包括设备所连接的i2c总线,设备地址和设备存储器容量;
20.所述判断模块用于在获取设备的第一信息之后,判断所述设备存储器对应的寄存器模式,根据寄存器模式设置不同的步长,然后初始化读写起始位置;
21.所述选择模块用于获取设备多路复用器地址和选择多路复用器的通道,从起始位置沿着多路复用器的通道读写步长个数据;
22.所述清空模块用于重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。
23.进一步的,所述清空模块执行的过程包括:往寄存器中写入0xff实现对存储器对应的寄存器清空。
24.本发明还提出了一种设备,包括:
25.存储器,用于存储计算机程序;
26.处理器,用于执行所述计算机程序时实现所述的方法步骤。
27.本发明还提出了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法步骤。
28.发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
29.本发明提出了一种设备存储器清理的方法、系统、设备和存储介质,该方法包括获取设备的第一信息;第一信息包括设备所连接的i2c总线,设备地址和设备存储器容量;在获取设备的第一信息之后,判断设备存储器对应的寄存器模式,根据寄存器模式设置不同
的步长,然后初始化读写起始位置;获取设备多路复用器地址和选择多路复用器的通道,从起始位置沿着多路复用器的通道读写步长个数据;重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。基于一种设备存储器清理的方法,还提出了一种设备存储器清理的系统、设备和存储介质。本发明只需要获取设备所连接的i2c总线,设备地址、设备存储器容量、寄存器模式,多路复用器的地址以及通道,便可以清空连接在i2c总线上的设备存储器,无论是直连在i2c总线上的设备还是通过多路复用器间接连接在多路复用器上的设备,无论其寄存器是单字节的还是双字节的皆可以清空。
30.本发明解决了传统的i2c工具一次只能读写一个寄存器以及只能读写单字节表示的寄存器的问题,同时避免了ipmi工具单次读写失败,以及需要大量重复读写,增加工作量的弊端。本发明可以简单、高效、准确地实现了挂接在i2c总线上设备存储器的清空。
附图说明
31.如图1为本发明实施例1一种设备存储器清理的方法中设置不同步长的流程图;
32.如图2为本发明实施例1一种设备存储器清理的方法中设置不同步长后清理的流程图;
33.如图3为本发明实施例2一种设备存储器清理的系统示意图。
具体实施方式
34.为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
35.实施例1
36.本发明提出了一种设备存储器清理的方法,解决了传统的i2c工具一次只能读写一个寄存器以及只能读写单字节表示的寄存器的问题;同时避免了ipmi工具单次读写失败,以及需要大量重复读写,增加工作量的弊端。
37.该方法具体包括:获取设备的第一信息;第一信息包括设备所连接的i2c总线,设备地址和设备存储器容量;
38.在获取设备的第一信息之后,判断设备存储器对应的寄存器模式,根据寄存器模式设置不同的步长,然后初始化读写起始位置;
39.根据不同的寄存器模式设置不同的步长的过程包括:当寄存器的模式为byte时,设置第一步长;当寄存器的模式为word时,设置第二步长;第一步长设置为0x10;如果第二步长设置为0x80。
40.获取设备多路复用器地址和选择多路复用器的通道,从起始位置沿着多路复用器的通道读写步长个数据;
41.选择多路复用器的通道的过程包括:调用ipmi工具选择多路复用器的通道。
42.从起始位置读写步长个数据的过程包括调用ipmi工具从起始位置开始一次性读
写步长个数据。
43.重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。清空存储器对应的寄存器的过程包括往寄存器中写入0xff实现对存储器对应的寄存器清空。
44.如图1为本发明实施例1一种设备存储器清理的方法中设置不同步长的流程图。
45.在步骤s100中,开始处理该流程;
46.在步骤s101中,用户输入设备所连接的i2c总线,设备地址、设备存储器容量、存储器对应的寄存器模式、多路复用器地址和多路复用器通道等信息;
47.其中寄存器模式是指用两个字节表示的还是用一个字节表示的,如果用两个字节表示的输入word,如果是一个字节表示的,则输入byte。
48.在步骤s102中,重新确定用户是否输入了设备所连接的i2c总线,设备地址和设备存储器容量;判断用户是否输入了设备所连接的i2c总线,设备地址和设备存储器容量,如果是,则执行步骤s103,;如果否,则执行步骤s115;
49.在步骤s103中,判断用户是否输入寄存器模式;如果是,则执行步骤s105,否则,执行步骤s104;
50.在步骤s104中,模式设置为byte;
51.在步骤s105中,判断用户输入的模式为byte还是word;如果为byte,则执行步骤s106,否则执行步骤s107中。
52.在步骤s106中,如果为byte,读写步长设置为0x10;
53.在步骤s107中,如果为word,读写步长设置为0x80;
54.在步骤s108中,读写起始位置设置为0。
55.如图2为本发明实施例1一种设备存储器清理的方法中设置不同步长后清理的流程图;在执行完如图1后的流程,继续执行如图2的流程。
56.在步骤s109中,判断用户是否输入多路复用器地址、选择多路复用器的通道,如果是,则执行步骤s110,否则执行步骤s111;
57.在步骤s110中,根据输入的参数,调用ipmi工具选择多路复用器的通道;
58.在步骤s111中,根据输入的参数,调用ipmi工具从起始位置开始一次性读写步长个数据;
59.在步骤s112中,判断是否对成功;如果读写成功,则执行步骤s113,否则返回步骤s111;
60.在步骤s113中,重新为起始位置赋值;
61.在步骤s114中,读写起始位置是否大于存储器大小;如果是,则执行步骤s115,否则,返回步骤s111;
62.在步骤s115中,表示读写成功。其中往寄存器中写0xff表示对该寄存器清空,将存储器中的所有寄存器都写0xff表示清空存储器。
63.本发明实施例1提出的一种设备存储器清理的方法,只需要获取设备所连接的i2c总线,设备地址、设备存储器容量、寄存器模式,多路复用器的地址以及通道,便可以清空连接在i2c总线上的设备存储器,无论是直连在i2c总线上的设备还是通过多路复用器间接连接在多路复用器上的设备,无论其寄存器是单字节的还是双字节的皆可以清空。
64.本发明实施例1提出的一种设备存储器清理的方法,解决了传统的i2c工具一次只能读写一个寄存器以及只能读写单字节表示的寄存器的问题,同时避免了ipmi工具单次读写失败,以及需要大量重复读写,增加工作量的弊端。本发明可以简单、高效、准确地实现了挂接在i2c总线上设备存储器的清空。
65.实施例2
66.基于本发明实施例1提出的一种设备存储器清理的方法,本发明实施例2还提出了一种设备存储器清理的系统,如图3为本发明实施例2一种设备存储器清理的系统示意图,该系统包括获取模块、判断模块、选择模块和清空模块;
67.获取模块用于获取设备的第一信息;所述第一信息包括设备所连接的i2c总线,设备地址和设备存储器容量;
68.判断模块用于在获取设备的第一信息之后,判断设备存储器对应的寄存器模式,根据寄存器模式设置不同的步长,然后初始化读写起始位置;
69.选择模块用于获取设备多路复用器地址和选择多路复用器的通道,从起始位置沿着多路复用器的通道读写步长个数据;
70.清空模块用于重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。
71.在判断模块中,在获取设备的第一信息之后,判断设备存储器对应的寄存器模式,根据不同的寄存器模式设置不同的步长,然后初始化读写起始位置;
72.根据不同的寄存器模式设置不同的步长的过程包括:当寄存器的模式为byte时,设置第一步长;当寄存器的模式为word时,设置第二步长;第一步长设置为0x10;如果第二步长设置为0x80。
73.选择模块中:选择多路复用器的通道的过程包括:调用ipmi工具选择多路复用器的通道。
74.从起始位置读写步长个数据的过程包括调用ipmi工具从起始位置开始一次性读写步长个数据。
75.清空模块中,清空存储器对应的寄存器的过程包括往寄存器中写入0xff实现对存储器对应的寄存器清空。
76.本发明实施例2提出的一种设备存储器清理的系统,只需要获取设备所连接的i2c总线,设备地址、设备存储器容量、寄存器模式,多路复用器的地址以及通道,便可以清空连接在i2c总线上的设备存储器,无论是直连在i2c总线上的设备还是通过多路复用器间接连接在多路复用器上的设备,无论其寄存器是单字节的还是双字节的皆可以清空。
77.本发明实施例2提出的一种设备存储器清理的系统,解决了传统的i2c工具一次只能读写一个寄存器以及只能读写单字节表示的寄存器的问题,同时避免了ipmi工具单次读写失败,以及需要大量重复读写,增加工作量的弊端。本发明可以简单、高效、准确地实现了挂接在i2c总线上设备存储器的清空。
78.实施例3
79.本发明还提出了一种设备,包括:
80.存储器,用于存储计算机程序;
81.处理器,用于执行所述计算机程序时实现方法步骤如下:
82.获取设备的第一信息;第一信息包括设备所连接的i2c总线,设备地址和设备存储器容量;
83.在获取设备的第一信息之后,判断设备存储器对应的寄存器模式,根据不同的寄存器模式设置不同的步长,然后初始化读写起始位置;
84.根据寄存器模式设置不同的步长的过程包括:当寄存器的模式为byte时,设置第一步长;当寄存器的模式为word时,设置第二步长;第一步长设置为0x10;如果第二步长设置为0x80。
85.获取设备多路复用器地址和选择多路复用器的通道,从起始位置沿着多路复用器的通道读写步长个数据;
86.选择多路复用器的通道的过程包括:调用ipmi工具选择多路复用器的通道。
87.从起始位置读写步长个数据的过程包括调用ipmi工具从起始位置开始一次性读写步长个数据。
88.重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。清空存储器对应的寄存器的过程包括往寄存器中写入0xff实现对存储器对应的寄存器清空。
89.如图1为本发明实施例1一种设备存储器清理的方法中设置不同步长的流程图。
90.在步骤s100中,开始处理该流程;
91.在步骤s101中,用户输入设备所连接的i2c总线,设备地址、设备存储器容量、存储器对应的寄存器模式、多路复用器地址和多路复用器通道等信息;
92.其中寄存器模式是指用两个字节表示的还是用一个字节表示的,如果用两个字节表示的输入word,如果是一个字节表示的,则输入byte。
93.在步骤s102中,重新确定用户是否输入了设备所连接的i2c总线,设备地址和设备存储器容量;判断用户是否输入了设备所连接的i2c总线,设备地址和设备存储器容量,如果是,则执行步骤s103,;如果否,则执行步骤s115;
94.在步骤s103中,判断用户是否输入寄存器模式;如果是,则执行步骤s105,否则,执行步骤s104;
95.在步骤s104中,模式设置为byte;
96.在步骤s105中,判断用户输入的模式为byte还是word;如果为byte,则执行步骤s106,否则执行步骤s107中。
97.在步骤s106中,如果为byte,读写步长设置为0x10;
98.在步骤s107中,如果为word,读写步长设置为0x80;
99.在步骤s108中,读写起始位置设置为0。
100.如图2为本发明实施例1一种设备存储器清理的方法中设置不同步长后清理的流程图;在执行完如图1后的流程,继续执行如图2的流程。
101.在步骤s109中,判断用户是否输入多路复用器地址、选择多路复用器的通道,如果是,则执行步骤s110,否则执行步骤s111;
102.在步骤s110中,根据输入的参数,调用ipmi工具选择多路复用器的通道;
103.在步骤s111中,根据输入的参数,调用ipmi工具从起始位置开始一次性读写步长个数据;
104.在步骤s112中,判断是否对成功;如果读写成功,则执行步骤s113,否则返回步骤s111;
105.在步骤s113中,重新为起始位置赋值;
106.在步骤s114中,读写起始位置是否大于存储器大小;如果是,则执行步骤s115,否则,返回步骤s111;
107.在步骤s115中,表示读写成功。其中往寄存器中写0xff表示对该寄存器清空,将存储器中的所有寄存器都写0xff表示清空存储器。
108.本发明实施例3提出的一种设备,只需要获取设备所连接的i2c总线,设备地址、设备存储器容量、寄存器模式,多路复用器的地址以及通道,便可以清空连接在i2c总线上的设备存储器,无论是直连在i2c总线上的设备还是通过多路复用器间接连接在多路复用器上的设备,无论其寄存器是单字节的还是双字节的皆可以清空。
109.本发明实施例3提出的一种设备,解决了传统的i2c工具一次只能读写一个寄存器以及只能读写单字节表示的寄存器的问题,同时避免了ipmi工具单次读写失败,以及需要大量重复读写,增加工作量的弊端。本发明可以简单、高效、准确地实现了挂接在i2c总线上设备存储器的清空。
110.需要说明:本发明技术方案还提供了一种电子设备,包括:通信接口,能够与其它设备比如网络设备等进行信息交互;处理器,与通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的一种设备存储器清理的方法,而所述计算机程序存储在存储器上。当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。本技术实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random accessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronousdynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。
本技术实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。上述本技术实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、dsp(digital signal processing,即指能够实现数字信号处理技术的芯片),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。处理器执行所述程序时实现本技术实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
111.实施例4
112.本发明还提出了一种可读存储介质,可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现方法步骤如下:
113.获取设备的第一信息;第一信息包括设备所连接的i2c总线,设备地址和设备存储器容量;
114.在获取设备的第一信息之后,判断设备存储器对应的寄存器模式,根据不同的寄存器模式设置不同的步长,然后初始化读写起始位置;
115.根据寄存器模式设置不同的步长的过程包括:当寄存器的模式为byte时,设置第一步长;当寄存器的模式为word时,设置第二步长;第一步长设置为0x10;如果第二步长设置为0x80。
116.获取设备多路复用器地址和选择多路复用器的通道,从起始位置沿着多路复用器的通道读写步长个数据;
117.选择多路复用器的通道的过程包括:调用ipmi工具选择多路复用器的通道。
118.从起始位置读写步长个数据的过程包括调用ipmi工具从起始位置开始一次性读写步长个数据。
119.重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。清空存储器对应的寄存器的过程包括往寄存器中写入0xff实现对存储器对应的寄存器清空。
120.如图1为本发明实施例1一种设备存储器清理的方法中设置不同步长的流程图。
121.在步骤s100中,开始处理该流程;
122.在步骤s101中,用户输入设备所连接的i2c总线,设备地址、设备存储器容量、存储器对应的寄存器模式、多路复用器地址和多路复用器通道等信息;
123.其中寄存器模式是指用两个字节表示的还是用一个字节表示的,如果用两个字节表示的输入word,如果是一个字节表示的,则输入byte。
124.在步骤s102中,重新确定用户是否输入了设备所连接的i2c总线,设备地址和设备存储器容量;判断用户是否输入了设备所连接的i2c总线,设备地址和设备存储器容量,如果是,则执行步骤s103,;如果否,则执行步骤s115;
125.在步骤s103中,判断用户是否输入寄存器模式;如果是,则执行步骤s105,否则,执行步骤s104;
126.在步骤s104中,模式设置为byte;
127.在步骤s105中,判断用户输入的模式为byte还是word;如果为byte,则执行步骤s106,否则执行步骤s107中。
128.在步骤s106中,如果为byte,读写步长设置为0x10;
129.在步骤s107中,如果为word,读写步长设置为0x80;
130.在步骤s108中,读写起始位置设置为0。
131.如图2为本发明实施例1一种设备存储器清理的方法中设置不同步长后清理的流程图;在执行完如图1后的流程,继续执行如图2的流程。
132.在步骤s109中,判断用户是否输入多路复用器地址、选择多路复用器的通道,如果是,则执行步骤s110,否则执行步骤s111;
133.在步骤s110中,根据输入的参数,调用ipmi工具选择多路复用器的通道;
134.在步骤s111中,根据输入的参数,调用ipmi工具从起始位置开始一次性读写步长个数据;
135.在步骤s112中,判断是否对成功;如果读写成功,则执行步骤s113,否则返回步骤s111;
136.在步骤s113中,重新为起始位置赋值;
137.在步骤s114中,读写起始位置是否大于存储器大小;如果是,则执行步骤s115,否则,返回步骤s111;
138.在步骤s115中,表示读写成功。其中往寄存器中写0xff表示对该寄存器清空,将存储器中的所有寄存器都写0xff表示清空存储器。
139.本发明实施例4提出的一种存储介质,只需要获取设备所连接的i2c总线,设备地址、设备存储器容量、寄存器模式,多路复用器的地址以及通道,便可以清空连接在i2c总线上的设备存储器,无论是直连在i2c总线上的设备还是通过多路复用器间接连接在多路复用器上的设备,无论其寄存器是单字节的还是双字节的皆可以清空。
140.本发明实施例4提出的一种存储介质,解决了传统的i2c工具一次只能读写一个寄存器以及只能读写单字节表示的寄存器的问题,同时避免了ipmi工具单次读写失败,以及需要大量重复读写,增加工作量的弊端。本发明可以简单、高效、准确地实现了挂接在i2c总线上设备存储器的清空。
141.本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器,上述计算机程序可由处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
142.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读
取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
143.本技术实施例提供的一种设备存储器清理的处理设备和存储介质中相关部分的说明可以参见本技术实施例1提供的一种设备存储器清理的方法中对应部分的详细说明,在此不再赘述。
144.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本技术实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
145.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

技术特征:


1.一种设备存储器清理的方法,其特征在于,包括以下步骤:获取设备的第一信息;所述第一信息包括设备所连接的i2c总线,设备地址和设备存储器容量;在获取设备的第一信息之后,判断所述设备存储器对应的寄存器模式,根据寄存器模式设置不同的步长,然后初始化读写起始位置;获取设备多路复用器地址和选择多路复用器的通道,从起始位置沿着多路复用器的通道读写步长个数据;重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。2.根据权利要求1所述的一种设备存储器清理的方法,其特征在于,所述根据寄存器模式设置不同的步长的过程包括:当寄存器的模式为byte时,设置第一步长;当寄存器的模式为word时,设置第二步长。3.根据权利要求2所述的一种设备存储器清理的方法,其特征在于,所述第一步长设置为0x10;如果第二步长设置为0x80。4.根据权利要求1所述的一种设备存储器清理的方法,其特征在于,所述选择多路复用器的通道的过程包括:调用ipmi工具选择多路复用器的通道。5.根据权利要求1所述的一种设备存储器清理的方法,其特征在于,所述从起始位置读写步长个数据的过程包括调用ipmi工具从起始位置开始一次性读写步长个数据。6.根据权利要求1所述的一种设备存储器清理的方法,其特征在于,所述清空存储器对应的寄存器的过程包括往寄存器中写入0xff实现对存储器对应的寄存器清空。7.一种设备存储器清理的系统,其特征在于,包括获取模块、判断模块、选择模块和清空模块;所述获取模块用于获取设备的第一信息;所述第一信息包括设备所连接的i2c总线,设备地址和设备存储器容量;所述判断模块用于在获取设备的第一信息之后,判断所述设备存储器对应的寄存器模式,根据寄存器模式设置不同的步长,然后初始化读写起始位置;所述选择模块用于获取设备多路复用器地址和选择多路复用器的通道,从起始位置沿着多路复用器的通道读写步长个数据;所述清空模块用于重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。8.根据权利要求7所述的一种设备存储器清理的系统,其特征在于,所述清空模块执行的过程包括:往寄存器中写入0xff实现对存储器对应的寄存器清空。9.一种设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至6任意一项所述的方法步骤。10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的方法步骤。

技术总结


本发明提出了一种设备存储器清理的方法、系统、设备和存储介质,该方法包括获取设备的第一信息;第一信息包括设备所连接的总线,设备地址和设备存储器容量;获取第一信息后,判断设备存储器对应的寄存器模式,根据寄存器模式设置步长,然后初始化读写起始位置;获取设备多路复用器地址和通道,从起始位置沿着多路复用器的通道读写步长个数据;重新为起始位置赋值;如果赋值后起始位置大于设备存储器容量,清空存储器对应的寄存器。基于该方法,还提出了一种设备存储器清理的系统、设备和存储介质。本发明获取设备所连接的总线,设备地址、设备存储器容量、寄存器模式,多路复用器的地址以及通道,便可以清空连接在I2C总线上的设备存储器。存储器。存储器。


技术研发人员:

张霄鹏

受保护的技术使用者:

苏州浪潮智能科技有限公司

技术研发日:

2022.08.19

技术公布日:

2022/11/22

本文发布于:2024-09-20 12:10:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/8302.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:存储器   步长   设备   寄存器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议