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

文档序号:6466603阅读:103来源:国知局
专利名称:一种基于Linux平台的程序调试的方法和装置的制作方法
技术领域
本发明涉及嵌入式技术领域,特别涉及一种基于Linux平台的程序调试的 方法和装置。
背景技术
随着移动终端的功能越来越强大,使得移动终端需要有更多的接口来支持 这些功能。比如耳机接口、串行接口、充电器接口等等。但是,用户在追求移 动终端功能强大的同时,也期望手机的外型更小巧,更美观。显然,如果将众 多的接口都相互独立,将导致移动终端的体积增大,整个^/L身都是硬件的接口, 在结构设计上也增加了难度。
因此,现在许多移动终端都将不同功能的接口合成一个接口 ,即耳机接口 、 充电器接口、串行接口等,都通过一个迷你通用串行总线(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平台的程序调试的装置包括调用 模块IO、初始化模块20、发送模块30、连接模块40和调试模块50。 调用模块IO,用于调用预先存储的USB串行接口程序。 具体的,调用模块IO先确定预先存储的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串行接口程序前,调用模块 IO调用预先存储的USB串行接口程序后,根据USB标准协议,对USB设备
进行配置。
其中,本发明实施例程序调试的装置还可以进一步包括删除^f莫块70和 断开模块80。
删除模块70,用于在程序调试结束后,删除调用模块IO调用的USB串行 接口程序(即卸载USB串行接口程序),并向断开模块80发送USB串行接口 删除信号。
在具体实施过程中,删除模块70确定程序调试结束的方式包括但不限于 下列方式中得一种
USB设备的接口的USB线拔出;调试设备发送USB串行接口删除的命令; 调试过程中断。
断开模块80,用于收到来自删除模块70的USB串行接口删除信号后,断 开连接模块40与USB设备建立的连接。
如果连接模块40在与USB设备建立连接前还与其他设备进行连接,比如 装置内部的串行接口设备,在断开模块80断开连接模块40与USB设备建立 的连接后,连接模块40还可以重新与其他设备进行连接。
在具体实施过程中,调用模块IO、初始化模块20、发送模块30、配置模 块60和删除模块70可以在Linux内核中;
连接模块40、调试模块50和断开模块80可以置于控制台中。
步骤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设备的接口发送,串行接口全部被 占用或者串行接口没有被连接,可以对程序进行调试,从而提供另外一种程序 调试的方法,提高了调试效率。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种基于Linux平台的程序调试的方法,其特征在于,该方法包括Linux内核调用预先存储的USB串行接口程序;所述Linux内核执行所述USB串行接口程序,所述USB串行接口程序用于对USB设备进行初始化;所述Linux内核执行所述USB串行接口程序后,向控制台发送USB串行接口信号;所述控制台在收到所述USB串行接口信号后,与所述USB设备建立连接,通过所述USB设备的接口进行程序调试。
2、 如权利要求1所述的方法,其特征在于,所述Linux内核执行所述USB 串行接口程序之前还包括所述Linux内核根据所述USB标准协议,对USB设备进行配置。
3、 如权利要求l所述的方法,其特征在于,所述控制台与所述USB设备 对应的接口建立连接包括所述控制台在收到来自所迷Linux内核的USB串行接口信号后,确定需 要连接的设备为USB设备,并与确定的USB设备建立连接。
4、 如权利要求l所述的方法,其特征在于,所述控制台通过所述USB设 备的接口进行程序调试包括所述控制台将收到的来自用户层的日志LOG通过所述USB设备的接口发送;所述控制台通过所述USB设备的接口收到调试命令后,执行所述调试命令。
5、 如权利要求l-4任一权利要求所述的方法,其特征在于,所述控制台 通过所述USB设备的接口进行程序调试后还包括所述Linux内核在程序调试结束后,删除调用的所述USB串行接口程序, 并向所述控制台发送USB串行接口删除信号; 所述控制台收到所述USB串行接口删除信号后,断开与所述USBi殳备建 立的连接。
6、 一种基于Linux平台的程序调试的装置,其特征在于,该装置包括 调用模块,用于调用预先存储的USB串4亍接口程序;初始化模块,用于执行所述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设 备建立的连接。
全文摘要
本发明涉及嵌入式技术领域,特别涉及一种基于Linux平台的程序调试的方法和装置,用以解决现有技术中存在的如果串行接口全部被用来与其他功能接口通信或者串行接口没有被连接时,很难实现程序调试的问题。本发明实施例的方法包括Linux内核调用预先存储的USB串行接口程序,执行所述USB串行接口程序,向控制台发送USB串行接口信号;所述控制台在收到所述USB串行接口信号后,与所述USB设备建立连接,通过所述USB设备的接口进行程序调试。采用本发明实施例的方法在串行接口全部被用来与其他功能接口通信或者串行接口没有被连接时,通过USB设备的接口可以对程序进行调试,从而提供另外一种程序调试的方法,提高了调试效率。
文档编号G06F11/36GK101364202SQ20081014931
公开日2009年2月11日 申请日期2008年9月17日 优先权日2008年9月17日
发明者孔志强 申请人:青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1