掌桥专利:专业的专利平台
掌桥专利
首页

一种通用Debug卡的系统和调试方法

文献发布时间:2023-06-19 12:27:31


一种通用Debug卡的系统和调试方法

技术领域

本申请涉及嵌入式开发调试的领域,尤其是涉及一种通用Debug卡的系统和调试方法。

背景技术

在嵌入式开发调试中,经常使用主板故障诊断卡(Debug Card),Debug Card用于显示固件代码在运行中抛出的Debug码,以便工程师分析定位问题;主板故障诊断卡是利用主板中BIOS内部自检程序的检测结果,通过代码一一显示出来,结合代码含义速查表就能很快地知道电脑故障所在。

目前,Debug Card一般都是采用LPC或I2C接口,因此要求待诊断的终端必须支持LPC接口或者I2C接口,在使用Debug Card之前需对LPC或I2C控制器进行初始化,然后对待诊断的终端进行一系列的状态和命令判断操作才能进行正常的Debug 码输出。

针对上述中的相关技术,发明人认为在多平台的开发中,需要根据不同的平台分别准备LPC或者I2C接口的Debug Card,且在输出时,需要对LPC或I2C的控制器进行初始化才能够使用其进行输出,具有难以调试且成本高昂的缺陷。

发明内容

为了降低调试成本,本申请提供一种通用Debug卡的系统和调试方法。

本申请提供的一种通用Debug卡的系统采用如下的技术方案:

第一方面,一种通用Debug卡的系统,包括调试函数模块、可编程逻辑器、连接模块和显示模块,其中,

所述调试函数模块供待调试终端调用,所述调试函数模块用于将待调试终端抛出的Debug码转换为下降沿信号输出;

所述可编程逻辑器的第一信号输入端通过连接模块与待调试终端的信号输出端连接,用于接收下降沿信号且将下降沿信号转换为Debug码的编号,并存储和输出Debug码的编号;

所述连接模块包括通用GPIO线,所述待调试终端的信号输出端和可编程逻辑器的第一信号输入端均具有通用I/O口,所述通用GPIO线的一端与待调试终端的通用I/O口连接,所述通用GPIO线的另一端与可编程逻辑器的通用I/O口连接;

所述显示模块的信号输入端与可编程逻辑器件模块的信号输出端连接,用于显示可编程逻辑器输出的Debug码的编号。

通过采用上述技术方案,待调试终端调用了调试函数模块后,能够将Debug码转换为下降沿信号输出,下降沿信号携带着Debug码的编号,传输到可编程逻辑器后,可编程逻辑器能够对下降沿信号进行处理,获取到Debug码的编号,以完成传输;Debug码的编号传输完毕后,再通过可编程逻辑器输出到显示模块显示;在调试过程中,仅需使用一条GPIO线就能够完成待调试终端与可编程逻辑器之间的连接,且GPIO线造价LPC和I2C较低,具有更广的适用性和通用性,具有便于调试且能够降低调试成本的效果。

可选的,所述调试函数模块在开发中写入到待调试终端的存储器中以供待调试终端调用。

通过采用上述技术方案,在开发中,可直接操作通用I/O口,使其作为待调试终端的输出端输出输出信号,故即使是在早期的开发调试中,也能够使用I/O来传输Debug码的编号,以实现在早期开发中使用Debug 卡。

可选的,还包括按键模块,所述按键模块响应于使用者的按压动作以输出按键信号,所述可编程逻辑器的第二信号输入端与按键模块的信号输出端连接,所述可编程逻辑器响应于按键信号以输出存储的Debug码的编号。

通过采用上述技术方案,开发人员能够通过按键模块,输入按键信号到可编程逻辑器中,调用可编程逻辑器中存储的Debug码的编号进行展示,从而观察调试过程。

可选的,所述显示模块包括多个八段数码管。

通过采用上述技术方案,使用八段数码管显示具有造价便宜,连接方便且使用简单的优点。

第二方面,一种通用Debug卡的调试方法,包括,

将待调试终端运行中抛出的Debug码转换为下降沿信号并输出;

接收所述待调试终端输出的下降沿信号,并将所述下降沿信号转换为Debug码的编号;

显示所述Debug码的编号。

通过采用上述技术方案,待调试终端在运行中,若是出现问题,会抛出Debug码,首先将待调试终端抛出的Debug码转换为下降沿信号输出,然后将下降沿信号转换为Debug码的编号,并显示出来,以供开发人员分析判断;因为待调试终端输出的下降沿信号是高低电平,所以在早期开发中,不需要初始化输出端口,直接操作I/O口的寄存器,就能够直接输出,且高低电平能够通过待调试终端上的现有输出接口输出,不需采用特定的输出接口,具有便于调试的效果。

可选的,所述将Debug码转换为下降沿信号具体包括,

调试待调试终端的输出端,使待调试终端的输出端输出高低电平;

获取所述待调试终端运行中抛出的Debug码,基于所述Debug码并获取其编号,所述Debug码的编号为一个数值;

将所述Debug码的编号转换为下降沿信号输出;

其中,输出的下降沿信号的个数与Debug码的编号相对应,以获取所述Debug码的编号。

通过采用上述技术方案,Debug码是预设在待调试终端内的固件代码抛出的,Debug码的每个编号均对应了不同的意义,在调试中只需要在待调试终端与Debug卡之间传输Debug码的编号即可;使用下降沿信号进行传输,且下降沿信号的个数能够对应Debug码的编号;且在传输中,不需要进行太复杂的操作,就能够实现Debug码的编号的传输。

可选的,所述将下降沿信号转换为Debug码的编号具体包括,

接收到第一个下降沿信号时,即启动计时,并计算在预定时间内收到的下降沿信号的个数,则所述下降沿信号的个数的数值即为Debug码的编号。

通过采用上述技术方案,在预定时间内,收到第一个下降沿后,即进行计时,在计时时间结束后,可编程逻辑器统计接收到的下降沿的个数数值即可。

可选的,还包括,存储所述Debug码的编号;

获取使用者输入的指令,响应于所述指令输出存储的Debug码的编号。

通过采用上述技术方案,每一次获取到的Debug码的编号均存储在可编程逻辑器中,开发人员输入的指令能够调用存储的信息,以展示历史信息,以便于开发人员根据历史信息分析调试过程。

综上所述,本申请包括以下至少一种有益技术效果:

1.本申请通过设置GPIO线来连接待调试终端和可编程逻辑器,并设置能够将Debug码转换为下降沿信号输出的调试函数模块,下降沿信号携带着Debug码的编号,传输到可编程逻辑器后,可编程逻辑器能够对下降沿信号进行处理,获取到Debug码的编号,以完成传输;Debug码的编号传输完毕后,可编程逻辑器件输出,通过显示模块来显示,具有便于调试且降低调试成本的效果。

附图说明

图1是本申请实施例系统的结构示意图;

图2是本申请实施例调试方法的流程框图;

图3是本申请实施例调试方法的流程图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图1-3及实施例,对本申请进行进一步详细说明。

本申请实施例公开一种通用Debug卡的系统。参照图1,一种通用Debug Card的系统,包括调试函数模块、可编程逻辑器、连接模块、显示模块和按键模块。

其中,连接模块用于连接可编程逻辑器与待调试终端,将待调试终端在运行中抛出的Debug码传输到可编程逻辑器中;在本实施例中,待调试终端包括但不限于ARM、MCU、X86等,其至少包括硬件系统以及开发者写入的软件系统;在开发待调试终端时,经常需要使用Debug操作来排除待调试终端在运行中的出现的故障。

在开发中,若是需要排除故障,则使用连接模块将可编程逻辑器连接到待调试终端上,再调用调试函数模块,调试函数模块供待调试终端调用,用于将待调试终端的Debug码转换为下降沿信号输出,下降沿信号能够传递Debug码的编号。Debug码的编号传递到可编程逻辑器中后,可编程逻辑器再对其进行处理并输出,通过显示模块进行显示,以帮助开发人员定位问题所在,完成Debug的过程。

在一些开发过程中,待调试终端可能只有LPC接口和I2C接口中的一种或一种都没有,若要排除这种待调试终端中的故障,必须要同时准备LPC接口Debug Card和I2C接口的Debug Card,成本较大。为了降低调试成本,提高Debug Card的通用性,连接模块选用通用GPIO线,在进行调试时,即使待调试终端不具备LPC或I2C接口,也能够通过GPIO线来连接待调试终端与可编程逻辑器,以实现待调试终端与可编程逻辑器之间的数据传输,将待调试终端抛出的Debug码输出,从而完成Debug的过程,简化了Debug Card的硬件连接。

待调试终端和可编程逻辑器均具有基础的I/O口,在排除故障时,首先将通用GPIO线的一端与待调试终端的I/O口连接,再将通用GPIO线的另一端与可编程逻辑器的I/O口连接,并将待调试终端的I/O口置为输出模式,将可编程逻辑器的I/O口置为接收模式,就能够通过GPIO线来传输信息;而省略了LPC接口或I2C口在使用时需进行的初始化,排除故障更加方便,且具有较强的易用性,无需传输协议的支持,能够在多种开发平台使用。

对待调试终端进行开发时,将调试函数模块在前期开发中写入到待调试的终端的存储器中,在进行故障排除时,调用调试函数模块就能够使用;前期开发指只具有基本的软件编译环境,无操作系统的情况。调试函数模块用于将待调试终端运行产生故障时抛出的Debug码的编号转换为下降沿信号输出,下降沿信号中的下降沿个数对应了Debug码的编号,通过下降沿信号能够传输Debug码的编号。下降沿信号是一种离散信号,具有上升沿和下降沿,每一个下降沿到达可编程逻辑器之后,可编程逻辑器都能够对其进行计数,从而得到Debug码的编号,有多少个下降沿则Debug码的编号即为多少,两者的数值一一对应。

可编程逻辑器的第一信号输入端通过连接模块与待调试终端的信号输出端连接,用于接收下降沿信号,且能够响应于下降沿信号,对下降沿信号进行处理,得到Debug码的编号,再将Debug码的编号存储在自带的存储器中。

显示模块的信号输入端与可编程逻辑器件模块的信号输出端连接,显示模块由多个八段数码管组成,用于显示可编程逻辑器件模块输出的Debug码的编号。

还设置有按键模块,可编程逻辑器的第二信号输入端与按键模块的输出端连接,按键模块响应于使用者的按压动作以输出按键信号到可编程逻辑器,可编程逻辑器响应于按键信号并对其进行处理,输出存储的Debug码的编号;通过按键模块,开发人员能够在可编程逻辑器的存储器中调出历史Debug码的编号,便于对故障原因进行总结。

本申请实施例还公开一种通用Debug卡的调试方法。参照图2-图3,包括,

S101,将待调试终端运行中抛出的Debug码转换为下降沿信号并输出。

Debug码为待调试终端在运行过程中,待调试终端中内部自检程序的检测结果,若是待调试终端出现故障,就会抛出Debug码,通过获取Debug码,开发人员就能够分析待调试终端在运行中出现的故障点,以便于后续的排除故障和调试维护。

S1011,调试待调试终端的输出端,使待调试终端的输出端输出高低电平。

使用待调试终端的I/O口作为输出端,在排除故障时,需要对I/O口的寄存器进行调试,使得I/O处于输出模式,且输出的电平能够在高低电平之间进行跳变。

S1012,获取待调试终端运行中抛出的Debug码,基于Debug码并获取Debug码的编号。

Debug码是待调试终端内部自检程序所限定的,抛出的Debug码的编号为多少,则对应了不同的问题,开发人员能够通过Debug码的编号按图索骥来找到问题的所在。

S1013,将Debug码的编号转换为下降沿信号输出。

在输出时,待调试终端依据Debug码的编号,并输出下降沿个数与Debug码的编号相同的下降沿信号。具体为,使得I/O口输出的电平信号在高低电平信号之间跳变,跳变的次数与Debug码的编号相同,则输出的下降沿信号所包含的下降沿个数就与Debug码的编号一致。

S201,根据待调试终端发出的下降沿信号,将下降沿信号转换为Debug码的编号。

下降沿信号即包含了Debug码的编号,下降沿信号能够传输到可编程逻辑器中,可编程逻辑器对下降沿信号进行解码,得到Debug码的编号。

参照图2,解码过程如下,接收到第一个下降沿信号后,即启动计时,在本实施例中,将计时时间设置为5ms,并计算在这5ms内收到的下降沿个数的数值,并对在这5ms内收到的下降沿个数进行计数,计数完毕后,计数的数值即为Debug码的编号。

S301,显示Debug码的编号。

在可编程逻辑器中写入八段数码管的输出程序,该程序能够控制八段数码管,显示Debug码的编号。

S401,存储Debug码的编号。

将获取到的Debug码的编号存储到可编程逻辑器的存储器中。

S501,获取使用者输入的指令,响应于指令输出存储的Debug码的编号。

响应于使用者输入的指令,在可编程逻辑器的存储器中调取存储的Debug码的编号,并输出到八段数码管中进行显示,以实现历史信息的调用,便于开发人员在排除故障过程中分析问题。

以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

相关技术
  • 一种通用Debug卡的系统和调试方法
  • 一种通用型JTAG调试卡及其测试方法
技术分类

06120113300197