CN111625450A - 基于scp处理器的死机调试方法和装置 - Google Patents

基于scp处理器的死机调试方法和装置 Download PDF

Info

Publication number
CN111625450A
CN111625450A CN202010425244.XA CN202010425244A CN111625450A CN 111625450 A CN111625450 A CN 111625450A CN 202010425244 A CN202010425244 A CN 202010425244A CN 111625450 A CN111625450 A CN 111625450A
Authority
CN
China
Prior art keywords
debugging
processor
scp
serial port
crash
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.)
Granted
Application number
CN202010425244.XA
Other languages
English (en)
Other versions
CN111625450B (zh
Inventor
麦键樟
苏佳佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN202010425244.XA priority Critical patent/CN111625450B/zh
Publication of CN111625450A publication Critical patent/CN111625450A/zh
Application granted granted Critical
Publication of CN111625450B publication Critical patent/CN111625450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

本发明涉及一种基于SCP处理器死机调试方法和装置,包括:上位机建立与SCP处理器的通信连接;通过交互界面向所述SCP处理器的shell调试模块发送一个或多个自定义的调试指令和/或访问指令;通过交互界面对所述shell调试模块的调试结果和/或访问结果进行实时显示。本发明的有益效果为:通过上位机PC串口终端与系统控制处理器进行交互,支持内存和寄存器访问、应用处理器状态监测、支持交互式调试,操作简便,成本低廉。

Description

基于SCP处理器的死机调试方法和装置
技术领域
本发明涉及嵌入式领域,具体涉及了基于SCP处理器死机调试方法和装置。
背景技术
现有的系统死机问题调试方法,大多数是JTAG调试的方式。当处理器内部总线挂死时,JTAG调试器将无法连接,常规调试手段也都失效。
现有的嵌入式系统底层调试技术有:
(1)JTAG调试。优点是,功能完备强大,支持单步调试、断点、内存、栈等分析;缺点是,价格昂贵、操作繁琐、使用条件苛刻、总线挂死后不能使用。
(2)trace类调试,如程序中添加串口打印信息。优点是,成本低廉,操作简单,使用无限制;缺点是,功能单一,添加打印信息要重新编译下载固件。
(3)crash dump类调试。优点是,功能较强,支持内存、栈、进程等静态分析;缺点是,只能对死机现场进行静态分析,无法进行交互式调试。
(4)操作系统shell调试。优点是,功能强大,支持各种调试分析手段;缺点是,只适用于非死机类问题的调试。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种基于SCP处理器死机调试方法和装置,通过串口命令与系统控制处理器进行交互,支持内存和寄存器访问、应用处理器状态监测、支持交互式调试,操作简便,成本低廉。
本发明的技术方案包括一种基于SCP处理器死机调试方法,其特征在于,该方法包括:S100,上位机建立与SCP处理器的通信连接;S200,通过交互界面向所述SCP处理器的shell调试模块发送一个或多个自定义的调试指令和/或访问指令;S300,通过交互界面对所述shell调试模块的调试结果和/或访问结果进行实时显示。
根据所述的基于SCP处理器死机调试方法,其中S100中通过串口线与所述SCP处理器连接。
根据所述的基于SCP处理器死机调试方法,其中S200具体包括:S210,根据SCP处理器的类型及串口进行对应设置;S220,所述shell调试模块接收所述调试指令和/或访问指令并解析,根据解析结果对对应的一个或多个单元执行对应的调试和/或访问处理;S230,返回调试结果和/或访问结果。
根据所述的基于SCP处理器死机调试方法,其中访问指令包括外设寄存器的读写指令、内存读写指令及处理器状态监测指令。
根据所述的基于SCP处理器死机调试方法,其中该方法还包括对所述调试指令和访问指令的有效性进行识别。
本发明的技术方案还包括一种基于SCP处理器死机调试装置,该装置用于执行任一所述方法,其特征在于:SCP处理器,上位机,所述SCP处理器与所述上位机通过串口线进行连接;所述上位机包括相连的串口连接装置和串口编辑装置,所述SCP处理器包括依次相连的串口控制器、串口控制器驱动及shell调试模块。
根据所述的基于SCP处理器死机调试装置,其中SCP处理器被配置为可访问内存及外设寄存器,以及,配置有所述串口控制器驱动和shell调试模块必要运行环境。
根据所述的基于SCP处理器死机调试装置,其中串口控制器被配置为符合串口通信协议的硬件控制器,用于提供串口通信的物理通道。
根据所述的基于SCP处理器死机调试装置,其中串口控制器驱动用于驱动所述串口控制器,提供可被调用的串口基础功能函数接口。
根据所述的基于SCP处理器死机调试装置,其中shell调试模块用于根据所述串口编辑装置下发的调试指令和/或访问指令进行响应、解析及输出。
本发明的有益效果为:通过上位机PC串口终端与系统控制处理器进行交互,支持内存和寄存器访问、应用处理器状态监测、支持交互式调试,操作简便,成本低廉。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1所示为根据本发明实施方式的方法流程图;
图2所示为应用处理器的硬件框图;
图3所示为根据本发明实施方式的SCP处理器系统框架图;
图4所示为根据本发明实施方式的调试及访问流程图。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
术语解释:
SCP:System Control Processor,系统控制处理器。
本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
图1所示为根据本发明实施方式的方法流程图,该流程包括:S100,上位机建立与SCP处理器的通信连接;S200,通过交互界面向基于SCP处理器死机调试方法SCP处理器的shell调试模块发送一个或多个自定义的调试指令和/或访问指令;S300,通过交互界面对基于SCP处理器死机调试方法shell调试模块的调试结果和/或访问结果进行实时显示。
图2所示为应用处理器的硬件框图,包括应用处理器核心(ApplicationProcessor Core),是运行操作系统和应用程序的高性能处理核心;
系统控制处理器(System Control Processor),主要用于系统控制和电源管理,一般是Cortex-M3、or1200等轻量级处理核心;
芯片总线(BUS),为芯片内部的总线抽象;
串口控制器(S_UART),属于系统控制处理器;
USB和ETHERNET等为外设。
及系统内存(Dram)。
图3所示为根据本发明实施方式的SCP处理器系统框架图,具体地,系统控制和电源管理相关功能是系统控制处理器的核心功能,与本发明的技术方案不相关,不作介绍。
串口编辑装置用于通过可交互界面对调试指令及访问指令进行自定义编辑或显示shell调试模块的访问结果,串口连接装置用于通过串口线连接串口控制器,一般为PC硬件设备。
串口控制器是符合串口通信协议的硬件控制器,提供串口通信的物理通道。
串口控制器驱动是串口控制器的驱动程序,提供串口基础功能的函数接口,供上层应用程序调用。
shell调试模块是与PC串口终端软件进行交互的上层应用程序,是shell核心逻辑功能,与硬件无关。主要用于响应输入、解析命令、结果输出。
可以知道,实际是通过上位机下发指令对shell调试模块进行指令发送和调试访问。
图4所示为根据本发明实施方式的调试及访问流程图。如图4所示,系统死机后,使用串口线将PC串口与系统控制处理器的串口控制器连接;通过PC串口终端发送命令给系统控制处理器的shell调试模块;shell调试模块接收到命令后,对命令进行解析,并执行相应的操作,如内存读写、外设寄存器读写及其他扩展的调试操作;命令执行完毕后,shell调试模块返回执行结果,并等待下一个命令;如此循环反复。
现有的系统死机问题调试方法,大多数是JTAG调试的方式。当处理器内部总线挂死时,JTAG调试器将无法连接,常规调试手段也都失效。本方法在应用处理器内部总线挂死时,也仍然支持交互式动态调试。
本发明的技术方案可以通过上位机PC串口终端与系统控制处理器进行交互,支持内存和寄存器访问、应用处理器状态监测、支持交互式调试,操作简便,成本低廉。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (10)

1.基于SCP处理器死机调试方法,其特征在于,该方法包括:
S100,上位机建立与SCP处理器的通信连接;
S200,通过交互界面向所述SCP处理器的shell调试模块发送一个或多个自定义的调试指令和/或访问指令;
S300,通过交互界面对所述shell调试模块的调试结果和/或访问结果进行实时显示。
2.根据权利要求1所述的基于SCP处理器死机调试方法,其特征在于,所述S100中通过串口线与所述SCP处理器连接。
3.根据权利要求1所述的基于SCP处理器死机调试方法,其特征在于,所述S200具体包括:
S210,根据SCP处理器的类型及串口进行对应设置;
S220,所述shell调试模块接收所述调试指令和/或访问指令并解析,根据解析结果对对应的一个或多个单元执行对应的调试和/或访问处理;
S230,返回调试结果和/或访问结果。
4.根据权利要求1所述的基于SCP处理器死机调试方法,其特征在于,所述访问指令包括外设寄存器的读写指令、内存读写指令及处理器状态监测指令。
5.根据权利要求1所述的基于SCP处理器死机调试方法,其特征在于,该方法还包括对所述调试指令和访问指令的有效性进行识别。
6.基于SCP处理器死机调试装置,用于执行权利要求1-5任一所述方法,其特征在于:
SCP处理器,上位机,所述SCP处理器与所述上位机通过串口线进行连接;
所述上位机包括相连的串口连接装置和串口编辑装置,所述SCP处理器包括依次相连的串口控制器、串口控制器驱动及shell调试模块。
7.根据权利要求6所述的基于SCP处理器死机调试装置,其特征在于,所述SCP处理器被配置为可访问内存及外设寄存器,以及,配置有所述串口控制器驱动和shell调试模块必要运行环境。
8.根据权利要求6所述的基于SCP处理器死机调试装置,其特征在于,所述串口控制器被配置为符合串口通信协议的硬件控制器,用于提供串口通信的物理通道。
9.根据权利要求6所述的基于SCP处理器死机调试装置,其特征在于,所述串口控制器驱动用于驱动所述串口控制器,提供可被调用的串口基础功能函数接口。
10.根据权利要求6所述的基于SCP处理器死机调试装置,其特征在于,所述shell调试模块用于根据所述串口编辑装置下发的调试指令和/或访问指令进行响应、解析及输出。
CN202010425244.XA 2020-05-19 2020-05-19 基于scp处理器的死机调试方法和装置 Active CN111625450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010425244.XA CN111625450B (zh) 2020-05-19 2020-05-19 基于scp处理器的死机调试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010425244.XA CN111625450B (zh) 2020-05-19 2020-05-19 基于scp处理器的死机调试方法和装置

Publications (2)

Publication Number Publication Date
CN111625450A true CN111625450A (zh) 2020-09-04
CN111625450B CN111625450B (zh) 2024-03-19

Family

ID=72260989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010425244.XA Active CN111625450B (zh) 2020-05-19 2020-05-19 基于scp处理器的死机调试方法和装置

Country Status (1)

Country Link
CN (1) CN111625450B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170438A (zh) * 2007-11-13 2008-04-30 中兴通讯股份有限公司 一种远程串口调试方法及其系统
CN101179438A (zh) * 2007-11-16 2008-05-14 中兴通讯股份有限公司 一种远程诊断系统及方法
CN101251819A (zh) * 2007-12-11 2008-08-27 浙江大学 一种适用于多处理器核系统芯片的调试方法
CN104407956A (zh) * 2014-12-03 2015-03-11 天津大学 通过串口调试的iic总线实验装置
CN104461815A (zh) * 2014-12-11 2015-03-25 深圳芯邦科技股份有限公司 一种芯片调试方法及片上系统芯片
US20190271740A1 (en) * 2018-03-05 2019-09-05 Changyi Gu Non-intrusive on-chip debugger with remote protocol support

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170438A (zh) * 2007-11-13 2008-04-30 中兴通讯股份有限公司 一种远程串口调试方法及其系统
CN101179438A (zh) * 2007-11-16 2008-05-14 中兴通讯股份有限公司 一种远程诊断系统及方法
CN101251819A (zh) * 2007-12-11 2008-08-27 浙江大学 一种适用于多处理器核系统芯片的调试方法
CN104407956A (zh) * 2014-12-03 2015-03-11 天津大学 通过串口调试的iic总线实验装置
CN104461815A (zh) * 2014-12-11 2015-03-25 深圳芯邦科技股份有限公司 一种芯片调试方法及片上系统芯片
US20190271740A1 (en) * 2018-03-05 2019-09-05 Changyi Gu Non-intrusive on-chip debugger with remote protocol support

Also Published As

Publication number Publication date
CN111625450B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
CN100565472C (zh) 一种适用于多处理器核系统芯片的调试方法
CN101084485A (zh) 用于改善片上仿真系统中高级语言的仿真速度的装置和方法
US20060117224A1 (en) Trace and debug method and system for a processor
CN103207771B (zh) 一种plc程序执行器ip核
CN100444127C (zh) 软件测试系统和软件测试方法
CN101840368A (zh) 多核处理器的jtag实时片上调试方法及其系统
CN114138644A (zh) Bmc调试方法及监控方法、系统、装置、设备、介质
CN108427640A (zh) 一种在用户态下调试驱动程序的方法
US11409636B2 (en) Processor including debug unit and debug system
KR20130069106A (ko) 임베디드 소프트웨어 검증장치 및 그 운용방법
JP2003015906A (ja) リモートデバッグ方法および装置
US6425122B1 (en) Single stepping system and method for tightly coupled processors
CN111625450B (zh) 基于scp处理器的死机调试方法和装置
CN112559336B (zh) 自适应调试异构计算芯片的方法、装置、系统及主板芯片
CN115587026A (zh) 芯片测试方法、装置、存储介质及芯片
CN111506395B (zh) 一种混合仿真的全数字虚拟运行环境的实现方法及装置
CN115145381A (zh) 一种远程重置bmc芯片的方法、系统、存储介质及设备
CN112285542B (zh) 一种面向fpga外部接口逻辑的调试与测试方法
CN1831785A (zh) 应用于固件程序除错的微处理器与方法
CN113849397A (zh) 执行引擎、虚拟机、相关装置和相关方法
JP2006146412A (ja) マルチコアプロセッサ及びデバッグ方法
CN112162919A (zh) 车载设备的调试方法、调试系统及计算机可读存储介质
KR20050063023A (ko) 제이티에이지를 이용한 임베디드 시스템의 디버깅 장치 및방법
US8914274B1 (en) Method and system for instruction set simulation with concurrent attachment of multiple debuggers
CN103744698A (zh) Dsp工程的高效运行方法及系统

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
GR01 Patent grant
GR01 Patent grant