MTK平臺個人筆記精髓_第1頁
MTK平臺個人筆記精髓_第2頁
MTK平臺個人筆記精髓_第3頁
MTK平臺個人筆記精髓_第4頁
MTK平臺個人筆記精髓_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

關于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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論