首页 / 专利库 / 软件 / 软件包 / 软件组件 / 微件 / 一种基于UART接口的处理器调试方法及系统

一种基于UART接口的处理器调试方法及系统

阅读:152发布:2020-05-11

专利汇可以提供一种基于UART接口的处理器调试方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 提供一种基于UART 接口 的处理器调试方法及系统,包括:步骤1、调试上位机使用基本的读写操作,通过UART接口发送 请求 命令到带有UART的微 控制器 芯片, 微控制器 芯片的UART接口模 块 通过内置的一个专用主机UART命令解析器实现对请求命令的解析;步骤2、AHB总线控制器将步骤1解析的请求命令转换成标准AHB总线读写请求,实现读取微控制器内部模块的状态,控制微控制器内部模块的运行。本发明无需底层驱动程序等系统 软件 的支持,就能够实现读取内部模块的状态,控制内部模块的运行等调试功能。,下面是一种基于UART接口的处理器调试方法及系统专利的具体信息内容。

1.一种基于UART接口的处理器调试方法,包括以下步骤:
步骤1、调试上位机使用基本的读写操作,通过UART接口输入ASCII字符,发送请求命令和数据到带有UART的微控制器芯片,微控制器芯片的UART接口模将用户输入的请求命令和数据保存在接收缓冲寄存器中;
步骤2、主机UART命令解析器发现接收缓冲寄存器中有数据后,产生APB接口访问,在UART接口状态机的控制下,按序从接收缓冲寄存器中依次读出请求和数据,将用户输出的ASCII码转换成十六进制数据,实现对请求命令和数据的解析;
步骤3、AHB总线控制器将步骤2解析的请求命令和数据转换成标准AHB总线读写请求和数据,实现读取微控制器芯片内部模块的状态,控制微控制器芯片内部模块的运行。
2.如权利要求1所述的一种基于UART接口的处理器调试方法,其特征是,所述步骤1中,对请求命令解析前,每个用户输入的ASCII字符都会被UART接口模块保存在接收数据缓冲寄存器中。
3.如权利要求1所述的一种基于UART接口的处理器调试方法,其特征是,所述步骤2中,对请求命令解析时,在UART接口状态机的控制下,按序从接收数据缓冲寄存器中依次读出请求和数据,将ASCII字符转换成十六进制数据,对请求命令和数据进行解析,具体为:
首先判断命令类型,如果输入的字符是w,说明是写命令;如果输入的字符是r,说明是读命令,如果输入的是非w或r的其余字符,则会报非法命令,丢弃数据,UART接口状态机回到初始Idle状态;
接着判断是否输入的字符是空格,如果不是空格字符则报错,UART接口状态机回到初始Idle状态,如果是空格字符,则继续判断后续输入字符是否是合法的请求地址,地址固定
10个字符,以0x字符开头,后面8个字符是地址,如果不符合期望格式则会报错,UART接口状态机回到初始Idle状态;
如果是读命令,在得到读地址后,就会读操作,状态机进入等待读数据状态,在读数据返回后,状态机进入输出读数据状态,将64位的读数据转换成8个ASICII字符,保存在发送数据缓冲寄存器中,状态机返回初始Idle状态,等待处理下一条请求;
如果是写命令,在得到写地址后继续判断下一个字符是否是空格,如果不是字符空格报错,如果是字符空格,则继续判断后续输入字符是否是合法写数据,写数据固定10个字符,以0x字符开头,后面8个字符是64位写数据,状态机返回初始Idle状态,等待处理下一条请求;
至此得到了请求命令类型、地址和读写数据。
4.如权利要求1所述的一种基于UART接口的处理器调试方法,其特征是,所述步骤3中将请求命令转换成标准AHB总线读写请求具体为:UART命令解析器通过对AHB总线控制器内部的请求控制寄存器、请求地址寄存器的读写,将前一步骤得到的请求命令类型、地址和读写数据设置到读写命令类型、读写的起始地址和读写的长度,生成标准AHB总线的读写请求。
5.一种基于UART接口的处理器调试系统,包括:内置在微控制器芯片的UART接口模块的UART命令解析器、AHB总线控制器,其中:
UART命令解析器,实现对调试上位机发送的请求命令的解析,调试上位机使用基本的读写操作,通过UART接口发送请求命令到带有UART的微控制器芯片,微控制器芯片的UART接口模块通过内置的一个专用主机UART命令解析器实现对请求命令的解析;
AHB总线控制器,将UART命令解析器解析的请求命令转换成标准AHB总线读写请求,实现读取微控制器内部模块的状态,控制微控制器内部模块的运行。
6.如权利要求5所述的一种基于UART接口的处理器调试系统,其特征在于:所述调试上位机端通过UART接口输入ASCI I字符,发送请求命令和数据到带有UART的微控制器芯片,微控制器芯片的UART接口模块将用户输入的请求命令和数据保存在接收缓冲寄存器中。
7.如权利要求5所述的一种基于UART接口的处理器调试系统,其特征在于:所述UART命令解析器对请求命令解析时,在UART接口状态机的控制下,按序从接收数据缓冲寄存器中依次读出请求和数据,将ASCII字符转换成十六进制数据,对请求命令和数据进行解析,具体为:
首先判断命令类型,如果输入的字符是w,说明是写命令;如果输入的字符是r,说明是读命令,如果输入的是非w或r的其余字符,则会报非法命令,丢弃数据,UART接口状态机回到初始Idle状态;
接着判断是否输入的字符是空格,如果不是空格字符则报错,UART接口状态机回到初始Idle状态,如果是空格字符,则继续判断后续输入字符是否是合法的请求地址,地址固定
10个字符,以0x字符开头,后面8个字符是地址,如果不符合期望格式则会报错,UART接口状态机回到初始Idle状态;
如果是读命令,在得到读地址后,就会读操作,状态机进入等待读数据状态,在读数据返回后,状态机进入输出读数据状态,将64位的读数据转换成8个ASICII字符,保存在发送数据缓冲寄存器中,状态机返回初始Idle状态,等待处理下一条请求;
如果是写命令,在得到写地址后继续判断下一个字符是否是空格,如果不是字符空格报错,如果是字符空格,则继续判断后续输入字符是否是合法写数据,写数据固定10个字符,以0x字符开头,后面8个字符是64位写数据,状态机返回初始Idle状态,等待处理下一条请求;
至此得到了请求命令类型、地址和读写数据。
8.如权利要求5所述的一种基于UART接口的处理器调试系统,其特征在于:所述UART命令解析器通过对AHB总线控制器内部的请求控制寄存器、请求地址寄存器的读写,将前一步骤得到的请求命令类型、地址和读写数据设置到读写命令类型、读写的起始地址和读写的长度,生成标准AHB总线的读写请求。

说明书全文

一种基于UART接口的处理器调试方法及系统

技术领域

[0001] 本发明属于计算机领域,具体涉及一种基于UART接口的处理器调试方法及系统。

背景技术

[0002] 在进行智能处理器设计时,通常需要调试接口读取内部模的状态,控制内部模块的运行等调试功能。为了支持上述调试功能,除了实现相关硬件设计,通常还需要底层驱动程序等系统软件的支持。底层驱动是程序以访问底层硬件的形式实现人机交互,驱动程序和应用程序之间需要实现相应的信息交互:一方面,应用程序通过对驱动程序发送相应的指令,实现硬件控制的动作指令,另一方面,驱动程序将硬件读写的状态、从硬件上获得的数据传送给应用程序,实现应用程序与驱动程序间的交互。因此系统需要软硬件协同工作,增加了系统的复杂度。
[0003] 申请号201710914325.4的专利公开了一种基于UART接口的嵌入式系统调试方法,本方法采用简单可靠的UART接口,仅需要在嵌入式系统中集成很少逻辑电路,对外使用UART的标准通讯信号,在集成有UART接口的PC上就能实现支持,可以在SOC样片上电测试阶段调试嵌入式系统内部寄存器上代替DFT、JTAG;同时可以对在线存储设备进行实时编程,无需编程器;降低成本,实现简洁,可靠程度高。虽然简化了调试步骤,降低了成本,但是其还是要对在线存储设备进行实时编程,没有从根本上解决现有的嵌入式系统调试中需要软硬件协同工作的问题,还是需要不断的进行软硬件调试,复杂度较高。

发明内容

[0004] 针对现有技术中存在的缺陷,本发明的目的是提供一种基于UART接口的处理器调试方法及系统。该方法和系统能够使用内置专用主机UART命令解析器,在UART接口状态机的控制下,将输入字符转换成十六进制数据,实现对请求命令的解析,并且将解析后得到的请求命令类型、地址和读写数据设置到AHB总线控制器内部的请求控制寄存器,请求地址寄存器中的读写命令类型、读写的起始地址和读写的长度,从而生成标准AHB总线的读写请求,整个过程由硬件逻辑完成,无需底层驱动程序等系统软件的支持,就能够实现读取内部模块的状态,控制内部模块的运行等调试功能。
[0005] 为达到以上目的,本发明采用的技术方案是:一种基于UART接口的处理器调试方法,包括以下步骤:
[0006] 步骤1、调试上位机使用基本的读写操作,通过UART接口输入ASCII字符,发送请求命令和数据到带有UART的微控制器芯片,微控制器芯片的UART接口模块将用户输入的请求命令和数据保存在接收缓冲寄存器中;
[0007] 步骤2、主机UART命令解析器发现接收缓冲寄存器中有数据后,产生APB接口访问,在UART接口状态机的控制下,按序从接收缓冲寄存器中依次读出请求和数据,将用户输出的ASCII码转换成十六进制数据,实现对请求命令和数据的解析;
[0008] 步骤3、AHB总线控制器将步骤2解析的请求命令和数据转换成标准AHB总线读写请求和数据,实现读取微控制器芯片内部模块的状态,控制微控制器芯片内部模块的运行。
[0009] 进一步地,所述步骤1中,对请求命令解析前,每个用户输入的ASCII字符都会被UART接口模块保存在接收数据缓冲寄存器中。
[0010] 进一步地,所述步骤2中,对请求命令解析时,在UART接口状态机的控制下,按序从接收数据缓冲寄存器中依次读出请求和数据,将ASCII字符转换成十六进制数据,对请求命令和数据进行解析,具体为:
[0011] 首先判断命令类型,如果输入的字符是w,说明是写命令;如果输入的字符是r,说明是读命令,如果输入的是非w或r的其余字符,则会报非法命令,丢弃数据,UART接口状态机回到初始Idle状态;
[0012] 接着判断是否输入的字符是空格,如果不是空格字符则报错,UART接口状态机回到初始Idle状态,如果是空格字符,则继续判断后续输入字符是否是合法的请求地址,地址固定10个字符,以0x字符开头,后面8个字符是地址,如果不符合期望格式则会报错,UART接口状态机回到初始Idle状态;
[0013] 如果是读命令,在得到读地址后,就会读操作,状态机进入等待读数据状态,在读数据返回后,状态机进入输出读数据状态,将64位的读数据转换成8个ASICII字符,保存在发送数据缓冲寄存器中,状态机返回初始Idle状态,等待处理下一条请求;
[0014] 如果是写命令,在得到写地址后继续判断下一个字符是否是空格,如果不是字符空格报错,如果是字符空格,则继续判断后续输入字符是否是合法写数据,写数据固定10个字符,以0x字符开头,后面8个字符是64位写数据,状态机返回初始Idle状态,等待处理下一条请求;
[0015] 至此得到了请求命令类型、地址和读写数据。
[0016] 进一步地,所述步骤3中将请求命令转换成标准AHB总线读写请求具体为:UART命令解析器通过对AHB总线控制器内部的请求控制寄存器、请求地址寄存器的读写,将前一步骤得到的请求命令类型、地址和读写数据设置到读写命令类型、读写的起始地址和读写的长度,生成标准AHB总线的读写请求。
[0017] 一种基于UART接口的处理器调试系统,包括:内置在微控制器芯片的UART接口模块的UART命令解析器、AHB总线控制器,其中:
[0018] UART命令解析器,实现对调试上位机发送的请求命令的解析,调试上位机使用基本的读写操作,通过UART接口发送请求命令到带有UART的微控制器芯片,微控制器芯片的UART接口模块通过内置的一个专用主机UART命令解析器实现对请求命令的解析;
[0019] AHB总线控制器,将UART命令解析器解析的请求命令转换成标准AHB总线读写请求,实现读取微控制器内部模块的状态,控制微控制器内部模块的运行。
[0020] 进一步地,所述调试上位机端通过UART接口输入ASCII字符,发送请求命令和数据到带有UART的微控制器芯片,微控制器芯片的UART接口模块将用户输入的请求命令和数据保存在接收缓冲寄存器中。
[0021] 进一步地,所述UART命令解析器对请求命令解析时,在UART接口状态机的控制下,按序从接收数据缓冲寄存器中依次读出请求和数据,将ASCII字符转换成十六进制数据,对请求命令和数据进行解析,具体为:
[0022] 首先判断命令类型,如果输入的字符是w,说明是写命令;如果输入的字符是r,说明是读命令,如果输入的是非w或r的其余字符,则会报非法命令,丢弃数据,UART接口状态机回到初始Idle状态;
[0023] 接着判断是否输入的字符是空格,如果不是空格字符则报错,UART接口状态机回到初始Idle状态,如果是空格字符,则继续判断后续输入字符是否是合法的请求地址,地址固定10个字符,以0x字符开头,后面8个字符是地址,如果不符合期望格式则会报错,UART接口状态机回到初始Idle状态;
[0024] 如果是读命令,在得到读地址后,就会读操作,状态机进入等待读数据状态,在读数据返回后,状态机进入输出读数据状态,将64位的读数据转换成8个ASICII字符,保存在发送数据缓冲寄存器中,状态机返回初始Idle状态,等待处理下一条请求;
[0025] 如果是写命令,在得到写地址后继续判断下一个字符是否是空格,如果不是字符空格报错,如果是字符空格,则继续判断后续输入字符是否是合法写数据,写数据固定10个字符,以0x字符开头,后面8个字符是64位写数据,状态机返回初始Idle状态,等待处理下一条请求;
[0026] 至此得到了请求命令类型、地址和读写数据。
[0027] 进一步地,所述UART命令解析器通过对AHB总线控制器内部的请求控制寄存器、请求地址寄存器的读写,将前一步骤得到的请求命令类型、地址和读写数据设置到读写命令类型、读写的起始地址和读写的长度,生成标准AHB总线的读写请求。
[0028] 本发明的效果在于:本发明提供一种基于UART接口的处理器调试方法及系统,调试上位机使用基本的读写操作,通过UART接口发送到带有UART的微控制芯片,微控制器的UART接口模块内置一个专用UART命令解析器,可以在UART接口状态机的控制下,将输入字符转换成十六进制数据,实现对请求命令的解析,并且将解析后得到的请求命令类型、地址和读写数据设置到AHB总线控制器内部的请求控制寄存器,请求地址寄存器中的读写命令类型、读写的起始地址和读写的长度,从而生成标准AHB总线的读写请求,整个过程由硬件逻辑完成,无需底层驱动程序等系统软件的支持,就能够实现读取内部模块的状态,控制内部模块的运行等调试功能。附图说明
[0029] 图1是本发明的UART调试接口结构示意图;
[0030] 图2是本发明的UART命令解析器内部状态机结构图;
[0031] 图3是本发明的AHB总线控制器内部结构图。

具体实施方式

[0032] 下面结合附图和具体实施方式对本发明作进一步描述。
[0033] 如图2、3一种基于UART接口的处理器调试方法,包括以下步骤:
[0034] 步骤1、调试上位机使用基本的读写操作,通过UART接口输入ASCII字符,发送请求命令和数据到带有UART的微控制器芯片,微控制器芯片的UART接口模块将用户输入的请求命令和数据保存在接收缓冲寄存器中;
[0035] 步骤2、主机UART命令解析器发现接收缓冲寄存器中有数据后,产生APB接口访问,在UART接口状态机的控制下,按序从接收缓冲寄存器中依次读出请求和数据,将用户输出的ASCII码转换成十六进制数据,实现对请求命令和数据的解析;
[0036] 步骤3、AHB总线控制器将步骤2解析的请求命令和数据转换成标准AHB总线读写请求和数据,实现读取微控制器芯片内部模块的状态,控制微控制器芯片内部模块的运行。
[0037] 本实施例中,所述步骤1中,对请求命令解析前,每个用户输入的ASCII字符都会被UART接口模块保存在接收数据缓冲寄存器中。
[0038] 本实施例中,所述步骤1中,对请求命令解析时,在UART接口状态机的控制下,按序从接收数据缓冲寄存器中依次读出ASCII字符,将ASCII字符转换成十六进制数据,对请求命令和数据进行解析。首先判断命令类型,如果输入的字符是w,说明是写命令;如果输入的字符是r,说明是读命令,如果输入的是非w或r的其余字符,则会报非法命令,丢弃数据,UART接口状态机回到初始Idle状态。接着判断是否输入的字符是空格,如果不是空格字符则报错,UART接口状态机回到初始Idle状态,如果是空格字符,则继续判断后续输入字符是否是合法的请求地址,地址固定10个字符,以0x字符开头,后面8个字符是地址,如果不符合期望格式则会报错,UART接口状态机回到初始Idle状态。如果是读命令,在得到读地址后,就会读操作,状态机进入等待读数据状态,在读数据返回后,状态机进入输出读数据状态,将64位的读数据转换成8个ASICII字符,保存在发送数据缓冲寄存器中,状态机返回初始Idle状态,等待处理下一条请求。如果是写命令,在得到写地址后继续判断下一个字符是否是空格,如果不是字符空格报错,如果是字符空格,则继续判断后续输入字符是否是合法写数据,写数据固定10个字符,以0x字符开头,后面8个字符是64位写数据,状态机返回初始Idle状态,等待处理下一条请求。至此得到了请求命令类型、地址和读写数据。
[0039] 本实施例中,所述步骤2中将请求命令转换成标准AHB总线读写请求具体为:UART命令解析器通过对AHB总线控制器内部的请求控制寄存器、请求地址寄存器的读写,将前一步骤得到的请求命令类型、地址和读写数据设置到读写命令类型、读写的起始地址和读写的长度,生成标准AHB总线的读写请求。
[0040] 如图1所示,一种基于UART接口的处理器调试系统,包括:内置在微控制器芯片的UART接口模块的UART命令解析器、AHB总线控制器,其中:
[0041] UART命令解析器,实现对调试上位机发送的请求命令的解析,调试上位机使用基本的读写操作,通过UART接口发送请求命令到带有UART的微控制器芯片,微控制器芯片的UART接口模块通过内置的一个专用主机UART命令解析器实现对请求命令的解析;
[0042] AHB总线控制器,将UART命令解析器解析的请求命令转换成标准AHB总线读写请求,实现读取微控制器内部模块的状态,控制微控制器内部模块的运行。
[0043] 本实施例中,所述调试上位机使用基本的读写操作,通过UART接口输入ASCII字符,发送请求命令和数据到带有UART的微控制器芯片,微控制器芯片的UART接口模块将用户输入的请求命令和数据保存在接收缓冲寄存器中。
[0044] 本实施例中,所述内置的一个专用主机UART命令解析器发现接收缓冲寄存器中有数据后,产生APB接口访问,在UART接口状态机的控制下,按序从接收缓冲寄存器中依次读出请求和数据,将用户输出的ASCII码转换成十六进制数据,实现对请求命令和数据的解析。
[0045] 本实施例中,所述UART命令解析器通过对AHB总线控制器内部的请求控制寄存器、请求地址寄存器的读写,将前一步骤得到的请求命令类型、地址和读写数据设置到读写命令类型、读写的起始地址和读写的长度,生成标准AHB总线的读写请求。
[0046] 本发明提供一种基于UART接口的处理器调试方法及系统,调试上位机使用基本的读写操作,通过UART接口发送到带有UART的微控制芯片,微控制器的UART接口模块内置一个专用UART命令解析器,可以实现对请求命令的解析,然后AHB总线控制器转换成标准AHB总线读写请求,从而无需底层驱动程序等系统软件的支持,就能够实现读取内部模块的状态,控制内部模块的运行等调试功能。
[0047] 本领域技术人员应该明白,本发明所述的方法和系统并不限于具体实施方式中所述的实施例,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围,本发明的保护范围由权利要求及其等同物限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈