




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于MTKSimulatorMTKsimulator的工程文件是PixtelMMI.dsw。打开PixtelMMI.dsw,检查文件default_Fmrdo.c、default_mmi_pro、default_mmi_settings.c、default_version.c文件是否存在工程文件中,上述文件存放目录:项目所在目录\custom\app\MILAN_BB。在调试运行过程中会提示某些DLL文件无法连接,这是VC没有安装。DLL文件所在目录:VC安装盘\VC98\DEBUG。把缺失的文件复制到window安装目录下的System32目录里。运行MTKSimulator,选取Simulator,会运行MMINWSimulator;在MMINWSimulator菜单中,选取MenuMessages,会弹出一个SendEvent窗口,窗口里有一个Events列表,列表里有不同用途种类的Events;如果需要启动手机,选取BootUpEvents,点击OK按钮,MTKSimulator模拟开机过程。>关于调试语句的说明kal_print语句:该语句只能打印字符串信息。Trace_out语句:该语句可以输出格式化字符串。ASSERT语句:断言语句。Trace语句:可以输出格式化字符串。关于MTKTarget的编译连接批处理命令:Milan.bat。•概述在windows下,打开dos编辑窗口(开始一〉运行一〉cmd),找到工程代码所在根目录,如:E:\MTK6217输入编译批处理命令:格式:make[custom二"projectName"]"project""action"["modules"]Example:makecustom=mtk6217gprsnewModules:用于对单个模块进行编译的选项。如果没有指定,则对所有的模块进行编译处理。如果指定了模块名,则对指定的模块进行编译处理。后面的modules是nucleus之类的,可以不用写,中间的除了mtk6217工程名外可以照写,mtk6217工程名可以在你的源代码的make目录下有个工程文件名,比如我的例子就叫mtk6217_gprs.mak,你将你的替换就可以了,另外,除了上面的仁兄跟你说的ADS1.2以上perl也要5.**,我用的是ActivePerl-5[l].6.1.631-MSWin32-x86.msi名字的,你查找下载一下,最后你还需要安装VC6,这才能确保编译不出错。New:全面的编译,包括了所有的资源,代码,会把生产的所有的。bj都删除掉,重新产生;还有一些代码的拷贝,特别是资源和定义头,如:mmi_features.h编译选项说明:New:全面的编译,包括了所有的资源,代码,会把生产的所有的obj都删除掉,重新产生;还有一些代码的拷贝,特别是资源和定义头,如:mmi_features.hupdate:主要是资源和代码的编译,一般不怎么用,比new要编译的少一点,也是比较全面的编译remake:这个最常用,如果你没有修改资源(图片、铃声、字符串),只修改了*.c文件,就用这个编译就可以了,会从新产生bin文件还有一个值得要说的是resgen,这个是专门用于编辑资源的,和remake编译配合(先resgen产生资源,再remake)比较快。M订an.bat执行流程Milan.bat:选择资源文件,根据资源文件得选项,复制不同得资源配置文件,并改名为custom_config.bld,根据用户选择得编译选项调用make.batcus-tom=Milangprsnew/update/remake。Make.bat:判断当前得操作系统后,调用相应得批处理m_win2k.bat%*,%*表示调用make.bat命令行的所有参数作为m_win2k.bat的命令行参数。M_win2k.bat:根据命令行参数设置环境变量DEFAULT_CUSTOM、CUSTOMER、PROJECT、ACTION等,生成了编译配置文件~labelbuild.tmp、~buildinfo.tmp、~cleanmod.tmp、~updatemod.tmp、~remakemod.tmp,调用命令:tools\make.exe-fmake\gsm2.mak-r-RCUSTOMER=%CUSTOMER%PROJECT=%PROJECT%%ACTION%,再milan这个项目编译处理中:%CUSTOM%=Milan,%PROJECT%=gprs,%ACTION%=new/update/remake。Gsm2.mak:包含其他的makefile文件:option.mak,~buildinfo.tmp,Milan_gprs.make,custom.bld,verno_Milan.bld,~cleanmod.tmp,~updatemod.tmp,~remakemod.tmp、comp.mak。关于Perl、ADSvl_2的路径设置Perl的搜索路径设置是在Milan.bat批处理中;ADSv1_2的搜索路径设置是在make路径下的文件Option.mak;源程序编译配置文件在make目录下,.pth文件表示该模块下需要编译的源文件所在的相对目录;.lst文件表示需要编译的源程序的相对文件名;.inc文件表示头文件的路径;.def文件表示定义的条件编译宏。>如何在NVRAM增加一个保存记录的文件custom_nvram_editor_data_item.h(目录:MILAN0538\custom\app\MILAN_BB)nvram_user_defs.h(目录:MILAN0538\custom\app\MILAN_BB)nvram_user_config.c(目录:MILAN0538\custom\app\MILAN_BB)NVRAMEnum.h(目录:MILAN0538\plutommi\mmi\Framework\NVRAMManager\NVRAMManagerInc)>MTK架构MMI||primitivebasedprimitiveinterface|parameterconverter|functioninterfaceL4A|functionbased|Layer4L4CLayer4说明:就是mmi和L4A是依赖primitive通讯,即messageprimitivebased;l4a和l4c用functioncall的方式联系functionbased;layer4就是一个中转站,中转各layer和mmi的通讯.MTK6219手机解决方案由5部分组成1.L1tocolstack4.MMI5.MTK6219solution提供了3个测试工具1.Catcher2.META3.MCT。MTK6219softwaresolution可分为3部分1.MSExecutableSoftwareOS:OSAdaptationLayer;MTK采用的是NucleusOS,OSL的目的是为了使MTK软件方案适应于NucleusOS,在NucleusOS的基础上封装了一层,该层就是OS。L1ProtocalStackGSMPhysicalLayer支持5—Series技术规范下的比特流发送。为上层提供服务,Controlthemapping和调度逻辑通道和物理通道。实现了TDMAframing和无线控制。Layer1Asynchronous:处理来自上层的消息和将消息处理的结果发送给上层。SurroundingCellEngine:handlestheneighborcellpowermeasurementandneighborcellsynchronizationinformationacquisition.Layer1Control:handlestheTDMAschedulingontheradioenvironment,includingtimingadvanceandpowercontrolcommandfromservingbasestation.Layer1Driver:handlestheDSPandRadiocontrol.。Drivers:DeviceDriver,likeSIM,UART,GPIOetc.Driver为MCU所有的外围设备提供了控制功能接口。该模块处理许多手机用户可见的操作,比如按键处理、LCD显示。与L4entity进行交互,提供在设备控制功能函数,用于访问设备的寄存器。与MCU外围设备相关的SIM:SubscriberIdentityModuleUART:UniversalAsynchronousReceiver/TransmitterSPI:SerialPortInterfaceGPIO:GeneralPurposeInput/OutputGPT:GeneralPurposeTimerRTC:RealTimeClockWDT:WatchDogTimerPWM:PulseWidthModulationAlerterKeypadPMIC:PowerManagementICBMT:BatteryChargingManagementtaskAUXtask:AuxiliarytaskADCSched.:AnalogtoDigitalConverterSchedulerUSBtask:TheUSB1.1protocolanddriverIrDAtask:TheIrDAanddriverCamera:Cameradriverforintegratingwith3rdpartycameramoduleMSDC:Memorycarddriver,supportingSD,MMCcardsandMemoryStick与MCU虚拟设备相关的Resizer:SoftwareforcontrollingresizerengineImageDMA:SoftwareforcontrollingthededicatedDMAchannelsforimages.ImageProc.:SoftwareforcontrollingImageeffectengine.G2D:Graphic2Dengine.LCD:LCDinterface,support4layers.ISP:SupportimageprocesstocompensatetheLens/sensoreffect.GIFdecoder:SoftwareforcontrollinghardwareGIFdecoder.Mpeg4/H.263codec:SoftwareforH.263/Mpeg4de-code/encode.JPEGcodec:SoftwareforcontrollinghardwareJPEGdecoder/encoderL2/L3/L4ProtocolStack:GSMProtocalStackLayer.该模块包含了许多GPRS/GSM的Requirement,为应用程式提供了一个GSM/GPRS平台;该软件平台能简单容易地通过AT命令使用LocalMMI或PC控制。结构如下:RMI:RemoteMMI,forexample,PCside.UseAT-commandtocommunicatewithProtocolStackthroughUARTport.FMI:FeaturerichMMI,describedintheabovesection.Thisistheproductionco-workedwithPixtel.L4:Layer4.L4isataskthroughwhichFMIand/orRMIcommunicatewithPS.L4taskincludesseveralsub-modules.ATCI:ATcommandinterpreter.InterpretstheATcommandsfromPCsideandcommandstheL4Ctodotherelativeactions.L4A:L4adaptationlayerforFMI.TheSAPbetweenFMIandL4Aisprimitivebase.L4C:L4controlentity.Handlesallapplicationsrequestandresponse.UEM:Userequipmentsadaptation.Adaptationfordrivers,likeKeypad,LED,GPIO,Audio卐tc.PHB:Phonebookmanagement.Handlesthephonebooksrelatedprocessing,like:sorting卐tc.SMU:SIMmanagementunit.Handlethesecuritymanagement,andSTK.CSM:Circuitswitchingprotocolstackmanagement.RAC:Registrationaccesscontrol.SMSAL:Shortmessageserviceapplicationlayer.TCM:Terminalcontextmanagement.NVRAM:Non-volatileRAM.Thisisadaptationlayertoflashmemory.SIM:Subscriberidentitymodule.HandleSIMbehaviorasETSI11.11description.DATA:Circuitswitcheddataservice.Datataskincludesseveralsub-modules.FAX:Group3Facsimile.TDT:Transparentcircuitswitchingdata.L2R:Layer2relayprotocolfornon-transparentcircuitswitchingdata.RLP:Radiolinkprotocolfornon-transparentcircuitswitchingdata.CC:Circuit-switchedcallcontrol.SS:Supplementaryservice.SMS:Shortmessageservice.SM:Sessionmanagement.MM/GMM:Mobilitymanagement/GPRSmobilitymanagement.SNDCP:Subnetworkdependentconvergenceprotocol.LLC:Logicallinkcontrol.RR:Radioresourcemanagement.RRtaskincludesseveralsub-modules.RRM:HandlescellselectionandPLMNselection.RMPC:HandlestheproceduresinIdle/Dedicatedstateincludingthesurroundingcellschemeandmeasurementreporting.LAPDM:HandlestheproceduredefinedinGSMlayer2.RLC:Radiolinkcontrolprotocol.MAC:Mediumaccesscontrolprotocol.MPAL:AdaptationlayerforRRandL1A.PPP:PointtoPointprotocollayer.ThisisclientPPPlayer.MMI:该部分包含了用户界面框架、应用程式和与协议栈的通讯;
MMI和L4之间是通过消息进行交互得(TheinterfacebetweenMMIandl4isprimitivebased)。FrameworkOSL:OSadaptationlayerTask:communicationwithL4task.:communicationwithstoragedevice.GUIThemeUIcomponentCategoryscreenFontEditorT9orEziinputmethod.AccessLCDdriver.Customizationtool.ApplicationPhonebookMessages(SMS,EMS4.0,CB)CallhistorySetting.(Phonesetting,networksetting,securitysetup)5kindsofuserprofiles(情景模式:户外、会议、家中等)FunandgamesOrganizersServicesShortcutsIncallmanagement.Interruptevents,likecharging,alarm.6.GDIandMDIinterface:6.GDIandMDIinterface:GDI:GraphicDeviceInterface,likemulti-layerscontrol.GDIisabbreviateforGraphicDeviceInterface,whichprovidesAPIsforupperMMIapplications,WAP,andJAVAtoprocessgraphicrelatedmanipulation,eitherbysoftwareorbyaccessgraphicrelatedHWdevice(LCD,HWfontengine,HWdecoder,etc).MDI:MultimediaDeviceInterface,includingaudioandMPEG4filescontrol.7.WAP&MMS:ThisisfromTelecaObigoQ3Cversion.MediaTekhadseveraltaskstoprovideInternetapplications.Currently,wesupportWAP1.2.1and2.0,MMS1.1.Mobilesuiteframework:ThisisadaptationlayertoprotocolstackandGUIinterface.Security:ThiscoversWTSLclass1,2.STK:stack.Provision:isionservice.Push:service.Browseservice:WMLscriptparsing.MMSservice:MMSscriptparsing.SMILservice:SMILscriptparsing.MMSApp:MMSdisplayandscenariohandling.BrowserApp:application.TheMobileEngineeringTestArchitecture(META):提供了RF测试、NVM读写测试、相关的语音测试(包括铃声和语音)。META由META—TARGET、META—LAB和META—Factory组成。META—TARGET是MT62XX系列的图形硬件平台。在只有TST任务、FT任务、NVRAM任务、L1语音任务的测试模式下才能运行META—TARGET。META—LBA和META—Factory是pc端的应用程序。META—LBA提供了通用的测试功能:RFTX/RX/AFC测试、基带测试(包括registeraccess和AUXADCtesting)、NVRAM调整、声音调试(语音的播放、记录和删除,铃声的下载和播放),这些测试因为没有专用设备支持,必须手工操作。而META—Factory是为工厂生产线提供RF的校准功能,它支持专用设备控制oMETA—LBA是用于实验室或工厂,主要用于RF,BB(Base—band)和系统集成设计,而META—Factory主要用于产品生成线上自动校准手机参数的。Catcher:Catcher是pc端工具软件,主要功能是记录消息(primitive)和调试信息。工程师可使用它去分析手机的运行状态。具体参考文档:MT6219_SW_ReleaseNote.pdfMTK资源生成使用说明MTK的资源一般由字符串、图形文件、菜单、字形库等组成;字符串资源生成使用说明:资源文件说明字符串资源的文件名为ref_list.txt,该文件是Excel文档,格式为:字符串ID+各个语言种类对应的字符串。修改时用MicrosoftExecel制表程式进行编辑。再增加或删除字符串时,要修改最后一行##number的数值,它表示字符串的总数(听说不改也没有什么影响,我没有去验证,建议进行修改,这样可能兼容性会更好一些)注意:字符串资源文件ref_list.txt在MTKMilan0538版本中有好几个同名的文件。但有效的文件是在目录mi-lan0538(128160)\Milan0538\plutommi\Customer\CustResource\PLUTO_MMI下。字符串相关宏:ADD_APPLICATION_STRING(stringld,string)在c源代码文件编写过程中,经常使用用于字符串资源的宏:ADD_APPLICATION_STRING(stringld,string);宏ADD_APPLICATION_STRING的目的:在资源生成过程中,会在源代码文件去查找使用宏ADD_APPLICATION_STRING的语句,根据传入stringld的字符串ID,去字符串资源文件中查找是否有该ID的字符串。如果有则从字符串资源文件中提取出来;如果没有则定义该ID号,根据该ID和默认的字符串(一般是英文)string定义一个新的字符串。字符串相关宏:ADD_APPLICATION_STRING2(stringId,string,display)该宏的前两个参数与宏ADD_APPLICATION_STRING(stringId,string)功能相同,第三个参数display的功能不太清楚。修改ReadExcel.c文件:包含定义字符串ID的头文件。生成的资源文件CustStrRes.cStrRes_x[]foreachlanguageOneStrMapSearch[]indexofStrMap_x[]gStringList[MAX_LANGUAGES]CustStrMap.cStrMap_x[]foreachlanguageOffsettoStrRes_x[]图形资源生成使用说明图形资源文件说明图形资源集中在以下目录:milan0538(128160)\CustomRes_Milan和milan0538(128160)\Milan0538\plutommi\Customer\Images;其中在Image目录下的图形资源文件存放的主要是第三方提供的资源和一些游戏资源,其他的图形资源存放在CusttomRes_Milan目录中,在图形资源文件处理过程中,ID号会根据资源文件名相对与当前目录的相对文件名生成。与资源相关的资源代码文件的路径为:mi-lan0538(128160)\Milan0538\plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI目录下,在对应的文件中使用ADD_APPLICATI0N_IMAGE2加入资源文件。图形资源相关的宏:ADD_APPLICATION_IMAGE(ImageId,Img)ImageId是Imag图形资源文件的ID号,Imag是图形资源文件名信息;根据ImageId和Image生成一个以ID为标识的图形资源数据。图形资源相关的宏:ADD_APPLICATI0N_IMAGE2(ImageId,)该宏的前两个参数与宏ADD_APPLICATION_IMAGE(ImageId,Img)的前两个参数功能相同,第3个参数的功能未知。生成的资源文件CustImgRes.cCustImgMap.cCustImgHWData.h菜单资源生成使用说明菜单资源ID说明每一个菜单项都有一个唯一的ID,菜单项ID的声明在头文件GlobalMenuItems.h中,需要增加菜单项时,在enumGLOBALMENUITEMSID枚举定义中加入菜单项的ID号。菜单资源相关的宏:ADD_APPLICATION_MENUITEMADD_APPLICATION_MENUITEM((MITEM_IMAH_OPT_PSEUDO,0,10,MITEM_IAH_OPT_SWAP,MITEM_IAH_OPT_CONFER,MITEM_IAH_OPT_END_HLD,MITEM_IMA_OPT_END_ONE_ACT,//MTKamandaadd1129MITEM2019_CM_ALL_ACTIVE_END,MITEM_IAH_OPT_END_ALL,MITEM_INC_OPT_DEFLN,MITEM_INC_ACT_OPT_MUTE,MITEM_INC_ACT_OPT_LOUDSP,MITEM2024_CM_DTMF,SHOW,NONMOVEABLE,DISP_LIST,STR_SCR1002_CAPTION,0));每一个菜单现项包含的信息为:该菜单项的ID,它的父菜单项的ID,子菜单项的总数,各个子菜单的ID,SHOW/HIDE菜单项的属性,菜单项的显示模式,该菜单显示的标题,该菜单在标题栏显示的图标ID。生成的资源文件CustMenuTree_Out.c---inputMCTtoolCustMenuRes.c---resourceofmenufromtargetbuildCustMenuToolRes.c---resourceofmenufromtool经验总结:ADD_APPLICATION_MENUITEM()里面进行添加菜单项,包括该菜单的id,字符串,图标,母菜单id,子菜单id等等。在显示该菜单界面时,会根据该菜单id找到所有相关的子菜单id,并画出所有子菜单的字符串和图标。在进入该界面前还对菜单设置handler。在编译的过程中,还会生成一些met用的文件。里面列出所有的菜单项,函数是ADD_APPLICATION_MENUITEM2()。mtk调整菜单的经验:应该修改这个文件:plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI\Res_MainMenu.c,你可能修改了plutommi\Customer\Res_MMI目录下的文件了,那里的文件基本都是拷贝过去的字形库与字形库相关的数据类型每一类的字形库数据由3部分组成:记录该类所有编码字形数据的数组、记录每个编码字形的宽度的数组、记录每个编码字形数据在记录该类所有编码字形数据的数组中的偏移量的数据。生成的资源文件FontRes.cL_en_family_alpha_small.hL_en_family_alpha_medium.hL_en_family_alpha_large.hL_ch_family_ideog.h中文字库生成过程用工具软件MCTExec3.0:在菜单Tools—》FontTools—》FontCustomizer功能生成相应的字体信息文件。在FontRes_Chinese.h中替换对应的数据。如何增加资源步骤1:首先定义该资源的ID号.ID范围是根据模块划分得,所以增加某个模块得资源,在该模块目录的头文件所在目录下查找:模块名+res.h,—般该模块使用的所有资源ID都会定义在头文件里。步骤2:使用对应的资源配置宏,表明该资源需要处理:字符串资源配置宏:ADD_APPLICATION_STRING(stringId,string)>ADD_APPLICATION_STRING2(stringId,string,display),另外需要在ref_list.txt要相应的增加ID和各个语言种类对应的字符串。图形资源配置宏:ADD_APPLICATION_IMAGE(ImageId,Img)、ADD_APPLICATION_IMAGE2(ImageId,y)。菜单资源配置宏:ADD_APPLICATION_MENUITEM。以上的配置宏都在对应模块的资源C文件里,存放目录在:mi-lan0538(128160)\Milan0538\plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI下。步骤3:执行资源批处理remakeResource.bat,在milan0538(128160)\Milan0538\plutommi\Customer目录下。>随机数产生函数void__cdeclsrand(unsignedint);MMITask的消息循环处理主入口函数为:voidMMI_task(oslEntryType*entry_param)>从消息队列取消息函数为:OslReceiveMsgExtQ(…)怎么样在MTK平台上加入MENU,APPLICATION?照着res_mainmenu.c自己力口>更改mtk平台默认时间(年月日)?custom_hw_default.cconstkal_uint8DEFAULT_HARDWARE_YEAR=5;constkal_uint8DEFAULT_HARDWARE_MON=1;constkal_uint8DEFAULT_HARDWARE_DAY=1;mtk平台表示是否有sim卡用哪个变量?全局变量g_pwr_context.IsSimValid的数值为1表示有SIM卡;数值为0表示没有SIM卡。__MMI_USB_CDCACM_ONLY__,这个宏里CDCACM是什么意思?就是USB仅用于theUniversalSerialBusCommunicationDeviceClassAbstractControlModel,没有usbmassstorage。这个宏对关机没有影响,还是可以当作Udisk。就是开机的时候插入的话没有massstorage的选项,仅用于充电之类的。就是MMI的featureGDIVSPixtel_UIPixtel_UI是一个非常旧的图形接口,不支持多个图形层(multi-layer),它不支持新的功能,如JPEG等。GDI是一个新的图形接口,支持所有的新功能,除了显示字符参。GDILayerGDILayer在硬件上支持4层,软件上可支持15层。BaseLayerBaseLayer在GDI中是永远存在的。它和LCM的尺寸相同。默认为激活层。所有的Drawing操作都是在激活层上。MainLcd和sublcd分别有一个BaseLayer。调用函数gdi_layer_get_active获取BaseLayer的handleBaseLayer的handle根据MainLcd和SubLcd分别是GDI_LAYER_MAIN_BASE_LAYER_HANDLE和GDI_LAYER_SUB_BASE_LAYER_HANDLErule(使用规则)芯片6218和6219支持GDILayer功能。设置了激活的图形层后,所有的图形操作会在激活图形层中。当不使用GDILayer功能时,必须激活BaseLayer。有些功能是由一对函数组成,必须成对使用,特别小心从一对函数中间的代码中返回,没有实现成对使用的规则。必须成对使用的函数有:gdi_layer_lock_frame_buffer和gdi_layer_unlock_frame_buffergdi_layer_push_clip和gdi_layer_pop_clipgdi_layer_push_text_clip和gdi_layer_pop_text_clipgdi_layer_push_and_set_active和gdi_layer_pop_and_restore_active每个GDI函数是由互斥量保护着;可以使用GDI_LOCK/GDI_UNLOCK操作加快应用程式对GDI的操作。1.例子:GDI_LOCKgdi_layer_lock_frame_bufferpixtel_UI_reset_clipshow_status_icons♦•gdi_layer_unlock_frame_buffergdi_layer_blt•GDI_UNLOCK>定时器的使用打开定时器函数,注意该定时器值、只执行一次。pixtel_UI_start_timer(g_gx_panda_context.timer_elapse,mmi_gx_panda_cyclic_timer);第一个参数是定时器的周期值,单位为ms;第二个参数是定时器的回调函数关闭定时器。pixtel_UI_cancel_timer(mmi_gx_panda_cyclic_timer);带入的参数是该定时器的回调函数。>游戏FrameWork如何使用NVRAM保存信息在NVRAMEnum.h定义一个与应用程式相关的枚举变量NVRAM_GX_PANDA_SCORE;该枚举类型有nvram_LID_cust_enum、BYTEDATA、SHORTDATA、DOUBLEDATA,根据保存数据类型在相应的枚举类型定义中加入枚举变量;游戏Panda的玩家最好成绩定义为短整型,NVRAM_GX_PANDA_SCORE加入枚举SHORTDATA类型中。设置游戏构架全局变量g_gfx_cntx相关的成员变量,level_count表示有保存NVRAM的数据总数;grade_nvram_id_list表示保存在NVRAM数据的各个ID号;grade_value_ptr用于保存根据ID号从NVRAM读出的数据内容>按键处理注册某按键的处理回调函数voidSetKeyHandler(FuncPtrfuncPtr,U16keyCode,U16keyType)参数funcPtr:处理回调函数的指针。参数keyCode:按键的键值。参数keyType:按键的状态:有Down,Up,LongPress,Repeat。注销某按键的处理回调函数FuncPtrGetKeyHandler(U16keyCode,U16keyType)参数keyCode:按键的键值。参数keyType:按键的状态:有Down,Up,LongPress,Repeat。MMI任务住消息循环处理MMI任务消息循环处理主函数为:voidMMI_task(oslEntryType*entry_param)。>按键时间处理Framework。在按键事件的处理框架的思路:根据按键总数和按键状态定义了一个二维数组的函数指针数组。消息处理过程中,根据不同的按键值和状态取出函数指针,然后调用数据结构大端模式(bigendian)和小端模式(littleendian)大端模式(bigendian)和小端模式(littleendian)指的是数据在计算机体系的存储模式,由于存在众多的芯片体系,如x86,powerpc,arm等等,由于各个厂家对数据存储的规定不一样,故如果代码从一个系统移植到另一个系统时有可能遇到模式混乱的问题。例如用一个字长表示1,Intel体系是采用小端模式的,存储为00000000,00000001b,低字节放在低地址位;若体系采用的是大端模式,则存储为00000001,00000000b,低字节放在高地址位。了解这一点后,就不难用c语言通过对低字节的强制转换实现对大端小端的判断了。wordone=1;if(one==(char*)one)//itislittleendian;else//itisbigendian;MTKMMI定制个性化主题!(即用户能够任意更改屏幕的背景图片,TitlePicture等).MTK采用多层显示结构,一般只有四层,背景图片应该是baselayer上面一层,你可以修改这一层来达到修改背景图片的目的,至于主题图片只需要修改title_icon就可以了mtkPHB_LN_ENTRY宏的意思应该是通话记录中已拨电话,未接电话,已接电话的最大数目吧,各20个记录。SMS简介短消息服务单从字面上来看,所谓短消息就是通过GSM网络传输的有限长度的文本信息。而短消息业务是GSM系统提供给手机用户的一种特殊服务,这项服务与传统的语音传输通讯业务是根本不同的。短消息业务按其实现的方式可以分为点到点短消息业务和小区广播短消息业务。点到点短消息业务即通过M0(MS发起短消息业务)和MT(MS终止短消息业务)将一条短消息从一个实体发送到指定目的地址的业务,被发送的信息经过编码后消息长度为140个字节,也就是一条短消息可以包含160个英文字母(7Bit编码)或70个中文汉字(Unicode编码);还有ConcatnatedSMS,是在header中实现了一个简单的串接协议,将多条短信串成一条,具体可以参考GSM03.38和GSM03.40而小区广播短消息业务是指通过发送信息的基站向指定区域中所有短消息用户发送短消息的业务,该业务将发送的短信息编码后,使消息的长度增加为每页82个字节,并且最多能发送20页之多的信息。通常移动公司会使用这种方式在一定的区域内向所有GSM用户循环发送一些具有通用性的信息,如交通信息、天气情况、股市信息、新闻等。前面已经说过,短消息业务是GSM系统中提供的一种GSM手机之间及与短消息实体之间通过业务中心进行文字信息收发的方式,其中业务中心是独立于GSM网络的一个业务处理系统,主要功能是提交、存储、转发短消息,并完成与PSTN、Internet等网络的互通,以实现来自其他SME(ShortMessageEntity)(如:人工台/自动台、咨讯平台等)的短消息的传递。目前短消息业务已经在全国各大中小城市推出,以往用户需要到营业厅进行申请开通该业务,而且每月还需要缴10元的使用费,但现在却是免费开通,也免去了每月10元的使用费,每条信息收费0.10元,而且是单向的。短消息的优点最新的信息如何沟通?如果选择纸媒体大概需要三天左右;如果选择传单散发一天左右;如果选择广播、电视传播,速度虽然快,但是针对性差;如果选择互联网发布,不少人还不懂,懂的人也不可能时刻在网上。如果使用手机短信息,不但可以做到信息的及时发布,而且可以做到信息的个性化定制即使对方关机或是不在服务区内,他也可以在对方开机或回到服务区后传入对方的手机。同时,这项服务只收取发送方每条信息O.lO元,接收方不花钱。目前可以发送短消息的实体(SME)包括移动用户、固定用户、语音信箱、寻呼中心、信息点播平台、Internet网络及其他业务系统。由于短消息发送占用的是信令通道,当移动台占线而无法通话的情况下仍可接收短消息。当移动台关机或不在服务区时,短消息发送会失败,但短消息中心会保存该短消息,并在HLR中设置等待标志,一旦用户开机或返回服务区,GSM系统会及时通知短消息中心重发。用户会即刻收到短消息。通过短消息中心及其相关增值业务系统还可以实现诸如股票交易、银行业务、信息点播、GPS监控、e-Mail通知等信息服务,及日程安排、预约留言、电话号码薄等等移动服务。我们可以把短消息业务当作是GSM系统中最为简单和方便的数据通信方式,它不需要附加其它较为庞大的数据终端设备,仅使用手机就可以达到进行中、英文信息交流目的。短信息的优点总结下来就是以下几点:开通方便人们已经厌倦了开通新业务时烦琐的手续,而短信息服务不需要申请,所有的全球通手机都自动支持。用户只需要按动几个键,做一些简单的设定,就可以享受这项服务了。收费低廉资费始终是消费者们最关心的问题。虽然语音业务的资费不断下调,但对普通大众来说,拨打或者接听手机的时候,仍然需要“掐着表”。而不管是长途还是市内,短信息每发送一条仅0.1元,而且接收免费。与打和接都是每分钟0.4元的语音业务相比,价格优势不言而喻。内容丰富种类繁多的短信中心提供了各种各样的定制服务,用户可以自由挑选组合所需信息。证券业人士可以定制股市行情,地产业人士可以定制地产信息,经常出行的人可以定制天气预报,体育迷可以定制体育新闻……如此丰富的内容使每个行业、每个阶层的人都能找到属于自己的信息。随时随地短信息不像打电话,必须要求接听方也同时在另一端。用户可以随时随地发送短信息,不用管对方有没有开机,是不是在服务区,也不用怕已经是深夜而打扰对方的睡眠,因为短信息可以存储在短信平台的服务器上,一旦对方开机,短信息就会自动发送到他那里。文字的特殊魅力现代社会的通信工具使人们习惯于打电话,逐渐疏于写信,但在很多方面,文字有着语音所无法替代的效果。比如,时下几乎每个手机用户都曾经收到一些幽默、趣闻,这也是语音所无法做到的。以上几点还仅仅是站在用户的角度上来看。如果从技术上的角度上来看,它还有以下几个优点:点到点的通讯方式只要知道对方的手机号码,就可以直接向对方的手机上发送短信息。回复信息也是如此。这样的工作方式使得手机就如同Internet网络中拥有固定IP地址的计算机一样,可以随时随地与它建立连接。24小时在线只要手机不关,那么随时可以接收短信息。同时,用户也可以随时发送短信息。从广义上来说就是24小时在线。另外短消息中心具有消息的临时存储能力,因此即使是由于关机而不能接收消息,在开机后仍能接收到先前没有接收的短消息。具有承载多种数据的能力短消息有三种模式:块模式、PDU模式和文本模式。其中支持块模式的手机厂商十分少,基本上都支持PDU模式和文本模式。特别值得一提的是:通过PDU编码的短信息内容可以是:文字、声音或图像。那么从广义上来看,也可以将一般的数据文件经过PDU编码后进行发送和传输。随着短信息协议的发展,短信息将来将能够支持更多样化的数据。可以实现Push和Pull两种不同的工作模式总的来说,短消息是以Push方式工作的。如果Push的发起者是服务提供商,那么服务提供商就可以将用户定制的信息发送直接推送给用户。如果Push的发起者是用户,接收方是服务提供商,那么服务提供商可以使用短信息立即响应用户的请求。这个时候可以说是一种Pull的方式在工作。可以保障传输中的安全如果用户使用STK卡,那么短信息在发送之前,可以通过STK卡将信息加密后进行传输。在到达目的地后由接收者将信息解密。实现了点到点的信息安全保障。短信息的这些优点是目前很多无线网络通讯所不能及的。>关于CategoryScreen相关源代码文件Event.cwgui_categories.cwgui_inline_edit.c数据结构数据结构wgui_inline_itemtypedefstruct_wgui_inline_item{dwordflags;//菜单属性的标志位,用于标明该菜单项的类别。
//INLINE_ITEM_TYPE_SELECT:表示是个选择菜单。//INLINE_ITEM_TYPE_CAPTION:表示是个TextLabels32key_code;s32key_event;//用于设置InlineItem为Activation。U8*text_p;//表示激活选项的字符串。UI_image_typeside_img;//菜单项的图标U8show_img_flag;//显示菜单项图标的标志位void*item;//菜单项内容指针void(*handler)(s32x,s32y,s32width,s32height,s32key_code,s32key_event,U8**text_p,void*item,dwordflags,U8*history_buffer);//菜单项的处理函数。}wgui_inline_item;数据结构wgui_inline_item_selecttypedefstruct_wgui_inline_item_select{dwordflags;S32n_items;//表示选项的个数S32*highlighted_item;//激活的选项U8**list_of_strings;//表示描述菜单选项的字符串void(*item_highlighted)(s32item_index);//显示回调函数。}wgui_inline_item_select;数据结构Pseventlnfotypedefstruct_PseventInfo{U16eventID;//事件的ID,如定时器、硬件事件PsFuncPtrentryFuncPtr;//对应事件ID的处理函数指针。}PseventInfo;数据结构PsInteventInfotypedefstruct_PIntseventInfo{U16eventID;/*fortimer&hardwareevents*///事件的ID号。PsIntFuncPtrentryIntFuncPtr;//事件处理函数指针PsIntFuncPtrpostIntFuncPtr;//事件传送处理函数指针}PsInteventInfo;数据结构hiliteInfotypedefstruct_hiliteInfo{FuncPtrShorthintFuncPtr;//提示信息处理函数指针。FuncPtrentryFuncPtr;//入口处理函数指针。}hiliteInfo;数据类型FuncPtrTypedefvoid(*FuncPtr)(void);局部全局变量staticU16currMaxHiliteInfo;表示maxHilitelnfo数组Hiliteltem的数量staticU16maxProtocolEvent;表示数组protocolEventHandler被使用的总数,很少使用该全局变量。staticU16maxInterruptEvent;表示数组interruptEventHandler被使用的总数staticU16currParentID;当前Screen的父类IDstaticU16currKeyCode;保存当前按键的键值staticU16currKeyType;保存当前按键的状态(Up、Down、LongPressetc.)staticU16currHiliteID;保存当前咼亮显示的IDstaticU16currEntryScrnID;不太清楚staticFuncPtrcurrEntryFuncPtr;进入下个激活Screen的处理函数指针。staticU16currExitScrnID,currTopScrnID;currTopScrnlD保存当前激活的Screen的ID,currExitScrnlD保存当前激活Sc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- it试用期总结模版
- 通信系统集成与服务标准规定
- 建筑行业智慧工地管理系统建设方案
- 2025 房地产租赁居间合同
- 2025年标准店铺租赁合同范本
- 全国教育大会
- 酒店智慧客房服务及管理升级技术方案
- 2025年工程建设的劳务分包合同
- 电信行业智能化电话网络方案
- 大学英语学习心得体会模版
- 学校信息化设备运维服务方案
- 2025-2030中国奶茶店设备全套行业市场现状分析及竞争格局与投资发展研究报告
- 2025年江苏财经职业技术学院单招职业技能测试题库附答案
- 2025年湖南省长沙市开福区审计局招聘4人历年高频重点模拟试卷提升(共500题附带答案详解)
- 人教PEP版英语五年级下册全册教案
- 基础护理学试题及标准答案
- 2025年四川成都市蒲江乡村建设发展集团有限公司招聘笔试参考题库附带答案详解
- 2024版房产经纪人无底薪劳动协议
- 2025年上半年度交通运输部南海航海保障中心公开招聘126人工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 社戒社康培训
- 船舶建造流程
评论
0/150
提交评论