您好,欢迎访问三七文档
韦礼吉2014-08-14开发常见问题培训开发常见问题培训•省晶体AP端和modem端的修改。•AP端和modem端如何进行交互。•如何查看modemlog。•如何查看GPS的log,对GPS信号弱的分析。•Fota升级的注意事项。•Recovery模式的路径。开发常见问题培训开发常见问题培训•如何做Fat分区。•如何编译各个模块最快。•系统各个模块的单步调试。•Git的常用操作。开发常见问题培训一、省晶体AP端和modem端的修改。•怎么是省晶体?在主板上省掉26M/xxxM晶体模块,这个是72和82板子一个降成本的方案。•省晶体对哪些有影响?FM,蓝牙,GPS。FM和蓝牙不能正常启动,GPS现象1:FM和蓝牙不能正常启动。现象2:GPS校准不过。现象3:GPS定位慢或是漂移。省晶体AP端和modem端的修改省晶体要做哪些修改?省晶体AP端和modem端的修改省晶体要做哪些修改?省晶体AP端和modem端的修改省晶体AP端和modem端的修改。•事故:传奇、万利达等一些客户都因为过晶体的问题出现过售后事故,几十K订单售后故障。还有因为晶体的影响到GPS信号问题,不止一个项目投入了硬件,软件,硬测,软测人力分析这类的GPS信号问题。同时也对客户的也造成极大影响。•警钟:每个新分支新项目要确认板子是晶体或是不省晶体。•参考:MT6572_6582_GPS_clock_load_setting_SOP_v1.1.pdf省晶体AP端和modem端的修改二、AP端和modem端如何进行交互。•Modem的概念。运行于系统之上的独立模块。主要处理网络通信协议,sim卡协议解析,基站信号处理等。相当于一个依赖于整个系统又独立系统之上的小系统。手机能不能通话,信号强度就取决取modem(软件上,硬件上的话就当让是天线信号强度)。开发过程中modem的最基本使用:1.每套代码中都有一套modem的独立源码。一般的文件夹(modem_td、modem_wcdma)2.从硬件射频获取对应频段射频文件(l1d_custom_rf.h、ul1d_custom_rf.h)。AP端和modem端如何进行交互•3.把头文件放到对应的modem路径(custom\modem\l1_rf\MT6166_2G_CUSTOM,custom\modem\ul1_rf\CUSTOM_MT6166)。•4.编译modem,(如82:./make.shEASTAEON82_WET_KK_HSPA.maknew)•5.copy编译出来的modem生成文件到mediatek/custom/common/modem/,并在ProjectConfig.mk指定CUSTOM_MODEM调用对应的modem(部分base合入了自动copy脚本,./modemCopy)。备注:每套代码的根木都有releasenote文件,(如:ReleaseNote_for_MT6572_KK1.MP6.xlsx),其中有一栏:Build_Configure_Modem_MOLY,告诉如何编译modem,该提取那些文件,如何命名。AP端和modem端如何进行交互AP端和modem端如何进行交互。•Modem的基本使用还包括:锁卡锁网,无卡紧急拨号,切换卡槽。锁卡:=ALPS.JB3.MP.V1_EASTAEON72_WET_JB3;a=commit;h=f4980d9d15b671b172aa2ba1d37cfea23d8b04fe紧急拨号:=ALPS.JB3.MP.V1_EASTAEON72_WET_JB3;a=commit;h=3b23fd2ee06523191adb165eab7eb7796ec45118切换卡槽:=ALPS.JB9.MP.V1.4_EASTAEON92_WET_JB9;a=commit;h=85f2b8c97b8bfed5cb4a5e8be93ad76b294bb67dAP端和modem端如何进行交互:AT指令AT指令可以AP端,驱动层,modem端一通到底。1.通过AT命令写imei号(程荣强)。2.在82+90单卡版本上做双卡单待(郑从隆、奉光跃)。AP端和modem端如何进行交互•1.通过AT命令写imei号(程荣强)。函数:voidinvokeOemRilRequestStrings(String[]strings,Messageresponse);路径:\frameworks\opt\telephony\src\java\com\android\internal\telephony\Phone.java从路径可以看出,这接口是不对外开放的,如果第三方应用使用可以使用反射方法。其中参数strings是具体的AT命令,response是一个回调方法,如果成功((AsyncResult)response.obj).exception)==null,否则调用失败•注意事项•1、AT指令读写数据一定要在phone进程中,否则会有权限异常,添加声明•2、invokeOemRilRequestStrings数以phone类的成员函数,调用该函数前要实例化phone,具体如下AP端和modem端如何进行交互•得到phone的实例化对象以后,就可以发送AT指令了,如:AP端和modem端如何进行交互得到phone的实例化对象以后,就可以发送AT指令了,如:mResponseHander回调方法如下•注意:如果AT命令有返回值的话返回值保存在ar.result中;AP端和modem端如何进行交互2.实现双卡单待时候,需要单独定制AT命令进行modem端与AP端交互(郑从隆):函数接口还是voidinvokeOemRilRequestStrings(String[]strings,Messageresponse);具体的的一个发送函数参数使用:AP端和modem端如何进行交互如何处理回调:AP端和modem端如何进行交互•MTKmodem端开放的客制化AT命令:路径:modem_v4/custom/modem/common/ps/customer_at_command.c函数:kal_boolcustom_command_hdlr(char*full_cmd_string)AP端和modem端如何进行交互AP端和modem端如何进行交互•扩展内容:如何重启modem。MTK提供的方案是:RIL.java中resetRadio这个方法来实现。通过搜java代码:frameworks/opt/telephony/src/java/com/android/internal/telephony/uicc/UiccController.javaAP端和modem端如何进行交互•扩展内容:如何重启modem。•结论:重启modem上层只需发送广播。如何查看modemlog三、如何查看modemlog。•Modemlog。开发一个功能或是解决故障,驱动:串口log、kenerllog、bootlog。上层:单步调试、adblogcat、mobilelog。案列上次我们开发modem端的功能,无法查看modem端的log,我们就靠修改了之后烧机验证,同步提log给MTK分析。这个开发周期消耗了2到3倍或是更长的时间周期。mtk后面释放了ELT工具来查看modem端的log。如何查看modemlog•使用ELT准备工作:对于modemissueanalysis所需log和文件–1.mtklogger下开启的ModemLog,MobileLog,NetworkLog–2.对应版本的database文件。如何查看modemlog•文档说明:ELT软件包Document目录:ELT_Logging.pdfELT_User_Manual_Customer.pdf文档中有比较全面的log查看操作。1.设置database路径。2.打开mtklog=》extmdlog=》ExtMDLog_2014_0601_xxxx_EE_ASSERT=》ExtMDLog_2014_0601_xxxx.muxraw文件。3.Loading完成之后=》view=》对应的trace。(建议使用systemtrace接口)AP端和modem端如何进行交互•1.设置database:AP端和modem端如何进行交互•2.打开xxxx.muxraw文件。AP端和modem端如何进行交互•3.搜索查看自己添加的log内容:AP端和modem端如何进行交互•ELT查看modemlog的不完善部分:无法查看modembootup部分的log。MTK提供的办法是(MTK针对modem培训时):1.打开project.mk文件中对用宏开关。2.xxx步骤之后转换成串口log来查看。这部分内容,就查看mtkmodem培训的相关资料。AP端和modem端如何进行交互四、如何查看GPSlog如何查看GPSlogGPSFieldTestlog捉取如何分析GPSLogGPSLog有两种类型的文件。文件内部存储的只是$GP开口的log,那么这种log称为NMEAlog;文件内部除了$GP的log,还有其他的一些log,例如$PMTK的log等等,这种log称为GPSDebugLog。NMEA分析方法GPGGA中可以得到UTC时间、经纬度、当前定位状态、使用的卫星数目、HDOP等等;GPGSA中可以得到定位类型、所使用到的卫星ID;GPGSV中可以得到可视卫星的数目,然后会一次列举出每科可视卫星的ID、方位角、仰角和信号强度;GPRMC中可以得到UTC时间、定位状态、经纬度、速度、UTC日期;GPACCURACY是MTK加入的获取定位精度的语句。缺少哪些辅助资讯如果产看是否触发AGPS,需要从GPSdebugLog中分析,搜索PMTK730这个语句,因为辅助数据主要是看时间、位置、星历这三个。$PMTK730,0,0,0,1,0,1,1,0:从这个语句中的一个1表示缺少星历、第二个1表示缺少位置、第三个1表示缺少时间。PMTK710表示获取星历辅助数据,PMTK712表示获取时间辅助资讯,PMTK713表示缺少位置辅助资讯。查看卫星分布如何通过看GPGSV里的卫星的方位角和仰角可以判断卫星的位置,通过判断GPGSA里的卫星可以知道当前定位使用了哪些卫星,这样就可以知道当前使用定位计算的这些卫星的卫星分布如何、信号强度如何。通过GPGGA里的HDOP来判断当前卫星的分布如何,这个值越小越好。卫星分布越好,越有可能产生的定位精度越高。所以HDOP是定位精度的充分但非必要条件。当前有哪些星历被保存通过搜索GPSDebugLog文件中PMTKEPH,该关键词会告诉你当前有哪些卫星是已经解析下来辅助资讯的。例如PMTKEPH,3,12,15,18表示有3颗卫星已经解析下来了星历数据,他们的卫星ID是12、15、18.如何判断GPS已经正常工作GPS工作起来首先会在GPSdebugLog中打印出来PMTK010的字样,所以通过判断这个可以知道GPS是否有正常工作起来。星历数据是来自EPO、HotStill还是实时解算如果知道当前使用到的卫星星历数据是来自实时接收解算下来的星历、还是EPP,或者是HotStill,同样也是通过判断PMTKEPH。如果该关键字后面跟着的卫星ID是正整数,那么是实时接收解算下来的星历;如果是浮点数,而且是负数,但是小数点后都是0,表示的是EPO;如果是浮点数,而且是负数,但是小数点后的是非0,表示的是Hotstill;判断AGPS/EPO/HotStill是否工作从GPSDebuglog中搜索到wk,epo表示EPO有工作;从GPSdebuglog中搜索到wkbee表示Hotstill有工作;从GPSDebuglog中搜索到wkssi表示AGPS有工作。H/
本文标题:开发常见问题培训
链接地址:https://www.777doc.com/doc-2427801 .html