CN101364202A - 一种基于Linux平台的程序调试的方法和装置 - Google Patents

一种基于Linux平台的程序调试的方法和装置 Download PDF

Info

Publication number
CN101364202A
CN101364202A CNA2008101493138A CN200810149313A CN101364202A CN 101364202 A CN101364202 A CN 101364202A CN A2008101493138 A CNA2008101493138 A CN A2008101493138A CN 200810149313 A CN200810149313 A CN 200810149313A CN 101364202 A CN101364202 A CN 101364202A
Authority
CN
China
Prior art keywords
serial line
line interface
usb
program
interface
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
CNA2008101493138A
Other languages
English (en)
Other versions
CN101364202B (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.)
Hisense Mobile Communications Technology Co Ltd
Original Assignee
Hisense Mobile Communications 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 Hisense Mobile Communications Technology Co Ltd filed Critical Hisense Mobile Communications Technology Co Ltd
Priority to CN2008101493138A priority Critical patent/CN101364202B/zh
Publication of CN101364202A publication Critical patent/CN101364202A/zh
Application granted granted Critical
Publication of CN101364202B publication Critical patent/CN101364202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明涉及嵌入式技术领域,特别涉及一种基于Linux平台的程序调试的方法和装置,用以解决现有技术中存在的如果串行接口全部被用来与其他功能接口通信或者串行接口没有被连接时,很难实现程序调试的问题。本发明实施例的方法包括:Linux内核调用预先存储的USB串行接口程序,执行所述USB串行接口程序,向控制台发送USB串行接口信号;所述控制台在收到所述USB串行接口信号后,与所述USB设备建立连接,通过所述USB设备的接口进行程序调试。采用本发明实施例的方法在串行接口全部被用来与其他功能接口通信或者串行接口没有被连接时,通过USB设备的接口可以对程序进行调试,从而提供另外一种程序调试的方法,提高了调试效率。

Description

一种基于Linux平台的程序调试的方法和装置
技术领域
本发明涉及嵌入式技术领域,特别涉及一种基于Linux平台的程序调试的方法和装置。
背景技术
随着移动终端的功能越来越强大,使得移动终端需要有更多的接口来支持这些功能。比如耳机接口、串行接口、充电器接口等等。但是,用户在追求移动终端功能强大的同时,也期望手机的外型更小巧,更美观。显然,如果将众多的接口都相互独立,将导致移动终端的体积增大,整个机身都是硬件的接口,在结构设计上也增加了难度。
因此,现在许多移动终端都将不同功能的接口合成一个接口,即耳机接口、充电器接口、串行接口等,都通过一个迷你通用串行总线(Universal Serial Bus,USB)接口实现。当移动终端上插入某个设备时,通过硬件的开关切换来实现接口不同的功能。
目前移动终端上的程序调试方法包括:
(1)移动终端的串行接口与调试设备连接后,移动终端中的用户层将日志(LOG)发送给移动终端中的控制台,由控制台通过串行接口将LOG发送给调试设备;
(2)调试设备在进行调试时,向移动终端发送调试命令;
(3)控制台通过串行接口接收到调试命令后,执行该调试命令。
上述程序调试方法是通过串行接口输出LOG的方式来完成,如果移动终端的迷你USB口插入USB线,而不是串行接口线时或者所有的串行接口都被占用时,程序运行的LOG将无法从串行接口输出。
综上所述,目前如果串行接口全部被占用或者串行接口没有被连接时,很难实现程序调试。
发明内容
本发明实施例提供一种基于Linux平台的程序调试的方法和装置,用以解决现有技术中存在的如果串行接口全部被占用或者串行接口没有被连接时,很难实现程序调试的问题。
本发明实施例提供的一种基于Linux平台的程序调试的方法包括:
Linux内核调用预先存储的USB串行接口程序;
所述Linux内核执行所述USB串行接口程序,所述USB串行接口程序用于对USB设备进行初始化;
所述Linux内核执行所述USB串行接口程序后,向控制台发送USB串行接口信号;
所述控制台在收到所述USB串行接口信号后,与所述USB设备建立连接,通过所述USB设备的接口进行程序调试。
本发明实施例提供的一种基于Linux平台的程序调试的装置包括:
调用模块,用于调用预先存储的USB串行接口程序;
初始化模块,用于执行所述USB串行接口程序,所述USB串行接口程序用于对USB设备进行初始化;
发送模块,用于在所述初始化模块执行所述USB串行接口程序后,发送USB串行接口信号;
连接模块,用于在收到所述USB串行接口信号后,与所述USB设备建立连接;
调试模块,用于通过所述USB设备的接口对应的接口进行程序调试。
本发明实施例Linux内核调用预先存储的USB串行接口程序;所述Linux内核执行所述USB串行接口程序,所述USB串行接口程序用于对USB设备进行初始化;所述Linux内核执行所述USB串行接口程序后,向控制台发送USB串行接口信号;所述控制台在收到所述USB串行接口信号后,与所述USB设备建立连接,通过所述USB设备的接口进行程序调试。由于程序运行的LOG可以从USB设备的接口发送,在串行接口全部被占用或者串行接口没有被连接时,可以对程序进行调试,从而提供另外一种程序调试的方法,提高了调试效率。
附图说明
图1为本发明实施例基于Linux平台的程序调试的装置结构示意图;
图2为本发明实施例基于Linux平台的程序调试的方法流程示意图。
具体实施方式
本发明实施例Linux内核根据USB串行接口程序,对USB设备进行初始化操作;控制台与进行初始化的USB设备建立连接,通过该USB设备的接口进行程序调试,由于程序运行的LOG可以从USB设备的接口发送,在串行接口全部被占用或者串行接口没有被连接时,可以对程序进行调试,从而提高了程序调试的效率。
如图1所示,本发明实施例基于Linux平台的程序调试的装置包括:调用模块10、初始化模块20、发送模块30、连接模块40和调试模块50。
调用模块10,用于调用预先存储的USB串行接口程序。
具体的,调用模块10先确定预先存储的USB串行接口程序(一般USB串行接口程序是封装成一个USB串行接口模块),然后再读取USB串行接口程序(即加载初始化信息)。
初始化模块20,用于执行USB串行接口程序。
其中,USB串行接口程序用于对USB设备进行初始化。
发送模块30,用于在初始化模块20执行USB串行接口程序后,向连接模块40发送USB串行接口信号。
连接模块40,用于在收到发送模块30的USB串行接口信号后,与USB设备建立连接(即定位到USB设备)。
如果连接模块40在与USB设备建立连接前还与其他设备进行连接,比如装置内部的串行接口设备,这时需要现断开与串行接口设备的连接,再与USB设备进行连接。
其中,连接模块40还可以进一步包括:设备确定模块400和设备连接模块410。
设备确定模块400,用于在收到发送模块30的USB串行接口信号后,确定需要连接的设备为USB设备。
设备连接模块410,用于与设备确定模块400确定的USB设备建立连接。
在具体实施过程中,设备确定模块400可以根据预先建立的USB串行接口信号和路径信息的对应关系,确定收到的USB串行接口信号对应的路径信息;则设备连接模块410根据路径信息查找对应的设备文件,并从查找到的设备文件中确定设备标识,与设备标识对应的USB设备建立连接。
需要说明的是,本实施例并不局限于上述一个方式,任何可以根据USB串行接口信号确定对应设备的方式都适用本实施里,比如预先建立USB串行接口信号和设备表示的对应关系;或者可以预先设置以固定关系,即设备确定模块400只要收到USB串行接口信号,就确定对应的设备为USB设备。
调试模块50,用于在连接模块40与USB设备建立连接后,通过USB设备的接口进行程序调试。
其中,调试模块50还可以进一步包括:第一转发模块500和第二转发模块510。
第一转发模块500,用于将收到的来自用户层模块的LOG通过USB设备的接口发送。
第二转发模块510,用于通过USB设备的接口收到调试命令后,在LINUX内核中执行。
其中,本发明实施例基于Linux平台的程序调试的装置还可以进一步包括:配置模块60。
配置模块60,用于在初始化模块20执行USB串行接口程序前,调用模块10调用预先存储的USB串行接口程序后,根据USB标准协议,对USB设备进行配置。
其中,本发明实施例程序调试的装置还可以进一步包括:删除模块70和断开模块80。
删除模块70,用于在程序调试结束后,删除调用模块10调用的USB串行接口程序(即卸载USB串行接口程序),并向断开模块80发送USB串行接口删除信号。
在具体实施过程中,删除模块70确定程序调试结束的方式包括但不限于下列方式中得一种:
USB设备的接口的USB线拔出;调试设备发送USB串行接口删除的命令;调试过程中断。
断开模块80,用于收到来自删除模块70的USB串行接口删除信号后,断开连接模块40与USB设备建立的连接。
如果连接模块40在与USB设备建立连接前还与其他设备进行连接,比如装置内部的串行接口设备,在断开模块80断开连接模块40与USB设备建立的连接后,连接模块40还可以重新与其他设备进行连接。
在具体实施过程中,调用模块10、初始化模块20、发送模块30、配置模块60和删除模块70可以在Linux内核中;
连接模块40、调试模块50和断开模块80可以置于控制台中。
如图2所示,本发明实施例基于Linux平台的程序调试的方法包括下列步骤:
步骤200、Linux内核调用预先存储的USB串行接口程序。
在具体实施过程中,触发Linux内核调用预先存储的USB串行接口程序的方式包括但不限于下列方式中的一种:
USB设备的接口插入USB线,并且选择开启USB串行接口功能;USB设备的接口插入USB线后,在调试设备上会出现一个USB转串行接口的硬件设备,可以通过串行接口工具将该串行接口打开。
具体的,Linux内核先确定预先存储的USB串行接口程序(一般USB串行接口程序是封装成一个USB串行接口模块),然后再读取USB串行接口程序(即加载初始化信息)。
步骤201、Linux内核执行调用的USB串行接口程序。
其中,USB串行接口程序用于对USB设备进行初始化。
步骤202、Linux内核执行USB串行接口程序后,向控制台发送USB串行接口信号。
步骤203、控制台在收到来自Linux内核的USB串行接口信号后,与USB设备建立连接(即定位到USB设备),通过USB设备的接口进行程序调试。
如果控制台在与USB设备建立连接前还与其他设备进行连接,比如串行接口设备,这是需要现断开与串行接口设备的连接,再与USB设备进行连接。
其中,控制台与USB设备建立连接具体包括:
在收到来自Linux内核的USB串行接口信号后,确定需要连接的设备为USB设备,并与确定的USB设备建立连接。
在具体实施过程中,可以根据预先建立的USB串行接口信号和路径信息的对应关系,确定收到的USB串行接口信号对应的路径信息;根据路径信息查找对应的设备文件,并从查找到的设备文件中确定设备标识,与设备标识对应的USB设备建立连接。
需要说明的是,本实施例并不局限于上述一个方式,任何可以根据USB串行接口信号确定对应设备的方式都适用本实施里,比如预先建立USB串行接口信号和设备表示的对应关系;或者可以预先设置以固定关系,即只要收到USB串行接口信号,就确定对应的设备为USB设备。
其中,控制台通过USB设备的接口进行程序调试具体包括:
控制台将收到的来自用户层的LOG通过USB设备的接口发送;
控制台通过USB设备的接口收到调试命令后,在LINUX内核中执行。
其中,步骤200和步骤201之间还可以进一步包括:
Linux内核根据USB标准协议,对USB设备进行配置。
其中,步骤203之后还可以进一步包括:
步骤204、Linux内核在程序调试结束后,删除调用的USB串行接口程序(即卸载USB串行接口程序),并向控制台发送USB串行接口删除信号。
在具体实施过程中,Linux内核确定程序调试结束的方式包括但不限于下列方式中得一种:
USB设备的接口的USB线拔出;调试设备发送调试结束的命令;调试过程中断。
步骤205、控制台收到来自USB串行接口处理模块的USB串行接口删除信号后,断开与USB设备建立的连接。
如果控制台在与USB设备建立连接前还与其他设备进行连接,比如串行接口设备,在断开与USB设备建立的连接后,还可以重新与其他设备进行连接。
从上述实施例中可以看出:本发明实施例Linux内核调用预先存储的USB串行接口程序;所述Linux内核执行所述USB串行接口程序,所述USB串行接口程序用于对USB设备进行初始化;所述Linux内核执行所述USB串行接口程序后,向控制台发送USB串行接口信号;所述控制台在收到所述USB串行接口信号后,与所述USB设备建立连接,通过所述USB设备的接口进行程序调试。由于程序运行的LOG可以从USB设备的接口发送,串行接口全部被占用或者串行接口没有被连接,可以对程序进行调试,从而提供另外一种程序调试的方法,提高了调试效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种基于Linux平台的程序调试的方法,其特征在于,该方法包括:
Linux内核调用预先存储的USB串行接口程序;
所述Linux内核执行所述USB串行接口程序,所述USB串行接口程序用于对USB设备进行初始化;
所述Linux内核执行所述USB串行接口程序后,向控制台发送USB串行接口信号;
所述控制台在收到所述USB串行接口信号后,与所述USB设备建立连接,通过所述USB设备的接口进行程序调试。
2.如权利要求1所述的方法,其特征在于,所述Linux内核执行所述USB串行接口程序之前还包括:
所述Linux内核根据所述USB标准协议,对USB设备进行配置。
3.如权利要求1所述的方法,其特征在于,所述控制台与所述USB设备对应的接口建立连接包括:
所述控制台在收到来自所述Linux内核的USB串行接口信号后,确定需要连接的设备为USB设备,并与确定的USB设备建立连接。
4.如权利要求1所述的方法,其特征在于,所述控制台通过所述USB设备的接口进行程序调试包括:
所述控制台将收到的来自用户层的日志LOG通过所述USB设备的接口发送;
所述控制台通过所述USB设备的接口收到调试命令后,执行所述调试命令。
5.如权利要求1-4任一权利要求所述的方法,其特征在于,所述控制台通过所述USB设备的接口进行程序调试后还包括:
所述Linux内核在程序调试结束后,删除调用的所述USB串行接口程序,并向所述控制台发送USB串行接口删除信号;
所述控制台收到所述USB串行接口删除信号后,断开与所述USB设备建立的连接。
6.一种基于Linux平台的程序调试的装置,其特征在于,该装置包括:
调用模块,用于调用预先存储的USB串行接口程序;
初始化模块,用于执行所述USB串行接口程序,所述USB串行接口程序用于对USB设备进行初始化;
发送模块,用于在所述初始化模块执行所述USB串行接口程序后,发送USB串行接口信号;
连接模块,用于在收到所述USB串行接口信号后,与所述USB设备建立连接;
调试模块,用于通过所述USB设备的接口对应的接口进行程序调试。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
配置模块,用于在所述初始化模块执行所述USB串行接口程序前,根据USB标准协议,对所述USB设备进行配置。
8.如权利要求6所述的装置,其特征在于,所述连接模块包括:
设备确定模块,用于在收到所述USB串行接口信号后,确定需要连接的设备为USB设备;
设备连接模块,用于与所述设备确定模块确定的USB设备建立连接。
9.如权利要求6所述的装置,其特征在于,所述调试模块包括:
第一转发模块,用于将收到的来自用户层的LOG通过所述USB设备的接口发送;
第二转发模块,用于通过所述USB设备的接口收到的调试命令后,执行所述调试命令。
10.如权利要求6-9任一权利要求所述的装置,其特征在于,所述装置还包括:
删除模块,用于在程序调试结束后,删除调用的所述USB串行接口程序,并发送USB串行接口删除信号;
断开模块,用于收到所述USB串行接口删除信号后,断开与所述USB设备建立的连接。
CN2008101493138A 2008-09-17 2008-09-17 一种基于Linux平台的程序调试的方法和装置 Active CN101364202B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101493138A CN101364202B (zh) 2008-09-17 2008-09-17 一种基于Linux平台的程序调试的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101493138A CN101364202B (zh) 2008-09-17 2008-09-17 一种基于Linux平台的程序调试的方法和装置

Publications (2)

Publication Number Publication Date
CN101364202A true CN101364202A (zh) 2009-02-11
CN101364202B CN101364202B (zh) 2011-12-14

Family

ID=40390576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101493138A Active CN101364202B (zh) 2008-09-17 2008-09-17 一种基于Linux平台的程序调试的方法和装置

Country Status (1)

Country Link
CN (1) CN101364202B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354623A (zh) * 2015-07-16 2017-01-25 深圳市奇辉电气有限公司 一种基于linux的应用程序调试方法及装置
CN107992407A (zh) * 2017-11-15 2018-05-04 烽火通信科技股份有限公司 使用u盘对安卓终端设备调试的系统及方法
CN110795375A (zh) * 2019-10-31 2020-02-14 浪潮金融信息技术有限公司 一种基于linux下操作串口及HID外设的通讯方法
CN111221686A (zh) * 2018-11-27 2020-06-02 维谛技术有限公司 一种使linux设备支持串口命令行的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354623A (zh) * 2015-07-16 2017-01-25 深圳市奇辉电气有限公司 一种基于linux的应用程序调试方法及装置
CN107992407A (zh) * 2017-11-15 2018-05-04 烽火通信科技股份有限公司 使用u盘对安卓终端设备调试的系统及方法
CN111221686A (zh) * 2018-11-27 2020-06-02 维谛技术有限公司 一种使linux设备支持串口命令行的方法
CN111221686B (zh) * 2018-11-27 2023-08-25 维谛技术有限公司 一种使linux设备支持串口命令行的方法
CN110795375A (zh) * 2019-10-31 2020-02-14 浪潮金融信息技术有限公司 一种基于linux下操作串口及HID外设的通讯方法

Also Published As

Publication number Publication date
CN101364202B (zh) 2011-12-14

Similar Documents

Publication Publication Date Title
CN102857272B (zh) 短距离无线通信装置
KR101375002B1 (ko) Cdma와 gsm을 지원하는 듀얼모드 디지털 이동통신 단말기
CN106502826B (zh) 数据备份及传输方法及移动终端
CN102143266A (zh) 一种将移动终端usb接口扩展为串口通信接口的方法
CN101534349A (zh) 在移动终端中确定外部连接装置的方法和设备
CN102917326B (zh) 双卡双通终端的通信方法、装置及双卡双通终端
CN201805529U (zh) 一种串口下载线和耳机共用的耳机接口及移动终端
CN107613126B (zh) Uart与usb复用电路以及移动终端
CN105528229A (zh) 提高移动终端首次开机速度的方法及装置
CN101364202B (zh) 一种基于Linux平台的程序调试的方法和装置
CN102457618A (zh) 一种新型移动通信终端
CN103376871A (zh) 在寄主模式下执行充电操作的系统、设备以及方法
CN100541384C (zh) 使用无线通信终端提供抗病毒程序的系统和方法
CN102158575A (zh) 一种将移动终端usb接口扩展为耳机接口的方法
CN106997302A (zh) 固件升级方法、装置及音频播放设备
CN111596881A (zh) 音频播放设备、系统、切换方法及蓝牙音箱、蓝牙耳机
CN111601290A (zh) 蓝牙音箱及耳机、蓝牙音频播放设备及系统、切换方法
CN104572311A (zh) 一种基于蓝牙的应用程序同步装置及方法
KR101139647B1 (ko) 이동통신 단말기에서의 다기능 인터페이스 장치
CN105577635A (zh) 一种文件传输方法及移动终端
CN102354278A (zh) 一种音频数据的处理方法和设备
CN202634658U (zh) 一种多功能蓝牙耳机
CN103795853B (zh) 耳机接口适配设备的连接切换方法及终端
CN102591809B (zh) 实现手机usb绑定的方法与装置
KR100651204B1 (ko) 휴대용 단말기에서 외부 장치와의 인터페이스 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant