MTK開(kāi)發(fā)日志參考資料_第1頁(yè)
MTK開(kāi)發(fā)日志參考資料_第2頁(yè)
MTK開(kāi)發(fā)日志參考資料_第3頁(yè)
MTK開(kāi)發(fā)日志參考資料_第4頁(yè)
MTK開(kāi)發(fā)日志參考資料_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

MTK開(kāi)發(fā)筆記1.Windows必須安裝在C盤,否則會(huì)出現(xiàn)modis編譯問(wèn)題。2.語(yǔ)言和輸入法移植2.1資源修改–這是我們需要修改的,2.2開(kāi)始MTK已經(jīng)幫你做好了。2.1.1在\plutommi\Customer\CustResource\PLUTO_MMI\ref_list.txt中添加新語(yǔ)言的字符串資源。2.1.2用MCT工具生成新的字庫(kù),需要注意的是LanguageID必須和ref_list.txt中一致。2.1.3輸入法資源包括Zi、T9和CStar。2.1.3.1Zia.新建\vendor\inputmethod\ZI\project\PROJECTNAME\v?_official\目錄。b.將第三方提供的Zi文件拷貝到該目錄。c.將所有ZI8DatXX.c文件擴(kuò)展名改成.h文件,并將其包含到IMEResZi.h中。d.將輸入資源添加到mtk_gIMELDBArray數(shù)組中。e.上面步驟,第三方可能已經(jīng)提供IMEResZi.h文件。如果提供了就不用這些步驟了。2.1.3.2T9將代碼放到下面目錄:\vendor\inputmethod\T9\project\PROJECTNAME\v?_official\移植比較麻煩,具體參考:SOP_T9_Input_Method_Resource_Generation_07A.pdfSOP_T9_Input_Method_Resource_Generation_08B.pdfSOP_T9_Input_Method_Resource_Generation_09BV2.pdf2.1.3.3CStar不說(shuō)了2.2SSC有幾個(gè)文件需要修改。a.\plutommi\mmi\SSC\SSCInc\SSCStringHandle.h:增加新的SSC碼,需要和ref_list.txt、FontRes.c中的一致。#defineSSC_AUTO"*#0000#"#defineSSC_SCHINESE"*#0086#"#defineSSC_TCHINESE"*#0886#"#defineSSC_ENGLISH"*#0044#"#defineSSC_DEFAULT"*#0044#"#defineSSC_SPANISH"*#0034#"http://添加你的SSC碼//#defineSSC_XXXXX"*#00XX#"2.3\plutommi\mmi\SSC\SSCInc\SSCStringHandle.c:將新的SSC碼加入到ssc_table2表中。SSCStringTableExssc_table2[]={{SSC_AUTO,MMI_FALSE,SSC_STR_ERR_SET_DEFAULT,SSC_SCR_LANGUAGE_DEFAULT_STR_ID},{SSC_ENGLISH,MMI_FALSE,SSC_STR_ERR_SET_ENGLISH,SSC_SCR_LANGUAGE_ENGLISH_STR_ID},#ifdefined(__MMI_LANG_TR_CHINESE__){SSC_TCHINESE,MMI_FALSE,SSC_STR_ERR_SET_TCHINESE,SSC_SCR_LANGUAGE_TCHINESE_STR_ID},#endif#ifdefined(__MMI_LANG_SPANISH__){SSC_SPANISH,MMI_FALSE,SSC_STR_ERR_SET_SPANISH,SSC_SCR_LANGUAGE_SPANISH_STR_ID},#endif……2.4mcu\\plutommi\mmi\Setting\SettingSrc\PhoneSetup.c:加到auto_lang_struct數(shù)組中。staticStructAutoLangauto_lang_struct[]={/*ISO6392-alphabetLanguageCodes*/{CBS2_ZH,SSC_SCHINESE},{CBS2_TW,SSC_TCHINESE},{CBS0_ENGLISH,SSC_ENGLISH},{CBS0_SPANISH,SSC_SPANISH},{CBS2_TH,SSC_THAI},{CBS0_FRENCH,SSC_FRENCH},{CBS0_GERMAN,SSC_GERMAN},{CBS0_ITALIAN,SSC_ITALIAN},……2.5MTK代碼已經(jīng)幫你完成,具體參考SOP_Input_Method_Porting_Guide_07A.pdfSOP_Language_and_Input_Method_Porting_Guide_08A.pdf3.如何修改軟件版本號(hào)?修改下面文件:make\Verno_<PROJECTNAME>.bld4.如何修改工程命令?如將默認(rèn)*#8375#(顯示版本號(hào))改成*#8376#。文件:\plutommi\Customer\CustResource\PLUTO_MMI\CustResDefPLUTO.h修改:#ifdef__MMI_AUTO_LANG_EN__#defineMMI_DEFLANGSSC_FOR_AUTO"*#0044#"#endif#defineSSC_SW_VERSION"*#8375#"#defineSSC_HW_VERSION"*#357#"http://Notusedif__MMI_HW_VERSION__isnotturnedon#defineSSC_ENGINEERING_MODE"*#3646633#"#defineSSC_FACTORY_MODE"*#66*#"#defineSSC_FACTORY_MODE_AUTOTEST"*#87#"#defineSSC_SERIAL_NUMBER"*#33778#"……5.有關(guān)SIMLock代碼參考哪些文檔?請(qǐng)參考:2G-PS\Personalization_Lock_SIM_ME_Lock_After_06A0632MP.pdf位于:DCC\FeaturePhoneData\Software_Customer\StandardPackage\2G-PS\6.如果添加一個(gè)Task?a.添加taskindex和modid。文件:\custom\system\PROJECTNAME\custom_config.h/**************************************************************************[VeryImportantMessage]*1.ComponentTaskIndex(Pleaseaddbeforesystemservice)*2.Customersareallowedtocreateatmost16tasksasdefinedin*config\include\stack_config.h(MAX_CUSTOM_TASKS=16)*************************************************************************/typedefenum{INDX_CUSTOM1=RPS_CUSTOM_TASKS_BEGIN,INDX_CUSTOM2,#ifdef__FLAVOR_VENDOR_SDK__INDX_VS,#endif//addyourtaskindexhere.//INDX_XXX,RPS_CUSTOM_TASKS_END}custom_task_indx_type;/**************************************************************************[VeryImportantMessage]*1.Componenttask'smoduleid(Pleaseaddbeforesystemservice)*2.Customersareallowedtocreateatmost16taskmoduleIDasdefined*inconfig\include\stack_config.h(MAX_CUSTOM_MODS=16)*************************************************************************/typedefenum{MOD_CUSTOM1=MOD_CUSTOM_BEGIN,MOD_CUSTOM2,#ifdef__FLAVOR_VENDOR_SDK__MOD_VS,#endif//addmoduleidhere.//MOD_XXX,MOD_CUSTOM_END}custom_module_type;b.添加modid和taskindex的映射。注意位置需要對(duì)應(yīng)。/**************************************************************************Global*custom_mod_task_g**DESCRIPTION*moduletotaskindexmapping.*forexample:*INDX_CUSTOM1->MOD_CUSTOM1*meansmoduleMOD_CUSTOM1belongstoINDX_CUSTOM1task**Pleasearrangethemappingaccordingtocustom_config.hcustom_module_type*sequence.**GLOBALSAFFECTED**************************************************************************/custom_task_indx_typecustom_mod_task_g[MAX_CUSTOM_MODS]={INDX_CUSTOM1,/*MOD_CUSTOM1*/INDX_CUSTOM2,/*MOD_CUSTOM2*/#ifdef__FLAVOR_VENDOR_SDK__INDX_VS,#endif//addyoutaskindexhere.//INDX_XXX,INDX_NIL/*PleaseendwithINDX_NILelement*/};/**************************************************************************Global*custom_comp_config_tbl**DESCRIPTION*Thearraycontainssystemcomponenttasks'configurationinformation**GLOBALSAFFECTED**************************************************************************/constcomptask_info_structcustom_comp_config_tbl[MAX_CUSTOM_TASKS]={/*INDX_CUSTOM1*/{"CUST1","CUST1Q",210,1024,#ifdefCUSTOM1_EXISTcustom1_create,KAL_FALSE#elseNULL,KAL_FALSE#endif,10,0},/*INDX_CUSTOM2*/{"CUST2","CUST2Q",211,1024,#ifdefCUSTOM2_EXISTcustom2_create,KAL_FALSE#elseNULL,KAL_FALSE#endif,10,0},#ifdef__FLAVOR_VENDOR_SDK__/*INDX_VS*/{"VS","VSQ",212,1024,vs_sys_task_001_create,KAL_FALSE,10,0},#endif//addyourcomptask_info_structhere.//pleasereferencetocomptask_info_structdefine./*INDX_XXX*//*{“XXX”,“XXXQ”,211,1024,XXX_create,KAL_FALSE}*/};c.實(shí)現(xiàn)XXX_create。詳細(xì)參考代碼中的custom1_create函數(shù)實(shí)現(xiàn)方式。d.定義MSGID。文件:/*Addcustomizationmessageidhere*/MSG_ID_CUSTOM1_CUSTOM2=CUSTOM_MSG_CODE_BEGIN,MSG_ID_CUSTOM2_CUSTOM1,//addMSGIDhere.//MSG_ID_XXX,7.如何添加一個(gè)新的NVRAM項(xiàng)?NVRAM根據(jù)級(jí)別分3種region:MT–系統(tǒng),不對(duì)用戶開(kāi)放。MP–和應(yīng)用相關(guān)的,用戶可以讀到,寫入。CT–專門針對(duì)用戶的,某個(gè)客戶專用的一般放這里。步驟如下:a.定義新的LID,以及size和total數(shù)量。MT:mcu\interface\ps\nvram_data_items.h在nvram_lid_core_enum中添加新的LID。MP:mcu\custom\common\PLUTO_MMI\nvram_common_defs.h在nvram_lid_commapp_enum中添加新的LID。MP:\custom\app\PROJECTNAME\nvram_user_defs.h在nvram_lid_cust_enum中添加新的LID。b.驅(qū)動(dòng)開(kāi)發(fā)以下未說(shuō)明文件的配置在項(xiàng)目make文件上進(jìn)行:mcu\make\PROJECTNAME.mak1.設(shè)置BBPLATFORM=MT6268#HardwarePlatform,MT6208,FPGA,MT6218,MT6218B,MT6219,MT6226,MT6227,MT6228,MT6229...etc.BOARD_VER=BROADMOBI68_09B_BB#Basebandmainboarddescription,SHOULDBEONEOFTHEFOLLOWINGS#MT6208_EVB,MT6208_CEVB,MT6205_CEVB,ORDNANCE,KLM2003_BB,CHICAGO2003_BB,#MT6218_MW001,CANNON,MT6218B_EVB,JUPITER_EVB,MT6219_EVB,#MT6226_EVB,MT6227_EVB,MT6228_EVB,MT6229_EVBMCU_CLOCK=MCU_245_76M#MCUclocksetting,MCU_13M,MCU_26M,MCU_39M,MCU_52M,MCU_104MMCU_DCM=DCM_ENABLE#DCM_ENABLE,DCM_DISABLE#DynamicClockManagement#AvailableBBchip:MT6217,MT6226,MT6226M,MT6227,MT6228,MT6229...etc.EXT_CLOCK=EXT_26M#Externalclocksourcesetting,EXT_13M,EXT_26M2.設(shè)置RFModuleRF模塊:UMTS_RF_MODULE=CUSTOM_MT6160RF_MODULE=AD6546_CUSTOM晶振類型:AFC_VCXO_TYPE=VCTCXO#VCTCXO:VCTCXO#VCXO:VCXO#VCXO_SC:VCXOwith7areaslopecontrol#VCXO_TC:VCXOwithtemperaturecompensation#VCXO_SC_TC:VCXOwith7areaslopecontrol&temperaturecompensationCOM_DEFS_FOR_CUSTOM_MT6160=MT6160_RFCUSTOM_MT6160UMTS_BAND_I=TRUE#TRUE,FALSEUMTS_BAND_II=TRUE#TRUE,FALSEUMTS_BAND_III=FALSE#TRUE,FALSEUMTS_BAND_IV=FALSE#TRUE,FALSEUMTS_BAND_V=TRUE#TRUE,FALSEUMTS_BAND_VI=FALSE#TRUE,FALSEUMTS_BAND_VII=FALSE#TRUE,FALSEUMTS_BAND_VIII=FALSE#TRUE,FALSEUMTS_BAND_IX=FALSE#TRUE,FALSEUMTS_BAND_X=FALSE#TRUE,FALSE驅(qū)動(dòng)代碼:mcu\custom\l1_rf\$(RF_MODULE)\l1d_custom_rf.hmcu\custom\l1_rf\$(RF_MODULE)\m12193.c3.設(shè)置PMIC–電源管理模塊PMIC=MT6326#ChargeFunction,NONE,MT6305orMT63184.設(shè)置LCDLCD_MODULE=BROADMOBI68_09B_LCM#BasedontheLCMsolutions(evenmultipleLCMmodulesforthisproject)#SHOULDBEONEOFTHEFOLLOWINGS,basedontheLCM#MTKLCM-Mono,102x64#MTKLCM_COLOR-Color,120x160,forMT6218_MW001orMT6205_CEVB#ORDNANCELCM-Mono,112x64#KLMLCM-Color,128x128#INFOLCM-Color,128x128#TOPPOLY_LCM-Color,128x160,forMT6218B_EVB#SONY_LCMMAIN_LCD_SIZE=320X480#Todistinguishthemainlcdsize.#Wecanuseittocopythematchingresources,suchthemecomponents.h,Fontres.c,L_xxx.h,etc,toPLUTO_MMIfolderSUB_LCD_SIZE=NONE#NONE,48X64BW,64X96,96X64BW,96X64,128X128COM_DEFS_FOR_BROADMOBI68_09B_LCM=BROADMOBI68_09B_LCMTFT_MAINLCD#TFT_MAINLCD–LCD類型驅(qū)動(dòng)代碼:\custom\drv\LCD\$(LCD_MODULE)\lcd.c\custom\drv\LCD\$(LCD_MODULE)\lcd_hw.h\custom\drv\LCD\$(LCD_MODULE)\lcd_sw.h\custom\drv\LCD\$(LCD_MODULE)\lcd_sw_inc.h\custom\drv\LCD\$(LCD_MODULE)\lcd_rnd.h5.設(shè)置CameraCMOS_SENSOR=OV2655#OV9640,PAS105,OV9650#MT9D011,#6229uses2Msensor-MT9D011SENSOR_ROTATE=SENSOR_ROTATE_0#SENSOR_ROTATE_0,SENSOR_ROTATE_90,SENSOR_ROTATE_180,SENSOR_ROTATE_270HORIZONTAL_CAMERA=TRUE#FALSE,TRUE#Toenablehorizontalcamerafeature.#AddHORIZONTAL_CAMERAtoglobalcompileoptionwhenthevalueisTRUE.WEBCAM_SUPPORT=TRUE#TRUE,FALSEforWEBCAMERAsupportSENSOR_TYPE=RAW#RAW,YUV,DIRECT,NONE對(duì)攝像頭FineTune直接聯(lián)系廠商或MTK。驅(qū)動(dòng)代碼:mcu\custom\drv\camera\PROJECTNAME\camera_hw.cmcu\custom\drv\camera\PROJECTNAME\camera_tuning_oper.c6.FM設(shè)置FM_RADIO_CHIP=MT6188A1#NONE,TEA5767HN,FM_RADIO_RECORD=FALSE#TRUE,FALSE7.TP(TouchPanel)設(shè)置TOUCH_PANEL_SUPPORT=TP_INTERNAL#NONE,MT6301,MT6301B,TP_INTERNALTOUCH_PANEL_SHORTCUT_SUPPORT=FALSE#FALSE,TRUE#TRUEfortouchpanelsizeneedtobelargerthanLCDsize#Supporttouchpanelshortcutfunctionality8.MSDC–大容量設(shè)備管理器設(shè)置MSDC_CARD_SUPPORT_TYPE=MSDC_SD_MMC#MSDC_SD_MMCforSD/MMCcardsupport#MSDC_MSforMScardsupport#MSDC_MSPROforMS-PROcardsupport#NONE#MT6218B,MT6217,MT6219supportMSDC#MT6218,MT6205B,MT6208don'tsupportMSDC9.USB設(shè)置USB_SUPPORT=TRUE#MT6218BandMT6219chipsupportUSBUSB_MULTIPLE_COMPORT_ENABLE=FALSE#TRUE/FALSE.ToenableUSBmultiplecomportfeatureUSB_HS_SUPPORT=TRUE#TRUE,FALSEUSB_COM_PORT_SUPPORT=TRUE#TRUE,FALSEUSB_MASS_STORAGE_SUPPORT=TRUE#TRUE,FALSEUSB_IN_META_SUPPORT=FALSE#TRUE,FALSE#ToenableUSBsuuportinMETAmodefeatureUSB_IN_NORMAL_MODE_SUPPORT=TRUE#TRUE,FALSE#ToenableUSBmassstoragesupportinnormalmodeUSB_DOWNLOAD=NORMAL#NONEorNORMALorSECURE#ToenableFactoryDownload/ConnectionviaUSBcable10.AudioCodec–音頻解碼器AMRWB_DECODE=TRUE#TRUE/FALSEAMRWB_ENCODE=TRUE#TRUE/FALSE#MT6219DSPcannotsupportAMRWB_ENCODEwhenGPRSconnectionDAF_ENCODE=FALSE#TRUE,FALSEDAF_DECODE=TRUE#TRUE/FALSEAAC_DECODE=TRUE#TRUE/FALSEAAC_PLUS_DECODE=TRUE#TRUE/FALSEAAC_PLUS_PS_DECODE=FALSE#TRUE,FALSEMMF_DECODE=FALSE#TRUE,FALSEMMF_DECODEsupportinMT6218B,MT6217,MT6219andlaterchipWMA_DECODE=FALSE#MT6228supportWMADECODE11.Image/ViddoCodec–視頻解碼RawRGBèJPEG/JPEGèRawRGB轉(zhuǎn)換,可以是硬件或軟件進(jìn)行解碼。JPG_DECODE=JPG_HW#NONE,JPG_SW,JPG_HW.JPG_ENCODE=JPG_HW#NONE,JPG_SW,JPG_HW.GIF_DECODE=TRUE#TRUE/FALSEPNG_DECODE=PNG_HW#NONE,PNG_HW,PNG_SWMJPG_DECODE=FALSE#TRUE/FALSEMJPG_ENCODE=FALSE#TRUE/FALSEMP4_DECODE=TRUE#TRUE,FALSEMP4_ENCODE=TRUE#TRUE,FALSE12.BT–藍(lán)牙BLUETOOTH_SUPPORT=BTMTK_MT6612#NONE,BTMTK,BTMTK_MT6601,BTMTK_MT6612,BTMTK_MT6612,BTMTK_MT6616BLUETOOTH_VERSION=BT_VER_30#NONE,BT_VER_PRE21,BT_VER_21,BT_VER_3013.IrDa–紅外IRDA_SUPPORT=FALSE#IRDAsupportfeature14.MS(MitionSensor)-加速傳感器MOTION_SENSOR_SUPPORT=NONE#NONE,KXP84_SPI,KXP84_I2C,KXP74_SPI,MXC6202_I2C,MMA7660_I2C,KXTF9_I2C#Formotionsensorfunctionsupportornot.15.EMI配置設(shè)備類型為NANDFlash的make文件配置:NAND_FLASH_BOOTING=ONDEMAND#NONE,ENFB,ONDEMAND,MIXED,BASIC#NONE:NORXIPProjectandit'snotNANDFLASHBOOTING#ENFB:MMIImagesandstringputonTHIRD_ROManddynmaicloadintoRAMbyapplication.DefaultforMT6228/29/30#ONDEMAND:MMIResourceandSomeNon-Real-TimeAppROputonNANDandon-demandpagein.#ARM9MMURequired.DefaultforMT6235/38#MIXED:BothENFBandOn-DemandPageInmechanismenabled.ARM9MMURequired.PickthistosupportMBAFeature.#BASIC:NandFlashBootingisturnedon,butnoneofENFBandONDEMANDexists.OnlyROMandSECONDARY_ROM.NAND_SUPPORT=TRUE#NANDSUPPORTSYSTEM_DRIVE_ON_NAND=TRUE#FALSE:SystemDriveonNORflash#TRUE:SystemDriveonNANDflashFOTA_UPDATE_PACKAGE_ON_NAND=FALSE#TRUE,FALSE設(shè)備類型為NORFlash的make文件配置:NAND_FLASH_BOOTING=NONENAND_SUPPORT=FALSESYSTEM_DRIVE_ON_NAND=FALSE文件位置:mcu\tools\MemoryDeviceList\MemoryDeviceList_XXXX.xls在數(shù)據(jù)庫(kù)文件中查找是否有我們用到的EMI類型型號(hào),如果沒(méi)有則MTK不支持,如果有則寫入EMI配置文件:mcu\custom\system\PROJECTNAME\custom_memorydevice.h第一步:設(shè)置設(shè)備類型。/*****************************************************************************Step1:SpecifymemorydevicetypeanditscompletepartnumberPossiblememorydevicetype:NOR_RAM_MCP,LPSDRAM,NOR_LPSDRAM_MCP*****************************************************************************/#defineMEMORY_DEVICE_TYPELPSDRAM#defineCS0_PART_NUMBERH8BCS0SI0MBR//EHD013111MA_60//如果設(shè)備類型為NOR_RAM_MCP,則需要如下配置://#defineCS0_PART_NUMBERLRS1828C//#defineCS1_PART_NUMBERLRS18//CS0和CS1要一致,PART_NUMBER則根據(jù)實(shí)際通過(guò)數(shù)據(jù)庫(kù)xls文件查詢。第二步:設(shè)置FLASH和RAM訪問(wèn)類型。/*****************************************************************************Step2:SpecifyaccesstypeforNOR_RAM_MCP;forLPSDRAM,justassignUNDEF_ACCESStobothitems(NOR_ACCESS_TYPEandRAM_ACCESS_TYPE)Possibleaccesstypes:ASYNC_ACCESS,SYNC_ACCESS,UNDEF_ACCESS*****************************************************************************/#defineFLASH_ACCESS_TYPESYNC_ACCESS#defineRAM_ACCESS_TYPESYNC_ACCESS//設(shè)置對(duì)于LPSDRAM類型來(lái)說(shuō),這項(xiàng)忽略,不過(guò)一般選UNDEF_ACCESS。第三步:設(shè)置NOR_FDM版本,支持大容量的NOR-FLASH/*****************************************************************************Step3:FDMVersionChooseMTKNORFDMisupgradedto5.0from2006/Q3tosupportlargeNOR-flashdisk(multi-bank),forexample,diskspacelargerthan64blocks.ThemajordifferenceofNORFDM5.0andNORFDM4.0asbelow:1.RAMconsumptionTomanage32MBINTELM18NOR-flashdisk,FDM5.0consumes1KB,butFDM4.0takes32KB.2.AddressableblocknumbersTheaddressablespaceofNORFDM5.0is65K-1blocks,butNORFDM4.0islimitedat128-1blocks.3.IdlereclaimandmanualreclaimareimplementedonNORFDM5.0.ToenableNORFDM5.0onNOR-flashdisk,pleaseenablethefollowingdefinitionandcustomizecustom_flash_norfdm5.c;theoptionisswitchon/offatcustomersitewithoutdelivernewlibrary.[REMIND]========Tomanagesmalldiskspace,likesmallerthan64blocks,FDM4.0isrecommended.*****************************************************************************///#define__NOR_FDM5__//由于我們使用LPSDRAM,所以不用定義//一般大于128個(gè)blocks才啟用,否則注解掉。第四步:FAT配置存儲(chǔ)區(qū)可劃分為代碼區(qū)和文件存儲(chǔ)區(qū),而文件存儲(chǔ)去有可分為用戶區(qū)域和系統(tǒng)區(qū)域,系統(tǒng)區(qū)域可用來(lái)放NVRAM和MMS文件。文件存儲(chǔ)區(qū)用戶區(qū)域|系統(tǒng)區(qū)域||很多NOR-Flash手機(jī)通常不舍用戶區(qū)域,而NANDFlash一般會(huì)設(shè)置一定的用戶區(qū)域。如果是NORBooting類型(例子)://文件系統(tǒng)起始位置為14MB處,也就是說(shuō)代碼區(qū)域就是從0x0000000~0x0E00000#defineNOR_BOOTING_NOR_FS_BASE_ADDRESS0x0E00000//文件系統(tǒng)總的容量2MB,包括用戶區(qū)域和系統(tǒng)區(qū)域#defineNOR_BOOTING_NOR_FS_SIZE0x0200000//用戶區(qū)域500個(gè)SECTORS,每個(gè)SECTOR為512Bytes,這樣總共用戶區(qū)域就是0.25MB#defineNOR_BOOTING_NOR_FS_FIRST_DRIVE_SECTORS500如果是NAND-FLASHBooting類型(例子)://文件系統(tǒng)起始位置為64MB處,也就是說(shuō)代碼區(qū)域就是從0x00000000~0x04000000#defineNAND_BOOTING_NAND_FS_BASE_ADDRESS0x04000000//文件系統(tǒng)總的容量192MB,包括用戶區(qū)域和系統(tǒng)區(qū)域#defineNAND_BOOTING_NAND_FS_SIZE0x0C000000//用戶區(qū)域262144個(gè)SECTORS,每個(gè)SECTOR為512Bytes,這樣總共用戶區(qū)域就是128MB#defineNAND_BOOTING_NAND_FS_FIRST_DRIVE_SECTORS262144還有一種變態(tài)的情況就是,NOR-BOOTING,但是文件系統(tǒng)是NAND的,這種情況基本較少,不翻譯了,將就這看吧:***********************************************************************Step5:ForNOR-XIPconfiguration,if1."SYSTEMDRIVEONNAND"or2."SYSTEMDRIVEONNOR"andFOTA"UPDATEPACKAGEONNAND"featureisenabled.UsersareresponsibletospecifyFS(filesystem)regioninformationonNAND-flashhere!Step1.StartaddressofFSregiononNAND-flash,Step2.TotalFSsizeonNAND-flashdiskStep3.Thefirstdrive(orpartition)sizeofFSregion.ifnoadditionaldriveonNAND-flashdisk,itshouldbe0.Formoredetails,pleaserefertoREMIND1and2.Forexample,on128MBNAND-flash,becausecodeisalreadylocatedonNORflash,total128MBNAND-flashspaceisreservedforNAND-flashdisk.Reserve~110MBforuserdrive,remainaround15MBforsystemdrive.#defineNOR_BOOTING_NAND_FS_BASE_ADDRESS0x00000000#defineNOR_BOOTING_NAND_FS_SIZE0x08000000//128MB#defineNOR_BOOTING_NAND_FS_FIRST_DRIVE_SECTORS220000//110000KB[REMIND]========1.Itisspecialforflashdiskwhichhastwodrives(orpartitions),thefirstleadingisuserdrive,visibleonUSBdisk,thesecondmaybesystemdrive,andinvisiblefromUSBdisk.2.Forprojectswith__UP_PKG_ON_NAND__defined,NOR_BOOTING_NAND_FS_FIRST_DRIVE_SECTORSwillbeignored.Thatis,NANDflashisallowedtocreateonlyonedrive(orpartition)inthiscase.3.For"SYSTEMDRIVEupdatepackagewillbelocatedinthetopofFSregionbydefault.Auto-Genwillreserverequiredspaceautomatically.[VERYIMPORTANTNOTICE]=======================1.Thevaluesinstep1~3MUSTbesetif__FS_SYSDRV_ON_NAND__or__UP_PKG_ON_NAND__isdefined!!2.ThespareareaisexcludingfromtheFSSPACE!!3.Pleaseassigntheexactintegervalueintermsofsectors(onesectorequalto512Bytes)inNOR_BOOTING_NAND_FS_FIRST_DRIVE_SECTORS.MUSTNOTassignas(TOTAL_FS_SIZE-SIZE_OF_SYSTEM_DRIVE),becausesystemwillkeepsomespacesfordiskmanagement.*****************************************************************************/#defineNOR_BOOTING_NAND_FS_BASE_ADDRESS0x00000000#defineNOR_BOOTING_NAND_FS_SIZE0x08000000#defineNOR_BOOTING_NAND_FS_FIRST_DRIVE_SECTORS220000第五步:從新生成EMI配置和SCATTER文件。在project.mak文件中SYSGEN_ENABLE=TRUEMake[prject_name]umtsemiclean–先清理emi配置Make[prject_name]umtssysgen--生成emi和scatter16.使用DrvTool對(duì)GPIO/GPO,EINT,ADC,KEYPAD等進(jìn)行配置,生產(chǎn)驅(qū)動(dòng)代碼。首先確認(rèn):DRV_CUSTOM_TOOL_SUPPORT=TRUE,否則不能使用DrvTool配置,這個(gè)設(shè)置將啟用__CUST_NEW__宏。DrvTool的路徑為:mcu\custom\drv\Drv_Tool\DrvGen.exe在工程中,有一個(gè)已經(jīng)配置好的默認(rèn)驅(qū)動(dòng)配置文件codegen.dws,位于:mcu\custom\drv\misc_drv\PROJECTNAME\codegen\16.1打開(kāi)DrvTool首先要保證project.mak文件中:DRV_CUSTOM_TOOL_SUPPORT=TRUE運(yùn)行工具,運(yùn)行界面如下:點(diǎn)擊Open按鈕打開(kāi)剛才的codegen.dws,然后單擊Edit按鈕可進(jìn)入編輯界面。16.2GPIO/GPO設(shè)置。不同的平臺(tái)有不同GPIO/GPO口數(shù)量。如MT6268平臺(tái),有99個(gè)GPIO口,無(wú)GPO口。切換到GPIO設(shè)置頁(yè)面,界面如下:可設(shè)置的GPIO/GPO口如下:GPIO_DIR(方向控制寄存器)對(duì)應(yīng)Def.Dir列GPIO_PULLEN(上位/下拉寄存器)對(duì)應(yīng)InPullEn列GPIO_DINV(輸入倒置寄存器)對(duì)應(yīng)INV列GPIO_DOUT(數(shù)據(jù)輸出寄存器)對(duì)應(yīng)Out列GPIO_DIN(數(shù)據(jù)輸入寄存器)對(duì)應(yīng)In列GPIO_MODE(模式設(shè)置寄存器)對(duì)應(yīng)M0/M1/M2/M3列參考硬件工程師提供的GPIO/GPO配置表進(jìn)行設(shè)置。16.3設(shè)置EINT(外部中斷)。中斷有耳機(jī)插入檢測(cè)中斷,觸摸屏中斷,充電中斷等,參考硬件工程師提供的EINT配置表設(shè)置EINT。16.3ADC設(shè)置ADC有電池電壓通道,充電電流感應(yīng)電壓通道,USB檢測(cè)通道等,詳細(xì)參考硬件工程師提供的ADC配置表設(shè)置ADC。16.4keypad設(shè)置鍵盤的硬件實(shí)現(xiàn)是一個(gè)二維矩陣,交叉點(diǎn)代表一個(gè)按鍵。詳細(xì)參考硬件工程師提供的鍵盤矩陣配置表設(shè)置按鍵定義。17.PWM(脈寬調(diào)制)設(shè)置-主要用于對(duì)屏幕背光燈、按鍵背光燈、閃光燈等亮度的設(shè)置調(diào)整。文件路徑:mcu\custom\app\PRJECTNAME\nvram_user_config.ckal_uint32constNVRAM_EF_CUST_HW_LEVEL_TBL_DEFAULT[]={/*屏幕背光燈*/200,20,/*PWM1Level1*/200,40,/*PWM1Level2*/200,60,/*PWM1Level3*/200,80,/*PWM1Level4*/200,100,/*PWM1Level5*//*按鍵背光燈*/200,0,/*PWM2Level1*/200,0,/*PWM2Level2*/200,0,/*PWM2Level3*/200,0,/*PWM2Level4*/200,0,/*PWM2Level5*//*閃光燈*/200,20,/*PWM3Level1*/200,40,/*PWM3Level2*/200,60,/*PWM3Level3*/200,80,/*PWM3Level4*/200,100,/*PWM3Level5*///LCD對(duì)比度設(shè)置。#if(definedMTKLCM)34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,#elif(definedMTKLCM_COLOR)/*MainLCDcontrastlevel1~15*/148,149,150,151,152,153,154,155,156,158,160,162,164,166,168,#else/*MainLCDcontrastlevel1~15*/120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,#endif/*MainLCDBiasParam(Reserved)*/0,0,0,0,0,/*MainLCDLinerateParam(Reserved)*/0,0,0,0,0,/*MainLCDTemperatureParam(Reserved)*/0,0,0,0,0,//子LCD對(duì)比度/*SubLCDcontrastlevel1~15*/20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,/*SubLCDBiasParam(Reserved)*/0,0,0,0,0,/*SubLCDLinerateParam(Reserved)*/0,0,0,0,0,/*SubLCDTemperatureParam(Reserved)*/0,0,0,0,0,//電池電量等級(jí)設(shè)置。/*BatteryvoltageLevel*/3350000,/*LowBatteryPoweroff*/3400000,/*LowBattery*//*batterylevel1~8*/3550000,3640000,3740000,3870000,9999999,9999999,9999999,9999999,/*電池的等級(jí)對(duì)應(yīng)下面枚舉。文件位于:mcu\ps\l4\include\device.htypedefenum{BATTERY_LOW_POWEROFF=0,BATTERY_LOW_TX_PROHIBIT,BATTERY_LOW_WARNING,BATTERY_LEVEL_0,BATTERY_LEVEL_1,BATTERY_LEVEL_2,BATTERY_LEVEL_3,BATTERY_LEVEL_4=BATTERY_LEVEL_3,/*BATTERY_LEVEL_4*/BATTERY_LEVEL_5=BATTERY_LEVEL_3,/*BATTERY_LEVEL_5*/BATTERY_LEVEL_6=BATTERY_LEVEL_3,/*BATTERY_LEVEL_6*/BATTERY_LEVEL_LAST=9}battery_level_enum;*///=======================================================================200,20,/*PMIC6318PWMLevel1*/200,50,/*PMIC6318PWMLevel2*/200,80,/*PMIC6318PWMLevel3*/200,90,/*PMIC6318PWMLevel4*/200,100/*PMIC6318PWMLevel5*/};文件路徑:mcu\custom\drv\misc_drv\PROJECTNAME\custom_hw_default.ckal_uint32PWM1_Level_Info[PWM_MAX_LEVEL][2]={/*Freq,duty*/{200,20},/*Level1*/{200,40},/*Level2*/{200,60},/*Level3*/{200,80},/*Level4*/{200,100}/*Level5*/};kal_uint32PWM2_Level_Info[PWM_MAX_LEVEL][2]={/*Freq,duty*/{200,20},/*Level1*/{200,40},/*Level2*/{200,60},/*Level3*/{200,80},/*Level4*/{200,100}/*Level5*/};kal_uint32PWM3_Level_Info[PWM_MAX_LEVEL][2]={/*Freq,duty*/{200,20},/*Level1*/{200,40},/*Level2*/{200,60},/*Level3*/{200,80},/*Level4*/{200,100}/*Level5*/};//PWM4,5,6foroldPWNconfigurationbeginkal_uint32PWM4_Level_Info[PWM_MAX_LEVEL][2]={/*Freq,duty*/{200,20},/*Level1*/{200,40},/*Level2*/{200,60},/*Level3*/{200,80},/*Level4*/{200,100}/*Level5*/};//WeusePWM5asLCDbacklight//AndtheLCDbacklightcomponentisconfiguredinsidedtoinvertthesignalfromPWM//Soweneedtoinvertdutysettingforeachlevelkal_uint32PWM5_Level_Info[PWM_MAX_LEVEL][2]={/*Freq,duty*/{200,80},/*Level1*/{200,60},/*Level2*/{200,40},/*Level3*/{200,20},/*Level4*/{200,0}/*Level5*/};kal_uint32PWM6_Level_Info[PWM_MAX_LEVEL][2]={/*Freq,duty*/{200,20},/*Level1*/{200,40},/*Level2*/{200,60},/*Level3*/{200,80},/*Level4*/{200,100}/*Level5*/};//PWM4,5,6foroldPWNconfigurationendkal_uint32Alter_Level_Info[PWM_MAX_LEVEL][2]={/*Freq,duty*/{200,20},/*Level1*/{200,40},/*Level2*/{200,60},/*Level3*/{200,80},/*Level4*/{200,100}/*Level5*/};18.聲音模塊設(shè)置。18.1聲音模塊和用戶之間的數(shù)據(jù)傳輸通道用下面宏來(lái)定義,文件位置:mcu\\interface\l1audio\l1audio.h/**//*AudioOutputDeviceDefinition*//**/#defineL1SP_BUFFER_00x01/*NOTE:Don'tusebufferdefinitiondirectly*耳機(jī)語(yǔ)音數(shù)據(jù)/#defineL1SP_BUFFER_10x02/*Usespeakerdefinitionbelow*手機(jī)聲音/#defineL1SP_BUFFER_ST0x04/*耳機(jī)左右聲道聲音*/#defineL1SP_BUFFER_EXT0x08#defineL1SP_BUFFER_EXT_G0x10#defineL1SP_STEREO2MONO0x20/*Donotusethistermforspeakerdefinition*/#defineL1SP_BUFFER_ST_M(L1SP_BUFFER_ST|L1SP_STEREO2MONO)#defineL1SP_EXT_DAC_BUF00x40#defineL1SP_EXT_DAC_BUF10x80#defineL1SP_LNA_00/*手機(jī)麥克風(fēng)數(shù)據(jù)*/#defineL1SP_LNA_11/*耳機(jī)麥克風(fēng)*/#defineL1SP_LNA_FMRR318.2設(shè)置音樂(lè)通道,文件路徑:mcu\\custom\audio\PROJECTNAME\audcoeff.c//普通麥克風(fēng)通道constunsignedcharL1SP_MICROPHONE1=L1SP_LNA_0;//耳機(jī)模式麥克風(fēng)通道constunsignedcharL1SP_MICROPHONE2=L1SP_LNA_1;//普通聽(tīng)筒通道constunsignedcharL1SP_SPEAKER1=L1SP_BUFFER_0;//耳機(jī)模式聽(tīng)筒通道constunsignedcharL1SP_SPEAKER2=L1SP_BUFFER_ST;//音量放大器輸出通道constunsignedcharL1SP_LOUD_SPEAKER=L1SP_BUFFER_ST_M|L1SP_BUFFER_EXT;18.3音量設(shè)置,文件路徑:mcu\\custom\audio\PROJECTNAME\nvram_default_audio.ckal_uint8constNVRAM_EF_CUST_ACOUSTIC_DATA_DEFAULT[]={…},通過(guò)這個(gè)數(shù)組設(shè)置音量增益。18.4設(shè)置擴(kuò)音。文件:mcu\custom\audio\PROJECTNAME\afe.c首先要設(shè)置正確gpio口,修改如下:voidAFE_SwitchExtAmplifier(charsw_on){……//這個(gè)變量要在DrvTool中配置,否則沒(méi)有該變量。//注意要在__CUST_NEW__宏內(nèi)。externconstchargpio_afe_amplifier_pin;if(sw_on){GPO_WriteIO(1,gpio_afe_amplifier_pin);}Else{GPO_WriteIO(0,gpio_afe_amplifier_pin);}……}然后:不知道啥東西??voidAFE_Initialize(void){///AFE_VAC_CON0::VCALIischipdependent,willbesetinl1audio\afe2.c///immediatelyafterthisfunctioniscalled.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論