1、项目介绍
项目中包含主板和项目名,如:MA2810_it5626N,其中MA2810是主板名称,it5626N是项目名称,一个主板可以有不同的项目,如:MA2810_T529。
同一个项目会有不同市场的软件,对于不同的市场也会有市场简称,如:IN(印度市场),ET(埃塞市场),RU(俄罗斯市场),PK(巴基斯坦市场),SEA(东南亚市场),BD(孟加拉市场)等。
没有加特定市场的则称为公开市场,如:MA2810_it5626N为公开市场,MA2810_it5626N_ET为埃塞市场。
2、项目流程
NPI(New Product Introduction的缩写,即新产品导入流程),共7个阶段---规划&立项、启动、设计、开发、验证、小批量、量产,后续有些项目也会有量升。
具体可查看NPI相关文档。
3、在原有项目分支上新建一个项目
以MA2810_IT5626N为例
1.判断该分支中是否有同主板项目,若没有则根据项目工程信息新建
MA2810_it5626N_GPRS.mak 基于UL260_Z212_AF_GPRS.mak创建 分支信息:svn://192.168.3.79/MTK6260/11BW1308MP_SAGETEL60A_6464_11B_V40_GPRS_MMI_ITEL_3CARD
D:\11BW1308MP_SAGETEL60A_6464_11B_V40_GPRS_MMI_ITEL_3CARD\custom
在custom目录下都是驱动需要配置的
根据项目名称的信息,把custom目录下需要新建的文件夹都新建
如:custom\app
2.根据硬件配置表配置MA2810_it5626N_GPRS.mak文件中的信息
# 配置射频参数 RF_PARA_CUSTOM = MA2810_V00_H8269U_EU # 配置音频参数 AUDIO_PARA_CUSTOM = MA2810_IT5626N # flash配置 FLASH_CUSTOM = MA2810_IT5626N # GPIO口配置 DRIVER_DWS_CUSTOM = MA2810_PA_BB # LCD模组配置 LCD_MODULE = SAGETEL60A_MA2810_LCM COM_DEFS_FOR_SAGETEL60A_MA2810_LCM = COLOR_LCD SAGETEL60A_MA2810_LCM TFT_MAINLCD # LCD分辨率配置 MAIN_LCD_SIZE = 240X320 # LCD TE配置 SYNC_LCM_SUPPORT = TRUE # camera配置 CMOS_SENSOR = GC6133_SERIAL CAM_GC6133_SERIAL_CUSTOM = CAM_MA2810_IT5626N SECOND_CMOS_SENSOR = BF30A2_SERIAL CAM_BF30A2_SERIAL_CUSTOM = CAM_MA2810_IT5626N THIRD_CMOS_SENSOR = GC6153_SERIAL CAM_GC6153_SERIAL_CUSTOM = CAM_MA2810_IT5626N # SIM卡配置 GEMINI = 3 ………………………………
主要是根据客户需求来配置相关的功能。
3.驱动器件调试总结
一、 dws配置
路径:\custom\codegen\SAGETEL61A_XXX_BB\codegen.dws
各个模块正常工作最基本的保障,设计各种GPIO口、特殊功能口、中断口、键盘等配置
二、Flash配置:
路径:\custom\system\SAGETEL61A_XXX_BB
文件: custom_MemoryDevice.h、 MemoryDeviceList_XXX..xls
flash兼容,如果使用的是芯片内部flash,这个文件通常不用动,若使用外部Flash,则需要根据MTK在这个平台上对Flash的支持情况来配置,需要关注到\tools\MemoryDeviceList\ MemoryDeviceList_MT6261_Since11CW1352.xls 文件。
首先项目或硬件同事会提供项目中使用的flash型号或datasheet。然后到mcu\tools\MemoryDeviceList\ MemoryDeviceList_XXX..xls(一般是日期最靠前的那个)查找,是否有flash对应的型号。如果有,表示软件支持这颗flash。如果没有则需要到MTK网站上去下载最新的Excel表格。通常来说,无法下载或者开不了机,首先要检查flash是否配置正确。
三、射频配置
路径:\custom\l1_rf\MT6261RF_CUSTOM\
文件: l1d_custom_rf.h
在l1d_custom_rf.h文件中配置RF相关的控制逻辑,通常每个新平台新分支中都需要加入自动接听功能:\plutommi\mmi\Ucm\UcmSrc\UcmUi.c
四、背光:
路径:\custom\drv\misc_drv\_Default_BB\MT6261\
文件:uem_gpio.c、pmu_custom.c
需要关注硬件原理图,看是PWM模式还是GPIO脉冲模式,或者ISINK模式。
五、LCD
路径:custom\drv\LCD\\custom\drv\LCD\SAGETEL61A_XXX_LCM
文件:lcd.c、 lcd_hw.h、 lcd_sw.h
LCD驱动相关的文件就这几个,作为用户最直接的接口,LCD通常需要调试的问题也比较多,如白屏、花屏、闪屏、射频干扰、防静电、以及效果优化等问题,需要特别关注interface、init、sleep、blockwrite等函数,另外还有几种常用的兼容方式:并口、串口、硬件ID脚兼容。
六、键盘
路径: \custom\codegen\SAGETEL61A_XXX_BB\codegen.dws
文件:codegen.dws
通常只需要修改codegen.dws就可以了,需要参照原理图及按键位号图来配置,也可直接参照PCB图直接配置,切勿轻信原理图上的按键标注。
七、音频
路径: \custom\audio\SAGETEL61A_XXX_BB
文件:afe.c、afe_6260.c
音频方面在一些常规常规项目上不需要驱动配置很多,只需要关注是否使用外置PA,如果有使用外部PA则需要在afe.c文件中对相应PA使能脚进行操作,个别项目可能会对使能时的脉冲数有要求,不同脉冲对应不同功率。如果是一些非常规的项目,比如三合一、二合一、双喇叭等,还需要在audcoeff.c中做相应修改。
八、Camera
路径:\custom\drv\YUV_sensor\custom\drv\camera_common
文件:image_sensor_XXX.c、image_sensor_XXX.h、usbvideo_attr_XXX.c、camera_hw.c
Camera同LCD一样,作为手机的一个大件,遇到的问题及需要调试的东西也会比较多。各个IC的驱动文件通常IC都会提供,camera_hw.c文件中主要配置模组需要的AVDD、DVDD等上电电压以及pin脚定义。sensor_capability.h文件中定义该camera的像素。
九、FM
路径:\fm_drv
文件:MT6250FM_drv.c
FM一般只需要关注一下该项目是否支持gsm共享天线,如果支持,需要在开启和关闭FM时对gsm通路上的FM低噪放使能进行造作,另外个别客户可能会对搜台数有要求,在硬件上没有更好的解决办法情况下可能需要软件来修改门限值来增加搜台数。
十、耳机
路径:\hal\peripheral\src
文件: accdet.c
需要关注一下耳机检测的方式,常用的有ACCDET检测,中断+ACCDET检测两种
十一、BT
蓝牙模块通常集成在芯片中,代码也都比较完善,驱动一般不需要特别关注,个别客户对部分协议可能有特殊要求,只需要查看maefile中各个宏控的配置情况,开启或关闭都需要向MTK申请PATCH.
十二、其他
此外还有马达、按键灯、RGB灯的配置也都在uem_gpio.c文件中。