使用Carbide c++ 2.0在S60 Nokia 6120C上搭建真机debug调试环境的要点

最近正式开始学习nokia s60方面的开发,碰到的第一个基础问题就是如何在真机上搭建debug调试环境。我用的手机是nokia 6120C,该手机的操作系统是Symbian OS v9.2,开发平台式是S60 3rd Edition, Feature Pack 1。

 

参考了各位先辈的carbide c++真机调试的文章,以及nokia官网的录像视频,相关链接见:
http://hi.baidu.com/refyl/blog/item/294f5ad11b15d6309b502788.html(carbide2.0如何联机调试)
http://blog.csdn.net/hhygcy/archive/2008/11/20/3339388.aspx(Carbide 联机调试惨痛经历)
http://blog.csdn.net/lius1984/archive/2008/06/19/2564254.aspx(S60真机调试手记)
http://www.forum.nokia.com/info/sw.nokia.com/id/7ce0e6e5-737b-4ac4-8959-9367281cd8ca/On_device_debugging_with_Carbide_cpp.html(视频 Carbide c++ 1.3)


结果第一次搭建还是导致手机频繁死机重启。经过疯狂google搜索+找人请教+在csdn/devdiv上发帖求助,外加一夜辗转反侧,无数次试验,终于把问题解决,不敢100%保证搭建真机调试一次成功,但上述血泪试验中总结出的一些经验相信对以后其他型号的真机调试还是有所帮助的,为此整理出该篇博文,留作记录。

 

一、男怕入错行,女怕嫁错郎。首先,你一定要选择适合调试真机的TRK。否则,不但你的手机一启动TRK就可能自动重启,而且就算你万幸成功启动TRK,一旦开始debug,你的手机100%会黑屏重启,debug当然也100%失败。

 

 

调试手机的开发平台和carbide c++ 2.0的device OS对应关系估计是这样的:
1、s60 3.0.0对应的是S60 3rd Ed
2、s60 3.1.0对应的是S60 3rd Ed FP1
3、s60 3.2.0对应的是S60 3rd Ed FP2
4、s60 5.0.0对应的是S60 5th Ed

不清楚调试手机对应什么操作系统的话可以去nokia的官网查询:
http://www.forum.nokia.com/devices/

 

如果你想让carbide c++ 2.0自己下载最新的TRK,可以通过Debug Configurations -> Symbian OS Application TRK -> your App Phone Debug(GCCE)->Main -> Use connection -> Edit -> Next -> Install remote agents,选择适合的最新版TRK,然后点下面的“Install”按钮,该安装方式会自动联网并从下载你选中的TRK,然后自动安装到连接到电脑的调试手机上(没反应的话多点几次)。如果你的电脑没联网或者不想使用最新的TRK,也可以自己从carbide的安装目录下,相对路径是/Carbide.c++ v2.0/plugins/com.nokia.carbide.trk.support_1.4.0.014/trk/s60,找到相对应的TRK 3.0.8安装包,我测试过,只要选对device OS(见上面的对应关系),不管是TRK 3.0.8还是TRK 3.1.2,都可以成功搭建真机调试环境。

 

注意:TRK 3.08和TRK 3.1.2相比,可以多修改一项设置,即连接所用的Port,TRK 3.1.2估计是想简化开发者的配置,将Port强制设为1,且不能修改。但是,假如你调试的电脑的COM1已被被其他外设占用,Nokia PC套件只能使用其他COM口来建立电脑和手机之间的通讯的话,悲剧估计就要发生了......

 

二、万事俱备,只欠东风?确保调试手机和电脑连好,安装并启动了合适的TRK后,在carbide c++的Set Connection Settings的“Serial Port”中选择你手机所用的COM口,Device OS中也选对了调试手机的操作系统,点击“Ensure TRK is running on the device”中“Initiate service testing”按钮,返回了类似“Installed TRK is latest available version: version = 3.x.x”的信息。但是,一开始真机调试,还是失败。悲剧啊,Why?

 

别急,你先检查一下,电脑的“设备管理器”的“端口(COM和LPT)”中,调试手机所用的COM口是几?然后再看看调试手机上TRK的Port是几?2者相同吗?不同的话,恭喜,你碰到我曾经碰到的第二个悲剧了。闲话一下,我使用电脑的前置USB口和手机相连,系统居然分配了COM17用来和调试手机建立连接,而我手机上安装的TRK是3.1.2,Port永远都是1,悲剧就这样发生了。相同呢?相同还是调试失败的话,我也没辙了,你再去google试试吧。

 

如果相同的悲剧已经上演,还是有办法把它转变为正剧的。回到电脑的“设备管理器”,选择调试手机所用的COM口,进入其属性配置窗口,在“端口设置”中,点下面的“高级”,哈哈,可以修改端口号,赶紧把端口号改成TRK中设定的端口号,一路确定。赶紧再试试吧...

 

 

三、屡战屡败?还是失败的话,试试Windows蓝屏的经典解决办法吧,把电脑和手机都重启一次,重新连接好,确定2者使用相同的COM口连接,“Initiate service testing”也成功后,再试验一下吧。坚持就是一切,在我这运气极度匮乏的人生中,我无数次的证明了这句话的正确性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值