CN105740155A - 一种Modem CPU的调试实现方法及实现系统 - Google Patents
一种Modem CPU的调试实现方法及实现系统 Download PDFInfo
- Publication number
- CN105740155A CN105740155A CN201610132441.6A CN201610132441A CN105740155A CN 105740155 A CN105740155 A CN 105740155A CN 201610132441 A CN201610132441 A CN 201610132441A CN 105740155 A CN105740155 A CN 105740155A
- Authority
- CN
- China
- Prior art keywords
- modemcpu
- debugging
- cpu
- realization
- message
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种Modem CPU的调试实现方法及实现系统,方法包括:当检测到用于处理通信数据的Modem CPU的调试请求时,则Modem CPU将调试信息经由通信通道发送至应用CPU;应用CPU接收所述调试信息,并将调试信息打印至UART/USB上。本发明中,由于预先建立了应用CPU和Modem CPU之间的通信通道,故当需对Modem CPU进行调试时,只需将对Modem CPU中的调试信息经由通信通道发送至应用CPU,再通过应用CPU将调试信息打印至UART/USB上,实现了对Modem CPU的调试,方便了测试人员对Modem CPU直接进行测试。
Description
技术领域
本发明涉及多处理器技术领域,尤其涉及的是一种ModemCPU的调试实现方法及实现系统。
背景技术
随着多处理器架构在移动平台的出现,对软件调试提出了新要求。例如Qualcomm(即高通)的平台上至少就有两个处理器:ModemCPU(其主要处理通讯数据,如打电话时的数据等)和ApplicantCPU(即应用CPU,主要处理操作系统的数据);ModemCPU上连接了memory(即存储器)和interruptcontroller(即中断控制器),一般很少连接其他外设,而ApplicantCPU上除了memory(即存储器)和interruptcontroller(即中断控制器),还连接了UART/USB(通用异步收发传输器/通用串行总线,UART的英文全称为UniversalAsynchronousReceiver/Transmitter,USB的英文全称为UniversalSerialBus)等常用外设。
因为UART/USB等外设只连接在ApplicantCPU上,故可通过UART/USB调试ApplicantCPU上的软件,但不能调试ModemCPU上的软件。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种ModemCPU的调试实现方法及实现系统,解决了现有技术中可通过UART/USB调试ApplicantCPU上的软件,但不能调试ModemCPU上的软件的缺陷。
本发明的技术方案如下:
一种ModemCPU的调试实现方法,其中,包括以下步骤:
A、当检测到用于处理通信数据的ModemCPU的调试请求时,则ModemCPU将调试信息经由通信通道发送至应用CPU;
B、应用CPU接收所述调试信息,并将调试信息打印至UART/USB上。
所述ModemCPU的调试实现方法,其中,所述步骤A之前还包括:
S、初始化建立应用CPU和ModemCPU之间的通信通道。
所述ModemCPU的调试实现方法,其中,所述步骤A具体包括:
A1、当检测到用于处理通信数据的ModemCPU的调试请求时,ModemCPU上的调试接口将调试信息发送至待发送队列,并唤醒守护进程;
A2、守护进程从待发送队列中获取所述调试信息,并发送至ModemCPU与应用CPU之间的共享内存,触发中断通知并发送至应用CPU。
所述ModemCPU的调试实现方法,其中,所述步骤B具体包括:
B1、应用CPU接收所述中断通知,并从共享内存中获取所述调试信息;
B2、应用CPU将调试信息打印至UART/USB上。
所述ModemCPU的调试实现方法,其中,所述步骤B2中由ModemCPU中的中断控制器触发中断通知。
一种ModemCPU的调试实现系统,其中,包括:
检测及发送模块,用于当检测到用于处理通信数据的ModemCPU的调试请求时,则ModemCPU将调试信息经由通信通道发送至应用CPU;
接收及打印模块,用于应用CPU接收所述调试信息,并将调试信息打印至UART/USB上。
所述ModemCPU的调试实现系统,其中,还包括:
初始化模块,用于初始化建立应用CPU和ModemCPU之间的通信通道。
所述ModemCPU的调试实现系统,其中,所述检测及发送模块具体包括:
唤醒单元,用于当检测到用于处理通信数据的ModemCPU的调试请求时,ModemCPU上的调试接口将调试信息发送至待发送队列,并唤醒守护进程;
中断触发单元,用于守护进程从待发送队列中获取所述调试信息,并发送至ModemCPU与应用CPU之间的共享内存,触发中断通知并发送至应用CPU。
所述ModemCPU的调试实现系统,其中,所述接收及打印模块具体包括:
中断接收单元,用于应用CPU接收所述中断通知,并从共享内存中获取所述调试信息;
打印单元,用于应用CPU将调试信息打印至UART/USB上。
所述ModemCPU的调试实现系统,其中,所述中断触发单元为设置在ModemCPU中的中断控制器。
本发明所提供的一种ModemCPU的调试实现方法及实现系统,方法包括:当检测到用于处理通信数据的ModemCPU的调试请求时,则ModemCPU将调试信息经由通信通道发送至应用CPU;应用CPU接收所述调试信息,并将调试信息打印至UART/USB上。本发明中,由于预先建立了应用CPU和ModemCPU之间的通信通道,故当需对ModemCPU进行调试时,只需将对ModemCPU中的调试信息经由通信通道发送至应用CPU,再通过应用CPU将调试信息打印至UART/USB上,实现了对ModemCPU的调试,方便了测试人员对ModemCPU直接进行测试。
附图说明
图1为本发明所述ModemCPU的调试实现方法较佳实施例的流程图。
图2为本发明所述ModemCPU的调试实现系统较佳实施例的功能模块框图。
具体实施方式
本发明提供一种ModemCPU的调试实现方法及实现系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,其为本发明所述ModemCPU的调试实现方法较佳实施例的流程图。如图1所示,所述ModemCPU的调试实现方法,包括以下步骤:
步骤S100、当检测到用于处理通信数据的ModemCPU的调试请求时,则ModemCPU将调试信息经由通信通道发送至应用CPU;
步骤S200、应用CPU接收所述调试信息,并将调试信息打印至UART/USB上。
本发明的实施例中,由于UART/USB只连接在应用CPU上,所以如果ModemCPU需要把调试信息打印到UART/USB上,就只能通过应用CPU中转。要实现对ModemCPU的调试,首先需要建立一套ModemCPU和应用CPU之间的通信机制,然后在此基础上构建Modem端的调试接口。较佳的,所述步骤S100之前还包括步骤S10:初始化建立应用CPU和ModemCPU之间的通信通道。
因为ModemCPU和应用CPU都有连接memory(存储器)和interruptcontroller(中断控制器),所以可以使用memory实现数据的共享,使用interruptcontroller实现CPU之间的通知。
进一步的,所述步骤S100具体包括:
步骤S101、当检测到用于处理通信数据的ModemCPU的调试请求时,ModemCPU上的调试接口将调试信息发送至待发送队列,并唤醒守护进程;
步骤S102、守护进程从待发送队列中获取所述调试信息,并发送至ModemCPU与应用CPU之间的共享内存,触发中断通知并发送至应用CPU。
在步骤S101中,通过调试接口mlog()将调试信息发送至待发送队列。mlog()是在ModemCPU中自定义的一种可自动获取调试信息的调试接口。同时由于使用了待发送队列作为缓存队列,使得系统初始化之前的log(即日志)也能被打印。
进一步的,所述步骤S200具体包括:
步骤S201、应用CPU接收所述中断通知,并从共享内存中获取所述调试信息;
步骤S202、应用CPU将调试信息打印至UART/USB上。
具体的,步骤S101-步骤S202中的ModemCPU与应用CPU的通信过程如下:1)ModemCPU把数据(即调试信息)写到共享内存里;2)ModemCPU中的中断控制器触发中断通知,通知应用CPU;3)应用CPU接到中断通知;4)应用CPU把数据从共享内存里读出来。这样,通过ModemCPU与应用CPU搭建的通信通道,实现了两者之间的数据传输,使得ModemCPU也能以应用CPU为媒介向UART/USB传输数据。
可见,本发明中,由于预先建立了应用CPU和ModemCPU之间的通信通道,故当需对ModemCPU进行调试时,只需将对ModemCPU中的调试信息经由通信通道发送至应用CPU,再通过应用CPU将调试信息打印至UART/USB上,实现了对ModemCPU的调试,方便了测试人员对ModemCPU直接进行测试。
基于上述方法实施例,本发明还提供了一种ModemCPU的调试实现系统。如图2所示,所述ModemCPU的调试实现系统包括:
检测及发送模块100,用于当检测到用于处理通信数据的ModemCPU的调试请求时,则ModemCPU将调试信息经由通信通道发送至应用CPU;
接收及打印模块200,用于应用CPU接收所述调试信息,并将调试信息打印至UART/USB上。
进一步的,在所述ModemCPU的调试实现系统中,还包括:
初始化模块,用于初始化建立应用CPU和ModemCPU之间的通信通道。
进一步的,在所述ModemCPU的调试实现系统中,所述检测及发送模块100具体包括:
唤醒单元,用于当检测到用于处理通信数据的ModemCPU的调试请求时,ModemCPU上的调试接口将调试信息发送至待发送队列,并唤醒守护进程;
中断触发单元,用于守护进程从待发送队列中获取所述调试信息,并发送至ModemCPU与应用CPU之间的共享内存,触发中断通知并发送至应用CPU。
进一步的,在所述ModemCPU的调试实现系统中,所述接收及打印模块200具体包括:
中断接收单元,用于应用CPU接收所述中断通知,并从共享内存中获取所述调试信息;
打印单元,用于应用CPU将调试信息打印至UART/USB上。
进一步的,在所述ModemCPU的调试实现系统中,所述中断触发单元为设置在ModemCPU中的中断控制器。
综上所述,本发明所提供的一种ModemCPU的调试实现方法及实现系统,方法包括:当检测到用于处理通信数据的ModemCPU的调试请求时,则ModemCPU将调试信息经由通信通道发送至应用CPU;应用CPU接收所述调试信息,并将调试信息打印至UART/USB上。本发明中,由于预先建立了应用CPU和ModemCPU之间的通信通道,故当需对ModemCPU进行调试时,只需将对ModemCPU中的调试信息经由通信通道发送至应用CPU,再通过应用CPU将调试信息打印至UART/USB上,实现了对ModemCPU的调试,方便了测试人员对ModemCPU直接进行测试。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种ModemCPU的调试实现方法,其特征在于,包括以下步骤:
A、当检测到用于处理通信数据的ModemCPU的调试请求时,则ModemCPU将调试信息经由通信通道发送至应用CPU;
B、应用CPU接收所述调试信息,并将调试信息打印至UART/USB上。
2.根据权利要求1所述ModemCPU的调试实现方法,其特征在于,所述步骤A之前还包括:
S、初始化建立应用CPU和ModemCPU之间的通信通道。
3.根据权利要求1所述ModemCPU的调试实现方法,其特征在于,所述步骤A具体包括:
A1、当检测到用于处理通信数据的ModemCPU的调试请求时,ModemCPU上的调试接口将调试信息发送至待发送队列,并唤醒守护进程;
A2、守护进程从待发送队列中获取所述调试信息,并发送至ModemCPU与应用CPU之间的共享内存,触发中断通知并发送至应用CPU。
4.根据权利要求3所述ModemCPU的调试实现方法,其特征在于,所述步骤B具体包括:
B1、应用CPU接收所述中断通知,并从共享内存中获取所述调试信息;
B2、应用CPU将调试信息打印至UART/USB上。
5.根据权利要求3所述ModemCPU的调试实现方法,其特征在于,所述步骤B2中由ModemCPU中的中断控制器触发中断通知。
6.一种ModemCPU的调试实现系统,其特征在于,包括:
检测及发送模块,用于当检测到用于处理通信数据的ModemCPU的调试请求时,则ModemCPU将调试信息经由通信通道发送至应用CPU;
接收及打印模块,用于应用CPU接收所述调试信息,并将调试信息打印至UART/USB上。
7.根据权利要求6所述ModemCPU的调试实现系统,其特征在于,还包括:
初始化模块,用于初始化建立应用CPU和ModemCPU之间的通信通道。
8.根据权利要求6所述ModemCPU的调试实现系统,其特征在于,所述检测及发送模块具体包括:
唤醒单元,用于当检测到用于处理通信数据的ModemCPU的调试请求时,ModemCPU上的调试接口将调试信息发送至待发送队列,并唤醒守护进程;
中断触发单元,用于守护进程从待发送队列中获取所述调试信息,并发送至ModemCPU与应用CPU之间的共享内存,触发中断通知并发送至应用CPU。
9.根据权利要求8所述ModemCPU的调试实现系统,其特征在于,所述接收及打印模块具体包括:
中断接收单元,用于应用CPU接收所述中断通知,并从共享内存中获取所述调试信息;
打印单元,用于应用CPU将调试信息打印至UART/USB上。
10.根据权利要求8所述ModemCPU的调试实现系统,其特征在于,所述中断触发单元为设置在ModemCPU中的中断控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610132441.6A CN105740155A (zh) | 2016-03-09 | 2016-03-09 | 一种Modem CPU的调试实现方法及实现系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610132441.6A CN105740155A (zh) | 2016-03-09 | 2016-03-09 | 一种Modem CPU的调试实现方法及实现系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105740155A true CN105740155A (zh) | 2016-07-06 |
Family
ID=56250141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610132441.6A Pending CN105740155A (zh) | 2016-03-09 | 2016-03-09 | 一种Modem CPU的调试实现方法及实现系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740155A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121625A (zh) * | 2016-11-30 | 2018-06-05 | 联芯科技有限公司 | 出错时获取数据的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006030195A2 (en) * | 2004-09-14 | 2006-03-23 | Coware, Inc. | Mehtod and system for debugging a multi- threaded program executing in a multicore architecture |
CN101493808A (zh) * | 2009-02-26 | 2009-07-29 | 华为技术有限公司 | 串口的使用方法及多核处理器 |
CN101493791A (zh) * | 2008-01-23 | 2009-07-29 | 希姆通信息技术(上海)有限公司 | 基于windows mobile的at命令的电脑调试方法和装置 |
CN101655826A (zh) * | 2009-09-25 | 2010-02-24 | 福建星网锐捷网络有限公司 | 多核处理器复用串口的方法及串口复用装置 |
CN101957808A (zh) * | 2010-06-04 | 2011-01-26 | 杭州海康威视数字技术股份有限公司 | 多cpu间的通信方法、系统及cpu |
-
2016
- 2016-03-09 CN CN201610132441.6A patent/CN105740155A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006030195A2 (en) * | 2004-09-14 | 2006-03-23 | Coware, Inc. | Mehtod and system for debugging a multi- threaded program executing in a multicore architecture |
CN101493791A (zh) * | 2008-01-23 | 2009-07-29 | 希姆通信息技术(上海)有限公司 | 基于windows mobile的at命令的电脑调试方法和装置 |
CN101493808A (zh) * | 2009-02-26 | 2009-07-29 | 华为技术有限公司 | 串口的使用方法及多核处理器 |
CN101655826A (zh) * | 2009-09-25 | 2010-02-24 | 福建星网锐捷网络有限公司 | 多核处理器复用串口的方法及串口复用装置 |
CN101957808A (zh) * | 2010-06-04 | 2011-01-26 | 杭州海康威视数字技术股份有限公司 | 多cpu间的通信方法、系统及cpu |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121625A (zh) * | 2016-11-30 | 2018-06-05 | 联芯科技有限公司 | 出错时获取数据的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10845868B2 (en) | Methods and apparatus for running and booting an inter-processor communication link between independently operable processors | |
US6567876B1 (en) | Docking PCI to PCI bridge using IEEE 1394 link | |
US8572420B2 (en) | Power managed USB for computing applications using a controller | |
CN107003955B (zh) | 用于在根复合体中集成设备的方法、装置和系统 | |
CN109614256B (zh) | 现场错误恢复 | |
CN106209695B (zh) | 给加载/存储通信协议提供低功率物理单元 | |
US20080071962A1 (en) | Device connection system and device connection method | |
US10678623B2 (en) | Error reporting and handling using a common error handler | |
US20130246680A1 (en) | Hot plug process in a distributed interconnect bus | |
US9026687B1 (en) | Host based enumeration and configuration for computer expansion bus controllers | |
CN102693162A (zh) | 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法 | |
CN104350481A (zh) | 设备断开检测 | |
CN108255776B (zh) | 一种兼容apb总线的i3c主设备、主从系统及通信方法 | |
CN113742269B (zh) | 用于epa设备的数据传输方法、处理设备和介质 | |
US20050216650A1 (en) | Bus system, station for use in a bus system, and bus interface | |
US8032675B2 (en) | Dynamic memory buffer allocation method and system | |
CN105740155A (zh) | 一种Modem CPU的调试实现方法及实现系统 | |
US20140075063A1 (en) | Smart device with no AP | |
CN111427806A (zh) | 一种双核amp系统共用串口的方法、存储介质及智能终端 | |
CN102346717B (zh) | 一种ipmi消息传输装置、系统及计算机设备 | |
Saadé et al. | A system-level overview and comparison of three High-Speed Serial Links: USB 3.0, PCI Express 2.0 and LLI 1.0 | |
CN101989250A (zh) | 一种串行通信的方法和系统 | |
US20080307121A1 (en) | Direct Memory Access Transfer Completion Notification | |
US6687744B1 (en) | Data processing system and method for permitting a server computer system to function as a virtual keyboard to a client computer system | |
CN117806721B (zh) | 故障诊断驱动加载方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160706 |
|
RJ01 | Rejection of invention patent application after publication |