本发明涉及虚拟串口,尤其是指一种基于smbus的带外串口实现方法、装置及计算机设备。
背景技术:
1、现有技术一般是给ssd盘接物理串口用于调试,对于新到手的ssd盘需要重新拆盘、焊接物理串口,流程繁杂且需要额外的转串口设备。
2、现有技术中也有其他虚拟串口方案。对于ssd领域,目前所知的市面厂商都是通过pcie的bar空间映射,实现主机与盘的虚拟串口功能。此方案有个缺陷,需要ssd与host建立链路连接才能使用,也即走的是带内,一但链路异常则无法再使用。
技术实现思路
1、本发明所要解决的技术问题是:提供一种基于smbus的带外串口实现方法、装置及计算机设备,旨在解决带内串口方案的链路连接丢失就无法使用的问题。
2、为了解决上述技术问题,本发明采用的技术方案为:一种基于smbus的带外串口实现方法,包括步骤:
3、在ssd上电初始化时,注册带外串口的数据接收和数据发送函数;
4、通过带外串口接收主机向ssd发送命令行信息;
5、对接收到的命令行信息转发给ssd内部的smbus软件模块进行解析;
6、根据解析的命令行信息查找符号表,若匹配到全局变量,则根据附带参数修改全局变量;
7、将ssd上的执行结果发送到串口界面。
8、进一步的,所述通过带外串口接收主机向ssd发送命令行信息包括,
9、利用带外串口接收主机通过shell工具发送过来的经串口界面输入字符串,生成命令行信息。
10、进一步的,所述经串口界面输入字符串由smbus总线进行数据封装和传输。
11、进一步的,所述shell工具为i2c-test。
12、进一步的,所述根据解析的命令行信息查找符号表中,若匹配到接口函数,则调用接口函数执行对应接口功能。
13、进一步的,若在符号表中未匹配到任何信息,则记录失败日志。
14、进一步的,在将ssd上的执行结果发送到串口界面的同时,将ssd上的增量日志发送到主机上并打印到串口界面。
15、本发明还提供了一种基于smbus的带外串口实现装置,包括:
16、初始化模块,用于在ssd上电初始化时,注册带外串口的数据接收和数据发送函数;
17、命令行信息发送模块,用于通过带外串口接收主机向ssd发送命令行信息;
18、命令行信息解析模块,用于对接收到的命令行信息转发给ssd内部的smbus软件模块进行解析;
19、全局变量修改模块,用于根据解析的命令行信息查找符号表,若匹配到全局变量,则根据附带参数修改全局变量;
20、执行结果发送模块,用于将ssd上的执行结果发送到串口界面。
21、本发明还提供一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于smbus的带外串口实现方法。
22、本发明还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如上所述的基于smbus的带外串口实现方法。
23、本发明的有益效果在于:通过在ssd上电初始化时,注册带外串口的数据接收和数据发送函数;通过带外串口接收主机向ssd发送命令行信息;对接收到的命令行信息转发给ssd内部的smbus软件模块进行解析;根据解析的命令行信息查找符号表,若匹配到全局变量,则根据附带参数修改全局变量;将ssd上的执行结果发送到串口界面,从而实现ssd基于smbus的虚拟串口,而采用smbus软件模块,可以解决带内串口方案的链路连接丢失就无法使用的问题。
1.一种基于smbus的带外串口实现方法,其特征在于,包括步骤:
2.如权利要求1所述的基于smbus的带外串口实现方法,其特征在于:所述通过带外串口接收主机向ssd发送命令行信息包括,
3.如权利要求2所述的基于smbus的带外串口实现方法,其特征在于:所述经串口界面输入字符串由smbus总线进行数据封装和传输。
4.如权利要求2所述的基于smbus的带外串口实现方法,其特征在于:所述shell工具为i2c-test。
5.如权利要求1所述的基于smbus的带外串口实现方法,其特征在于:所述根据解析的命令行信息查找符号表中,若匹配到接口函数,则调用接口函数执行对应接口功能。
6.如权利要求5所述的基于smbus的带外串口实现方法,其特征在于:若在符号表中未匹配到任何信息,则记录失败日志。
7.如权利要求1所述的基于smbus的带外串口实现方法,其特征在于:在将ssd上的执行结果发送到串口界面的同时,将ssd上的增量日志发送到主机上并打印到串口界面。
8.一种基于smbus的带外串口实现装置,其特征在于,包括:
9.一种计算机设备,其特征在于:所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于smbus的带外串口实现方法。
10.一种存储介质,其特征在于:所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至7中任一项所述的基于smbus的带外串口实现方法。