CN114416444A - 一种PCIe板卡固件调试的方法、系统、设备和存储介质 - Google Patents
一种PCIe板卡固件调试的方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN114416444A CN114416444A CN202111605651.XA CN202111605651A CN114416444A CN 114416444 A CN114416444 A CN 114416444A CN 202111605651 A CN202111605651 A CN 202111605651A CN 114416444 A CN114416444 A CN 114416444A
- Authority
- CN
- China
- Prior art keywords
- command
- host
- file
- pcie
- random access
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2268—Logging of test results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种PCIe板卡固件调试的方法、系统、设备和存储介质,方法包括:在主机侧设置PCIe调试服务,并在PCIe板卡侧设置PCIe调试程序;基于所述PCIe调试服务按照预设格式组织第一命令包,并将所述第一命令包提交到主机双倍速率同步动态随机存储器内;响应于板卡双倍速率同步动态随机存储器接收到中断信号,从所述主机双倍速率同步动态随机存储器获取命令并执行,将执行结果按照命令格式组织第二命令包,并将所述第二命令包返回所述主机双倍速率同步动态随机存储器;以及响应于接收到完成中断的信号,从所述主机双倍速率同步动态随机存储器读取所述第二命令包,并将执行结果进行展示。本发明不需要外接其他接口,可以带内完成PCIe板卡固件的调试。
Description
技术领域
本发明涉及板卡调试领域,更具体地,特别是指一种PCIe板卡固件调试的方法、系统、设备和存储介质。
背景技术
随着各类加速技术的发展,越来越多的复杂计算任务(例如,数据存储,图像处理与显示等)从CPU剥离出来,由专门的计算加速卡来承担,使得计算加速卡的板卡固件逻辑越来越复杂,对固件的调试要求也越来越高。而大多数计算加速卡都是通过PCIe(Peripheral Component Interface Express,总线和接口标准)接口与主机连接的,原生没有现成的固件调试手段。当前板卡固件调试依旧依靠传统的手段,例如将串口,JTAG(Joint Test Action Group,联合测试行动组)等接口外接,进行调试。而当板卡成型之后,外接这些调试接口并不方便,且对板卡固件二次开发不友好。固件调试中,常见的需求有Shell(壳)访问,日志抓取和文件系统访问(下载和上传文件)。因此,既能够满足以上调试需求,又不需要使用PCIe以外的线缆的调试手段,成为PCIe板卡固件调试的迫切需求。
发明内容
有鉴于此,本发明实施例的目的在于提出一种PCIe板卡固件调试的方法、系统、计算机设备及计算机可读存储介质,本发明不需要外接其他接口,可以通过PCIe协议带内完成shell访问、log(日志)抓取和文件传输需求;本发明实施例可以集成到任意符合条件的PCIe设备中,主机软件也可以适配到各个操作系统,大大减少了为了固件调试而做的大量额外工作,从而提高了固件调试的效率。
基于上述目的,本发明实施例的一方面提供了一种PCIe板卡固件调试的方法,包括如下步骤:在主机侧设置PCIe调试服务,并在PCIe板卡侧设置PCIe调试程序;基于所述PCIe调试服务按照预设格式组织第一命令包,并将所述第一命令包提交到主机双倍速率同步动态随机存储器内;响应于板卡双倍速率同步动态随机存储器接收到中断信号,从所述主机双倍速率同步动态随机存储器获取命令并执行,将执行结果按照命令格式组织第二命令包,并将所述第二命令包返回所述主机双倍速率同步动态随机存储器;以及响应于接收到完成中断的信号,从所述主机双倍速率同步动态随机存储器读取所述第二命令包,并将执行结果进行展示。
在一些实施方式中,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:响应于命令为抓取日志,将板卡固件产生的日志搬运到主机申请的日志页面中。
在一些实施方式中,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:响应于命令为文件上拉,按照命令中的文件路径打开文件,读取文件到主机申请的页面中,并判断当前读取是否到达文件末尾;以及响应于当前读取到达文件末尾,关闭所述文件。
在一些实施方式中,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:响应于命令为文件下传,按照命令中的文件路径打开或创建文件,将命令中对应的数据搬运到板卡内存中,并按照偏移位写入到所述文件中。
本发明实施例的另一方面,提供了一种PCIe板卡固件调试的系统,包括:设置模块,配置用于在主机侧设置PCIe调试服务,并在PCIe板卡侧设置PCIe调试程序;主机模块,配置用于基于所述PCIe调试服务按照预设格式组织第一命令包,并将所述第一命令包提交到主机双倍速率同步动态随机存储器内;板卡模块,配置用于响应于板卡双倍速率同步动态随机存储器接收到中断信号,从所述主机双倍速率同步动态随机存储器获取命令并执行,将执行结果按照命令格式组织第二命令包,并将所述第二命令包返回所述主机双倍速率同步动态随机存储器;以及展示模块,配置用于响应于接收到完成中断的信号,从所述主机双倍速率同步动态随机存储器读取所述第二命令包,并将执行结果进行展示。
在一些实施方式中,所述板卡模块配置用于:响应于命令为抓取日志,将板卡固件产生的日志搬运到主机申请的日志页面中。
在一些实施方式中,所述板卡模块配置用于:响应于命令为文件上拉,按照命令中的文件路径打开文件,读取文件到主机申请的页面中,并判断当前读取是否到达文件末尾;以及响应于当前读取到达文件末尾,关闭所述文件。
在一些实施方式中,所述板卡模块配置用于:响应于命令为文件下传,按照命令中的文件路径打开或创建文件,将命令中对应的数据搬运到板卡内存中,并按照偏移位写入到所述文件中。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:本发明不需要外接其他接口,可以通过PCIe协议带内完成shell访问、log抓取和文件传输需求;本发明实施例可以集成到任意符合条件的PCIe设备中,主机软件也可以适配到各个操作系统,大大减少了为了固件调试而做的大量额外工作,从而提高了固件调试的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的PCIe板卡固件调试的方法的实施例的示意图;
图2为本发明提供的PCIe板卡固件调试的系统的架构图;
图3为本发明实施例的初始化流程图;
图4为本发明实施例的Shell命令执行流程图;
图5为本发明实施例的Shell命令格式示意图;
图6为本发明实施例的Log抓取流程图;
图7为本发明实施例的Log抓取命令格式示意图;
图8为本发明实施例的获取文件大小命令格式示意图;
图9为本发明实施例的文件上拉命令格式示意图;
图10为本发明实施例的文件上拉流程图;
图11为本发明实施例的文件下传流程图;
图12为本发明实施例的文件下传命令格式示意图;
图13为本发明提供的PCIe板卡固件调试的系统的实施例的示意图;
图14为本发明提供的PCIe板卡固件调试的计算机设备的实施例的硬件结构示意图;
图15为本发明提供的PCIe板卡固件调试的计算机存储介质的实施例的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明实施例的第一个方面,提出了一种PCIe板卡固件调试的方法的实施例。图1示出的是本发明提供的PCIe板卡固件调试的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S1、在主机侧设置PCIe调试服务,并在PCIe板卡侧设置PCIe调试程序;
S2、基于所述PCIe调试服务按照预设格式组织第一命令包,并将所述第一命令包提交到主机双倍速率同步动态随机存储器内;
S3、响应于板卡双倍速率同步动态随机存储器接收到中断信号,从所述主机双倍速率同步动态随机存储器获取命令并执行,将执行结果按照命令格式组织第二命令包,并将所述第二命令包返回所述主机双倍速率同步动态随机存储器;以及
S4、响应于接收到完成中断的信号,从所述主机双倍速率同步动态随机存储器读取所述第二命令包,并将执行结果进行展示。
在主机侧设置PCIe调试服务,并在PCIe板卡侧设置PCIe调试程序。图2示出的是本发明提供的PCIe板卡固件调试的系统的架构图,结合图2对本发明实施例进行说明。系统架构主要包括三个部分:PCIe Debug Service(PCIe调试服务)、PCIe板卡硬件和PCIe DebugDaemon(PCIe调试程序)。PCIe调试服务运行于主机,直接为用户提供上述服务,将用户的指令翻译成特定命令格式,通过PCIe传递给板卡;PCIe板卡硬件:除了提供基本的PCIe功能(例如,DMA,向主机发送中断等),需要提供一个独立的BAR空间,并在BAR被更新时,提醒板卡固件;PCIe调试程序运行于板卡固件,负责响应主机发来的请求,实现相应的功能。
具体的,主机侧包括PCIe调试服务和主机DDR(Double Data Rate,双倍速率同步动态随机存储器)。PCIe调试服务运行于主机,负责对上提供调试服务接口,对下封装调试协议,与板卡通信,完成各项调试功能。主机DDR包括Command RingBuffer(命令环形缓存)、Command Return RingBuffer(命令返回环形缓存)和File/Log Pages(文件/日志页面)。Command RingBuffer用于主机(PCIe Debug Service)下发命令,主机将命令信息放在ringbuffer中,并写位于板卡BAR上的command trigger register以通知板卡从主机搬命令。Command Return RingBuffer用于板卡将返回信息通知主机,流程是:板卡通过PCIe协议,将命令返回信息搬移到ringbuffer中,并通过PCIe中断通知主机命令返回的到来。无论是Command RingBuffer还是Command Return RingBuffer,都只携带了简短的关键信息,大批量数据,例如文件和日志,板卡会通过PCIe直接搬移主机的内存页。
板卡侧包括PCIe调试程序和板卡DDR。PCIe调试程序运行于板卡,负责处理主机通过协议发来的shell命令执行,log抓取和文件传输等调试请求。板卡DDR包括PCIe BAR、LogBuffer(日志缓存)和File Buffer(文件缓存)。PCIe BAR中包括Device info(设备信息)和BAR Register(块寄存器)。Device info主要用于标识PCIe板卡是否支持本发明提供的调试协议,并用于找到支持调试协议的BAR。BAR Register包括主机Ringbuffer地址、长度配置,以及对主机提供Command Trigger Register。Log Buffer用于暂存Log信息。FileBuffer用于暂存调试所需读写的文件。
在进行正式调试之前可以先进行初始化。图3为本发明实施例的初始化流程图,如图3所示,初始化主要包括:运行于主机侧的PCIe Debug Service通过主机操作系统提供的命令或函数,获取到PCIe设备列表;遍历PCIe设备列表,对每一个遍历到的PCIe设备,扫描设备的每一个BAR(读取是否支持调试协议);当发现可支持调试协议的设备时,在主机内存中初始化Command RingBuffer和Command Return RingBuffer,并配置两个RingBuffer的首地址和长度信息到板卡的BAR寄存器;板卡PCIe模块产生中断给板卡固件,固件中做好记录。
基于所述PCIe调试服务按照预设格式组织第一命令包,并将所述第一命令包提交到主机双倍速率同步动态随机存储器内。
响应于板卡双倍速率同步动态随机存储器接收到中断信号,从所述主机双倍速率同步动态随机存储器获取命令并执行,将执行结果按照命令格式组织第二命令包,并将所述第二命令包返回所述主机双倍速率同步动态随机存储器。
图4为本发明实施例的Shell命令执行流程图;图5为本发明实施例的Shell命令格式示意图。Shell命令执行的主要过程是,主机将命令按照图5所示的格式组成数据包,提交到Command RingBuffer中,并写位于板卡PCIe BAR上的Command Trigger寄存器。板卡收到BAR Change中断后,从主机Command RingBuffer中搬运shell命令,并在板卡固件中执行。执行结果反馈到Command Return RingBuffer中,并触发中断提醒主机命令执行完成。
在一些实施方式中,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:响应于命令为抓取日志,将板卡固件产生的日志搬运到主机申请的日志页面中。
图6为本发明实施例的Log抓取流程图;图7为本发明实施例的Log抓取命令格式示意图。Log抓取的主要流程是,主机申请好内存页,按照图7所示的格式组成数据包,提交到Command RingBuffer中,并写位于板卡PCIe BAR上的Command Trigger寄存器。值得注意的是,主机可以下发多个获取Log命令;并且在获取到Log以后再次下发命令,达到不断获取Log的效果。
在一些实施方式中,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:响应于命令为文件上拉,按照命令中的文件路径打开文件,读取文件到主机申请的页面中,并判断当前读取是否到达文件末尾;以及响应于当前读取到达文件末尾,关闭所述文件。
图8为本发明实施例的获取文件大小命令格式示意图;图9为本发明实施例的文件上拉命令格式示意图;图10为本发明实施例的文件上拉流程图。文件上拉主要步骤是,主机先通过图8所示的命令格式,获取待拉去文件的大小,并根据文件大小申请内存Page;然后按照图9所示的命令格式组织命令,提交到Command RingBuffer中,并写位于板卡PCIe BAR上的Command Trigger寄存器。
在一些实施方式中,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:响应于命令为文件下传,按照命令中的文件路径打开或创建文件,将命令中对应的数据搬运到板卡内存中,并按照偏移位写入到所述文件中。
图11为本发明实施例的文件下传流程图;图12为本发明实施例的文件下传命令格式示意图。文件下传的主要步骤是,主机软件根据待下传文件大小,申请内存Page;并将文件读入Page中;然后按照图12所示的命令格式组织命令,提交到Command RingBuffer中,并写位于板卡PCIe BAR上的Command Trigger寄存器。
响应于接收到完成中断的信号,从所述主机双倍速率同步动态随机存储器读取所述第二命令包,并将执行结果进行展示。
本发明提出了一种通用的PCIe板卡固件调试方式,有效满足了板卡固件开发过程中,shell访问、log抓取和文件传输需求。本发明不需要外接其他接口,可以通过PCIe协议带内完成上述功能;本发明可以集成到任意符合条件的PCIe设备中,主机软件也可以适配到各个操作系统。大大减少了为了固件调试而做的大量额外工作,从而提高了固件调试的效率。
需要特别指出的是,上述PCIe板卡固件调试的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于PCIe板卡固件调试的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种PCIe板卡固件调试的系统。如图13所示,系统200包括如下模块:设置模块,配置用于在主机侧设置PCIe调试服务,并在PCIe板卡侧设置PCIe调试程序;主机模块,配置用于基于所述PCIe调试服务按照预设格式组织第一命令包,并将所述第一命令包提交到主机双倍速率同步动态随机存储器内;板卡模块,配置用于响应于板卡双倍速率同步动态随机存储器接收到中断信号,从所述主机双倍速率同步动态随机存储器获取命令并执行,将执行结果按照命令格式组织第二命令包,并将所述第二命令包返回所述主机双倍速率同步动态随机存储器;以及展示模块,配置用于响应于接收到完成中断的信号,从所述主机双倍速率同步动态随机存储器读取所述第二命令包,并将执行结果进行展示。
在一些实施方式中,所述板卡模块配置用于:响应于命令为抓取日志,将板卡固件产生的日志搬运到主机申请的日志页面中。
在一些实施方式中,所述板卡模块配置用于:响应于命令为文件上拉,按照命令中的文件路径打开文件,读取文件到主机申请的页面中,并判断当前读取是否到达文件末尾;以及响应于当前读取到达文件末尾,关闭所述文件。
在一些实施方式中,所述板卡模块配置用于:响应于命令为文件下传,按照命令中的文件路径打开或创建文件,将命令中对应的数据搬运到板卡内存中,并按照偏移位写入到所述文件中。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、在主机侧设置PCIe调试服务,并在PCIe板卡侧设置PCIe调试程序;S2、基于所述PCIe调试服务按照预设格式组织第一命令包,并将所述第一命令包提交到主机双倍速率同步动态随机存储器内;S3、响应于板卡双倍速率同步动态随机存储器接收到中断信号,从所述主机双倍速率同步动态随机存储器获取命令并执行,将执行结果按照命令格式组织第二命令包,并将所述第二命令包返回所述主机双倍速率同步动态随机存储器;以及S4、响应于接收到完成中断的信号,从所述主机双倍速率同步动态随机存储器读取所述第二命令包,并将执行结果进行展示。
在一些实施方式中,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:响应于命令为抓取日志,将板卡固件产生的日志搬运到主机申请的日志页面中。
在一些实施方式中,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:响应于命令为文件上拉,按照命令中的文件路径打开文件,读取文件到主机申请的页面中,并判断当前读取是否到达文件末尾;以及响应于当前读取到达文件末尾,关闭所述文件。
在一些实施方式中,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:响应于命令为文件下传,按照命令中的文件路径打开或创建文件,将命令中对应的数据搬运到板卡内存中,并按照偏移位写入到所述文件中。
如图14所示,为本发明提供的上述PCIe板卡固件调试的计算机设备的一个实施例的硬件结构示意图。
以如图14所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。
处理器301和存储器302可以通过总线或者其他方式连接,图14中以通过总线连接为例。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的PCIe板卡固件调试的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现PCIe板卡固件调试的方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据PCIe板卡固件调试的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个PCIe板卡固件调试的方法对应的计算机指令303存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的PCIe板卡固件调试的方法。
执行上述PCIe板卡固件调试的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行PCIe板卡固件调试的方法的计算机程序。
如图15所示,为本发明提供的上述PCIe板卡固件调试的计算机存储介质的一个实施例的示意图。以如图15所示的计算机存储介质为例,计算机可读存储介质401存储有被处理器执行时执行如上方法的计算机程序402。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,PCIe板卡固件调试的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种PCIe板卡固件调试的方法,其特征在于,包括如下步骤:
在主机侧设置PCIe调试服务,并在PCIe板卡侧设置PCIe调试程序;
基于所述PCIe调试服务按照预设格式组织第一命令包,并将所述第一命令包提交到主机双倍速率同步动态随机存储器内;
响应于板卡双倍速率同步动态随机存储器接收到中断信号,从所述主机双倍速率同步动态随机存储器获取命令并执行,将执行结果按照命令格式组织第二命令包,并将所述第二命令包返回所述主机双倍速率同步动态随机存储器;以及
响应于接收到完成中断的信号,从所述主机双倍速率同步动态随机存储器读取所述第二命令包,并将执行结果进行展示。
2.根据权利要求1所述的方法,其特征在于,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:
响应于命令为抓取日志,将板卡固件产生的日志搬运到主机申请的日志页面中。
3.根据权利要求1所述的方法,其特征在于,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:
响应于命令为文件上拉,按照命令中的文件路径打开文件,读取文件到主机申请的页面中,并判断当前读取是否到达文件末尾;以及
响应于当前读取到达文件末尾,关闭所述文件。
4.根据权利要求1所述的方法,其特征在于,所述从所述主机双倍速率同步动态随机存储器获取命令并执行包括:
响应于命令为文件下传,按照命令中的文件路径打开或创建文件,将命令中对应的数据搬运到板卡内存中,并按照偏移位写入到所述文件中。
5.一种PCIe板卡固件调试的系统,其特征在于,包括:
设置模块,配置用于在主机侧设置PCIe调试服务,并在PCIe板卡侧设置PCIe调试程序;
主机模块,配置用于基于所述PCIe调试服务按照预设格式组织第一命令包,并将所述第一命令包提交到主机双倍速率同步动态随机存储器内;
板卡模块,配置用于响应于板卡双倍速率同步动态随机存储器接收到中断信号,从所述主机双倍速率同步动态随机存储器获取命令并执行,将执行结果按照命令格式组织第二命令包,并将所述第二命令包返回所述主机双倍速率同步动态随机存储器;以及
展示模块,配置用于响应于接收到完成中断的信号,从所述主机双倍速率同步动态随机存储器读取所述第二命令包,并将执行结果进行展示。
6.根据权利要求5所述的系统,其特征在于,所述板卡模块配置用于:
响应于命令为抓取日志,将板卡固件产生的日志搬运到主机申请的日志页面中。
7.根据权利要求5所述的系统,其特征在于,所述板卡模块配置用于:
响应于命令为文件上拉,按照命令中的文件路径打开文件,读取文件到主机申请的页面中,并判断当前读取是否到达文件末尾;以及
响应于当前读取到达文件末尾,关闭所述文件。
8.根据权利要求5所述的系统,其特征在于,所述板卡模块配置用于:
响应于命令为文件下传,按照命令中的文件路径打开或创建文件,将命令中对应的数据搬运到板卡内存中,并按照偏移位写入到所述文件中。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-4任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111605651.XA CN114416444A (zh) | 2021-12-25 | 2021-12-25 | 一种PCIe板卡固件调试的方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111605651.XA CN114416444A (zh) | 2021-12-25 | 2021-12-25 | 一种PCIe板卡固件调试的方法、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416444A true CN114416444A (zh) | 2022-04-29 |
Family
ID=81270152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111605651.XA Pending CN114416444A (zh) | 2021-12-25 | 2021-12-25 | 一种PCIe板卡固件调试的方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416444A (zh) |
-
2021
- 2021-12-25 CN CN202111605651.XA patent/CN114416444A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3601955B2 (ja) | データ転送方法およびそれに適した計算機システム | |
CN109726163B (zh) | 一种基于spi的通信系统、方法、设备和储存介质 | |
TWI239187B (en) | System and method for managing and validating remote keys which correspond to outstanding data transactions | |
CN114020655A (zh) | 一种内存扩展方法、装置、设备及存储介质 | |
CN114625481B (zh) | 数据处理方法、装置、可读介质及电子设备 | |
US11853767B2 (en) | Inter-core data processing method, system on chip and electronic device | |
WO2022032990A1 (zh) | 一种命令信息传输方法、系统、装置及可读存储介质 | |
CN106547636B (zh) | 除错系统与方法 | |
WO2022213865A1 (zh) | 计算机设备、虚拟化加速设备、数据传输方法及存储介质 | |
CN112947857B (zh) | 一种数据搬移方法、装置、设备及计算机可读存储介质 | |
CN103218313A (zh) | 用于实现缓存描述符交互的方法和电子设备 | |
CN112749113A (zh) | 一种数据交互的方法、系统、设备及介质 | |
KR102454695B1 (ko) | 캐시 장치, 캐시, 시스템, 데이터 처리 방법, 장치 및 매체 | |
CN114416444A (zh) | 一种PCIe板卡固件调试的方法、系统、设备和存储介质 | |
CN111078618A (zh) | 电子设备以及双处理器的通信方法 | |
CN106610878B (zh) | 双控制器系统的故障调试方法 | |
CN115495406A (zh) | 一种基于PCIe的报文传输方法、装置、设备及存储介质 | |
CN113220608A (zh) | 一种NVMe命令处理器及其处理方法 | |
CN106598755B (zh) | 一种处理器及dcc通信系统 | |
JP6222079B2 (ja) | 計算機システム、その処理方法、及びプログラム | |
CN117234972B (zh) | 一种主机数据读取方法及系统 | |
CN118363901B (zh) | PCIe设备、电子组件及电子设备 | |
CN115098402B (zh) | 调试方法以及调试装置 | |
JP4716929B2 (ja) | プログラムデバッグ支援処理装置及び通信用アダプタ並びにプログラムデバッグ支援処理プログラム | |
CN116226024A (zh) | 一种日志数据处理方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |