CN101650686A - 一种基于Ethernet Over USB的智能手机开发和使用方法 - Google Patents
一种基于Ethernet Over USB的智能手机开发和使用方法 Download PDFInfo
- Publication number
- CN101650686A CN101650686A CN200910051529A CN200910051529A CN101650686A CN 101650686 A CN101650686 A CN 101650686A CN 200910051529 A CN200910051529 A CN 200910051529A CN 200910051529 A CN200910051529 A CN 200910051529A CN 101650686 A CN101650686 A CN 101650686A
- Authority
- CN
- China
- Prior art keywords
- mobile phone
- usb
- user application
- data
- ethernet
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种基于Ethernet Over USB的智能手机开发调试方法,和一种对用户开放的使用手机的方法,包括以下步骤:手机启动时,使手机进入调试模式或加强模式;加载USB转Ethernet驱动模块;启动一个socket守护进程,监听相应模式下专有的几个端口;通过USB线将手机和PC连接起来并启动PC端的用户应用程序;应用程序接收用户输入并通过基于USB的Ethernet socket接口发送给手机端的server进程;server进程处理接收到的数据。本发明使智能手机开发方式从串行变成并行进行,提高了开发调试进度,并且给用户提供了一种快速方便的使用手机的方法。
Description
技术领域
本发明涉及一种基于Ethernet Over USB的智能手机开发和使用的方法。
背景技术
大多数智能手机采用应用处理器(Application Processor,缩写AP)+基带处理器(Cooperate Processor,缩写CP)的系统架构,应用处理器专用于运行操作系统和处理高负荷的多媒体应用,基带处理器所在的通信模块完成和无线网络交互的功能,如打电话、发短信、上网等功能。这种架构可以很好适应现在网络制式多样化的特点,因为只需对CP模块进行更换就可以做成另外一种制式的手机,保留了之前在AP端所做的大部分工作。
在手机开发的初期,AP端和CP端的软件需要做相对独立的开发和调试,大部分的移植或开发工作集中在应用处理器端驱动的开发和移植,包括各种外设的驱动,如LCD,键盘,触摸屏等。驱动的开发是一个相对复杂和缓慢的过程,传统的方式是GUI(Graphical UserInterface,图形用户界面)和驱动的调试串行进行,特别是在触摸屏和键盘的驱动没有开发好之前,GUI的调试基本不能进行;另外,传统方式上AP端和CP端程序的开发串行进行,在AP侧应用程序不可运行前,集成于手机中的CP模块很难调试,基本只能在EVB板上简单的测试AT命令集。所以可以看出这样的串行开发模式使项目的进度将十分缓慢。
此外,通过手机键盘发短信或写邮件,对于繁忙的用户来说是一件十分痛苦的事情,所以如果可以通过PC来完成这些工作,那将是很十分快捷和方便的,另外手机中资料的备份对于用户来说也是十分重要的。
发明内容
为了解决上述问题,同时由于智能手机外部接口多采用一个MiniUSB的接口以实现标准化和降低成本,因此本发明提供了一种基于Ethernet Over USB的智能手机开发和使用方法,该方法使智能手机开发方式从串行变成并行进行,提高了开发进度,并且对于终端用户来说方便和扩展了其对手机的使用。
本发明所提供的一种基于Ethernet Over USB的智能手机开发和使用方法,包括以下步骤:
步骤一:手机上电,内核启动,启动上层GUI及应用系统,GUI根据内核启动参数的不同,可以选择进入正常模式,调试模式或加强模式,进入正常模式则正常使用手机;
步骤二:如果进入调试或加强模式,则加载USB转Ethernet驱动模块,并读取配置文件,设置手机IP地址;
步骤三:GUI系统启动一个守护进程,监听一组专有的端口序列;
步骤四:将手机通过USB连接线连接一个PC(Personal Computer),PC端加载“usbnet”驱动模块,并设置与手机同一网段内的IP地址;
步骤五:启动PC端用户应用程序,不同的用户应用程序对应不同的端口;
步骤六:用户应用程序接收用户输入的数据并通过基于USB的Ethernet socket接口发送给手机端的server进程,server进程处理接收到的数据。
如上所述的方法,手机进入调试模式或加强模式会启动一个守护进程,监听不同的端口序列。其中调试模式只供开发人员使用,守护程序会读取PC端用户应用程序通过USB发送过来的触摸屏或键盘模拟数据,并将数据发送给系统管理程序,代替系统管理程序从驱动读取的触摸屏或键盘数据,因此,本发明所提供的方法在触摸屏驱动和键盘驱动还没有开发好或触摸屏损坏的情况下,应用软件开发不受影响;同时调试模式下守护程序还可以读取PC端用户应用程序发送过来的AT命令数据并发送给CP,由于是通过PC端用户应用程序调试手机中的CP程序,因此CP的初期调试不受GUI系统开发的影响。
所述的加强模式相对于调试模式少了一些功能,是对手机用户开放的,允许用户通过这种基于USB的用户和守护进程架构,完成短信、Email发送和电话拨打,或资料的备份。
此外,本法所提供的方法相对于USB转串口方式具有很好的扩展性,不会一个程序独占数据线,而是所有应用程序共享数据线。这样可以在此基础上开发出很多应用程序,但它们使用自有的端口,守护进程监听所有用户应用程序的端口。可以扩展的程序包括智能手机打trace程序,手机资料备份程序或NFS应用等。
附图说明
图1是本发明手机启动程序执行流程图。
图2是本发明手机端守护程序通过USB socket读取PC端用户应用程序模拟的触摸屏与键盘输入值的示意图。
图3是本发明手机端守护程序执行流程图。
具体实施方式
下面结合附图和实施例对本发明的具体实施方式做进一步详细的说明,但不应以此限制本发明的保护范围。
由于Linux系统的开放性和高效性,在智能手机中采用的越来越广泛,为了便于详细说明,本发明的实施例以Linux系统的智能手机为例来进行说明。
步骤一:手机上电,内核启动,启动上层GUI及应用系统,GUI根据内核启动参数的不同,可以选择进入正常模式,调试模式或加强模式。
手机上电启动后,首先操作系统内核会运行,完成系统硬件初始化工作,然后再通过一个脚本启动上层GUI和系统管理程序,GUI程序会根据脚本输入参数的不同,选择进入不一样的模式,包括正常运行模式,调试模式和加强模式。正常模式不会运行一个监听专有端口的守护进程,调试模式或加强模式则会启动一个守护进程,监听不同的端口序列。其中,所述调试模式只供开发人员使用,所述加强模式相对于调试模式少了一些功能,是对手机用户开放的。
步骤二:如果进入调试或加强模式,则加载USB转Ethernet驱动模块,并读取配置文件,设置本机IP地址。
USB转Ethernet驱动模块需要根据手机的USB硬件进行定制,在Linux智能手机中一般为g_ether.ko,它能通过USB数据线发送TCP/IP数据包。
步骤三:GUI系统启动一个守护进程,监听一组专有的端口序列。
步骤四:通过USB连接线将手机相连一个PC,PC端加载“usbnet”驱动模块,并设置与手机同一网段内的IP地址。
PC端也需要加载usbnet.ko驱动模块,通过USB数据发送TCP/IP数据包,完成和手机的socket通信。
步骤五:启动PC端用户应用程序,不同的用户应用程序对应不同的端口。
PC端用户应用程序可以包括模拟触摸屏或键盘的输入或取得开发人员输入的AT命令等。
如图2所示,用户通过PC端用户应用程序从PC键盘,模拟触摸屏输入,而手机端的守护程序会读取通过USB连接线发送过来的触摸屏或键盘模拟数据,发送给手机的系统管理程序,代替系统管理程序从手机驱动读取的触摸屏或键盘数据。
步骤六:手机端的守护进程通过socket规范与PC端的用户进程进行通信,即用户应用程序接收用户输入的数据并通过基于USB的Ethernet socket接口发送给手机端的server进程,server进程处理接收到的数据。
上述方法中,守护进程启动后,会根据进入的模式选择监听的端口,在Linux系统下采用select或poll机制监测端口序列,监测是否有新用户应用程序加入或原有端口是否有数据。如果有新的用户应用程序加入,则将其加入到监听队列;如果有数据可读,根据端口号,判断其对应的用户应用程序的种类。如果端口有数据,手机的守护进程会根据端口号解析并处理数据,如发送给系统管理程序或发送给CP,也可以将从CP收到的短信或电话号码发送给PC以通知用户。
对于手机的开发调试而言,输入的数据,可以是模拟触摸屏或键盘的输入数据、取得开发人员输入的AT命令等。这样,手机系统可以不从驱动读取触摸屏或键盘值,而是通过USB socket读取专有端口上发来的数据并做相应响应,这个数据是PC端用户程序模拟手机屏幕和键盘获得的。同时,可以使CP端通信模块应用程序的开发和调试与AP侧与网络相关的应用程序开发相对独立,PC端用户程序提供界面供开发人员输入,如可以输入AT命令等,通过基于Ethernet Over USB的socket专有端口发给手机端的守护进程,守护进程读取到数据后会通过与CP连接的UART发送给CP,并会将CP的应答发送给PC,客户程序解析程序并显示给用户,如AT命令返回结果或来电号码等。通过这种方法,便可以调试基本上所有的手机网络功能。
对于手机用户而言,本发明可以提供用户在PC端进行短信和Email编辑的应用程序,用户可以通过USB socket与守护进程通信,完成与CP模块的数据发送与接收,从而加快了用户对手机的使用。
以上所述仅为本发明的较佳实施例而已,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化与修饰,都应为本发明的技术范畴。
Claims (8)
1.一种基于Ethernet Over USB的智能手机开发方法,包括以下步骤:
步骤一:手机启动时,输入相应的启动参数,使手机进入调试模式;
步骤二:加载USB转Ethernet驱动模块;
步骤三:启动一个socket守护进程,监听调试模式专有的几个端口;
步骤四:通过USB线将手机和一个PC连接起来;
步骤五:启动PC端的用户应用程序,不同的用户应用程序对应不同的端口,其中该用户应用程序为调试程序;
步骤六:所述用户应用程序接收用户输入的数据并通过基于USB的Ethernet socket接口发送给手机端的server进程,server进程处理接收到的数据。
2.如权利要求1所述的一种基于Ethernet Over USB的智能手机开发方法,其特征在于,所述步骤二中还包括设置手机的IP地址,所述步骤四中还包括在PC端加载“usbnet”驱动模块,并设置与手机同一网段内的IP地址。
3.如权利要求2所述的一种基于Ethernet Over USB的智能手机开发方法,其特征在于,步骤五中所述的用户应用程序,包括模拟触摸屏或键盘的输入、取得开发人员输入的AT命令等。
4.如权利要求3所述的一种基于Ethernet Over USB的智能手机开发方法,其特征在于,所述方法还包括:socket守护进程启动,建立对应与各个用户应用程序端口的socket;轮询每个socket,监听是否有新的用户应用程序加入或用户应用程序有数据发送过来;如果有新的用户应用程序加入,则将其加入到监听队列;如果有数据可读,根据端口号,判断其对应的用户应用程序的种类;分析并处理数据。
5.一种基于Ethernet Over USB的智能手机使用方法,包括以下步骤:
步骤一:手机启动时,输入相应的启动参数,使手机进入加强模式;
步骤二:加载USB转Ethernet驱动模块;
步骤三:启动一个socket守护进程,监听调试模式专有的几个端口;
步骤四:通过USB线将手机和一个PC连接起来;
步骤五:启动PC端的用户应用程序,不同的用户应用程序对应不同的端口,其中该用户应用程序为供手机用户使用的程序;
步骤六:所述用户应用程序接收用户输入的数据并通过基于USB的Ethernet socket接口发送给手机端的server进程,server进程处理接收到的数据。
6.如权利要求5所述的一种基于Ethernet Over USB的智能手机使用方法,其特征在于,所述步骤二中还包括设置手机的IP地址,所述步骤四中还包括在PC端加载“usbnet”驱动模块,并设置与手机同一网段内的IP地址。
7.如权利要求6所述的一种基于Ethernet Over USB的智能手机使用方法,其特征在于,步骤五中所述的用户应用程序,包括模拟触摸屏或键盘的输入等,从而使得手机用户可以借助于PC端完成短信和Email的编写发送、电话拨打及资料的备份等操作。
8.如权利要求7所述的一种基于Ethernet Over USB的智能手机使用方法,其特征在于,所述方法还包括:socket守护进程启动,建立对应与各个用户应用程序端口的socket;轮询每个socket,监听是否有新的用户应用程序加入或用户应用程序有数据发送过来;如果有新的用户应用程序加入,则将其加入到监听队列;如果有数据可读,根据端口号,判断其对应的用户应用程序的种类;分析并处理数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910051529A CN101650686A (zh) | 2009-05-19 | 2009-05-19 | 一种基于Ethernet Over USB的智能手机开发和使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910051529A CN101650686A (zh) | 2009-05-19 | 2009-05-19 | 一种基于Ethernet Over USB的智能手机开发和使用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101650686A true CN101650686A (zh) | 2010-02-17 |
Family
ID=41672925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910051529A Pending CN101650686A (zh) | 2009-05-19 | 2009-05-19 | 一种基于Ethernet Over USB的智能手机开发和使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101650686A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820447A (zh) * | 2010-03-31 | 2010-09-01 | 青岛海信宽带多媒体技术有限公司 | 软件升级方法及升级装置 |
CN101944022A (zh) * | 2010-09-03 | 2011-01-12 | 中国科学院软件研究所 | 一种面向Android及其衍生系统的UI对象操作模拟方法 |
CN102253891A (zh) * | 2011-08-26 | 2011-11-23 | 苏州瀚瑞微电子有限公司 | 利用gui调试触控屏的装置及方法 |
CN103905147A (zh) * | 2012-12-28 | 2014-07-02 | 联芯科技有限公司 | 数据处理方法、发送设备、接收设备和通信系统 |
CN105188083A (zh) * | 2015-08-25 | 2015-12-23 | 广东欧珀移动通信有限公司 | 测试智能终端应用下载速度的方法、装置和智能终端 |
-
2009
- 2009-05-19 CN CN200910051529A patent/CN101650686A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820447A (zh) * | 2010-03-31 | 2010-09-01 | 青岛海信宽带多媒体技术有限公司 | 软件升级方法及升级装置 |
CN101944022A (zh) * | 2010-09-03 | 2011-01-12 | 中国科学院软件研究所 | 一种面向Android及其衍生系统的UI对象操作模拟方法 |
CN102253891A (zh) * | 2011-08-26 | 2011-11-23 | 苏州瀚瑞微电子有限公司 | 利用gui调试触控屏的装置及方法 |
CN103905147A (zh) * | 2012-12-28 | 2014-07-02 | 联芯科技有限公司 | 数据处理方法、发送设备、接收设备和通信系统 |
CN103905147B (zh) * | 2012-12-28 | 2017-03-22 | 联芯科技有限公司 | 数据处理方法、发送设备、接收设备和通信系统 |
CN105188083A (zh) * | 2015-08-25 | 2015-12-23 | 广东欧珀移动通信有限公司 | 测试智能终端应用下载速度的方法、装置和智能终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100579261C (zh) | 一种模拟at命令上报的方法 | |
US7861225B2 (en) | System and method to combine debugging messages from diverse applications or operating systems executed within a mobile device | |
CN102541700A (zh) | 一种终端测试方法、测试设备及终端代理 | |
CN108362992B (zh) | 主板测试方法、装置、可读存储介质及测试终端 | |
CN101650686A (zh) | 一种基于Ethernet Over USB的智能手机开发和使用方法 | |
CN107357718A (zh) | 一种构建测试方法及装置 | |
CN103744787A (zh) | 一种手机自动化测试方法 | |
CN112114892A (zh) | 深度学习模型的获取方法、加载方法及选取方法 | |
CN107678949A (zh) | 实现嵌入式设备不同通信方式的自动化测试方法 | |
KR100704358B1 (ko) | 어플리케이션 os에의 이동 전화기의 도메스틱 os의 시스템-레벨 기능 연결 | |
CN112996020A (zh) | 一种基于蓝牙的自动化测试方法、装置及蓝牙测试终端 | |
CN100413359C (zh) | 移动终端 | |
CN106339617A (zh) | 终端设备的解锁方法及装置 | |
CN104679506B (zh) | 一种终端 | |
CN106371879A (zh) | 一种移动终端屏蔽无法删除的应用的方法及系统 | |
CN109660672A (zh) | 语音类型的转换方法、设备及计算机可读存储介质 | |
CN107391361B (zh) | 一种pos终端自动测试方法及装置 | |
CN103237050A (zh) | 智能语音交互方法和系统 | |
CN106506805A (zh) | 联系人头像图片生成方法及装置 | |
CN110990259A (zh) | 一种无键盘无屏幕设备的测试方法 | |
CN101296462A (zh) | 一种移动终端软件自动测试的批量执行的方法及系统 | |
CN102215501A (zh) | 实现无线模块at命令自动化测试的方法 | |
CN106034174A (zh) | 一种操作回放系统及方法以及移动终端 | |
CN115484343A (zh) | 基于微信小程序防止安卓手机与蓝牙设备数据传输丢失的方法 | |
CN106815497B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100217 |