如何在mtk平台下载驱动进行驱动调试

如何在MTK平台进行驱动调试_百度知道
如何在MTK平台进行驱动调试
提问者采纳
makefileMXX_GPRS.mak(mcu\make)Option.mak(mcu\make) 对于同一个平台,不同的项目有着不同的功能配置。对于驱动调试来说,需要修改和添加一些宏开关控制; 基本格式和步骤:MXX_GPRS.mak : XXX_XXX
= XXXXXX_XXX = NONEXXX_XXX
= TRUEXXX_XXX
= FALSE Option.mak: ifdef XXX_XXXifneq ($(strip $( XXX_XXX)),FALSE)
+= XXX_XXXendifendif 代码中就使用XXX_XXX来控制相关代码;#if defined(XXX_XXX)//add code here#endifCustominfo.pl(mcu\tools)这个文件是当在mcu\custom\drv下添加与LCD,image_sensor等类似的模块时,需要修改此文件以便ADS编译系统能编译到此模块下的文件;可以参考image_sensor。if (($project ne &basic&) && ($project ne &l1s&) && defined($cmos_sensor)) {
if ($cmos_sensor ne &NONE&) {
push(@thatdirs, &drv\\image_sensor\\$cmos_sensor&);
}}2. LCM;Backlight;Vibrator以SUNRISE_0255_LCM为例步骤1:MXX_GPRS.mak中配置LCD_MODULE和MAIN_LCD_SIZE;LCD_MODULE = SUNRISE_0255_LCMMAIN_LCD_SIZE = 240X320 Option.mak中加入:COM_DEFS_FOR_SUNRISE_0255_LCM
= SUNRISE_0255_LCM HX8312 COLOR_LCD TFT_MAINLCD QVGA_MAINLCD其中HX8312为LCD的型号;COLOR_LCD,TFT_MAINLCD,QVGA_MAINLCD为LCD的类型QVGA_MAINLCD:240X320QCIF_MAINLCD:
176X220QQVGA_MAINLCD: 120X160 如在SUNRISE_0255_LCM的基础上添加兼容屏;则在HX8312后面顺序加入LCD的型号如果有Sub LCD;则需要顺序加入DUAL_LCD;COLOR_SUBLCD以及型号名称;步骤2:Mcu\custom\drv\LCD目录下添加SUNRISE_0255_LCM模块;目录以SUNRISE_0255_LCM为名。可以参考其他LCM;加入和修改5个文件分别为:lcd.clcd_hw.hlcd_sw.hlcd_sw_inc.hlcd_sw_rnd.h lcd.c:实现LCD的驱动接口一般有init; sleep in; block write等lcd_hw.h: 一般不需要修改;lcd_sw.h:
配置data address;command address和output format;lcd_sw_inc.h:配置LCD WIDTH和HEIGHT;lcd_sw_rnd.h: 一般不需修改; 步骤3:加入背光控制代码;Mcu\custom\drv\misc_drv\custom_equipment.ckal_bool custom_cfg_gpio_set_level(kal_uint8 gpio_dev_type, kal_uint8 gpio_dev_level ){
//用SUNRISE_0255_LCM来控制代码} GPIO模式和PWM模式;(函数默认是PWM模式)如果是GPIO模式;则在上述函数中加入模拟代码;如果是PWM模式;则需要根据实际情况在Mcu\custom\drv\misc_drv\custom_hw_default.c文件中修改PWM1_Level_Info;即频率和占空比; 另外在mcu\plutommi\mmi\gpio\gpioSrc\GeneralDeviceInterface.c中有详细的MMI对背光的控制代码; 另外还需熟悉lcd_if.c(mcu\drv\src)对上述接口的调用;3.Camera module;Sensor外挂DSP暂不讨论;以OV9650为例:步骤1:MXX_GPRS.mak中配置ISP_SUPPORT和CMOS_SENSOR;ISP_SUPPORT = TRUECMOS_SENSOR = OV9650
CAMERA_PIXEL = ONE_MEGA_PIXEL注:(一般30万象素可以插值到100万;130万可以插值到200万象素) 步骤2:
Mcu\custom\drv\image_sensor下添加OV9650目录;添加或修改文件:
camera_hw.c:Module Power on/off 控制;(GPIO分配要看硬件的资源分配表)
camera_para.c: ISP、Sensor相关寄存器配置;在实际调试中对比效果来修改;
image_sensor.c:timing;sensor init;power on/off;preview;capture等接口实现;
image_sensor.h:有关sensor一些属性设置(一些宏定义);
camera_info.c: 一般不需修改; 在完成所有的功能之后;效果调试是主要工作;主要工具:META;CCT等;关于ISP Address可参考MTK平台的DataSheet; 步骤3:
需对以下目录的文件有一定的了解!media\camera\;media\video\;plutommi\mtkapp\Camera\plutommi\mtkapp\Video\plutommi\mtkapp\MDI\对于特定项目的键盘的定义和映射以及其他一些特殊的处理;代码用PHONE_TYPE和PLATFORM_NAME的组合来控制;如
PHONE_TYPE = SLIDEPLATFORM_NAME = M678 则代码控制如下:custom\drv\misc_drv\M678_BB\keypad_def.cconst keypad_struct
keypad_custom_def = { #if defined(__PHONE_SLIDE__) //滑盖机型
#if defined(__SLIDE_M678)
//add m678 keypad define here
//ROW 0(第一列)DEVICE_KEY_XX,……//ROW 1(第二列)…….//…….
#endif#elif defined(__PHONE_BAR__) //直板机型
//#elif defined(__PHONE_SPIN)
//旋转机型
//#elif defined(__PHONE_CLAMSHELL) //翻盖机型
//#endif}; 如果除了平台提供的基本的按键外还需添加特定的按键定义;则除了上述外还需修改以下几处:interface\hwdrv\kbd_table.h定义DEVICE_KEY_XX;注意顺序#define DEVICE_KEY_XX
顺序值 plutommi\mmi\Framework\Osl\OslSrc\KeyBrd.c假设DEVICE_KEY_XX为特定的按键//定义特定的按键const U16 PresentAllKeys[]={
KEY_5,……
//定义特定的按键#if defined(__SLIDE_M678),KEY_XX#endif};//键盘映射(注意加入顺序要与PresentAllKeys[]一致)static const KeyPadMap nKeyPadMap[] = {
{DEVICE_KEY_0, KEY_0, KEY_TIMER_ID0, TONE_DTMF_0,
DEVICE_AUDIO_PLAY_INFINITE},{DEVICE_KEY_1, KEY_1, KEY_TIMER_ID1,
TONE_DTMF_1, DEVICE_AUDIO_PLAY_INFINITE},…………//映射特定的按键#if defined(__SLIDE_M678){DEVICE_KEY_XX, KEY_XX, KEY_TIMER_IDXX, TONE_DTMF_1,
DEVICE_AUDIO_PLAY_INFINITE},#endif};//定义TIMER ID;即KEY_TIMER_IDXXplutommi\mmi\Inc\TimerEvents.h顺序加入KEY_TIMER_IDXX; 另外在drv\src\kbdmain.c中可以修改debounce time; Long press Time; Repeat Time等参数来满足特殊的需要;5.耳机检测;线控custom\drv\misc_drv\M678_BB\auxmain.c对于耳机检测;一般只需关心AUX_EINT_NO(一般平台默认)和SENDKEY_ADC(见auxmain.c);可根据硬件的实际情况作一些相关的调整; 对于线控来说;需要配置REMOTE_EINT_NO、 REMOTE_ADC以及按键Press/Release对应的ADC值;具体的处理过程可参考26平台__LINE_CONTROL_EARPHONE_SUPPORT__控制的代码;6.ADCMT6226平台可用资源ADC0-ADC6; 以线控为例,介绍一下修改或者添加流程:interface\hwdrv\Bmt.htypedef enum {
vbat_adc_channel=0,
visense_adc_channel,
vbattmp_adc_channel,……#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)
remote_adc_channel,
#endif……} adc_channel_ custom\drv\misc_drv\M678_BB\adc_channel.c#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)const kal_uint8 ADC_REMOTE=6;
//假设硬件接ADC6#endif kal_uint8 custom_adc_get_channel(adc_channel_type type){
Switch(type){
………#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)
case remote_adc_channel:
return ((kal_uint8)ADC_REMOTE);
#endif}; custom\drv\misc_drv\M678_BB\auxmain.cvoid aux_task_main( task_entry_struct * task_entry_ptr ){#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)kal_uint8
remote_adc_logic_kal_uint8
remote_adc_no#endif…………//创建#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)remote_adc_no
= custom_adc_get_channel(remote_adc_channel)
remote_adc_logic_id = adc_sche_create_object(MOD_AUX, remote_adc_no,40,1, KAL_TRUE);
while(1){receive_msg_ext_q(task_info_g[task_entry_ptr-&task_indx].task_ext_qid, &current_ilm);
switch(current_ilm.msg_id)
case MSG_ID_READ_ALL_ADC_CHANNEL_REQ:
#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)
aux_read_adc_channel(remote_adc_logic_id);
#endif……
case MSG_ID_BMT_ADC_MEASURE_DONE_CONF:
#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)
else if (mea_done_ptr-&adc_sche_id == remote_adc_logic_id)
adc_measure_count++;
remote_value = (kal_int32)mea_done_ptr-&
aux_remove_adc_channel(remote_adc_logic_id);
}}CLAMSHELL中断的REGISTOR可以在上述函数中添加7.EINT关于EINT的描述请参考平台的以线控为例,介绍一下修改或者添加流程: interface\hwdrv\Eint.h:typedef enum{
#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)
remote_eint_chann,
……} eint_channel_ custom\drv\misc_drv\M678_BB\Eint_def.c#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)
const kal_uint8 REMOTE_EINT_NO=3;
//假设硬件配置为EINT3#endif kal_uint8 custom_eint_get_channel(eint_channel_type type){
switch(type)
#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)
case remote_eint_chann:
return ((kal_uint8)REMOTE_EINT_NO);
……}} custom\drv\misc_drv\M678_BB\auxmain.c//中断处理函数void REMOTE_EINT_HISR(void){
if (remote_state) //高电平
//相关处理代码
else//低电平
//相关处理代码
}}//中断注册void aux_task_main( task_entry_struct * task_entry_ptr ){
kal_uint8 remote_eint_
……#if defined(__LINE_CONTROL_EARPHONE_SUPPORT__)
remote_eint_no = custom_eint_get_channel(remote_eint_chann);
EINT_Registration(remote_eint_no,KAL_TRUE,remote_state,REMOTE_EINT_HISR, KAL_TRUE);
#endif ……}在注册中断时要注意:中断触发方式:电平触发/边沿触发?debounce: Enable/Disable?电平触发高电平有效还是低电平有效等问题。 对于Eint0 - Eint3;可以通过下面的文件来修改debounce time;而Eint4 - Eint7没有debounce机制custom\drv\misc_drv\M678_BB\Eint_def.ckal_uint8 custom_eint_sw_debounce_time_delay[EINT_MAX_CHANNEL] ={
/*EINT 1*/
/*EINT3*/};单位:50ms 也可通过下述方法来修改EINTaddr()EINT_Set_HW_Debounce()EINT_SW_Debounce_Modify()等函数来修改8. Charger/USB可参考Customer_BMT_V0.1.pdf相关文件:custom\drv\misc_drv\M678_BB\chr_parameter.c
关注点:bmt_customized_struct
bmt_custom_chr_def[] = {};此为充电相关电压和电流的设置;static const kal_int32 chr_usb_detect_volt;此为CHARGER/USB检测的电压值; Mcu\bmt\*.*Mcu\drv\src\pwic.c9.Touch panelcustom\drv\misc_drv\M678_BB\touch_panel_custom.cc缉功光嘉叱黄癸萎含联ustom\drv\misc_drv\M678_BB\touch_panel_custom.h custom\drv\misc_drv\M678_BB\touch_panel_spi.ccustom\drv\misc_drv\M678_BB\touch_panel_spi.hdrv\src\touch_panel.cdrv\src\touch_panel_main.c修改点包括:GPIO分配;ADC值;坐标值;中断配置;压力检测等具体修改可参考代码;10. AFEcustom\audio\M678_BB\afe.c(模拟开关、PA切换等)custom\audio\M678_BB\audcoeff.c(FIR Input/Output参数)custom\audio\M678_BB\nvram_default_audio.c(GAIN值)l1audio\afe2.c (AFE管理代码) 以上根据硬件给出的数据来进行调整!11.Task
如何在MTK平台使用Task?以DMB项目为例;请参照下述文件;DMB_SUPPPORT控制
custom\system\M678_BB\custom_config.c
custom\system\M678_BB\custom_config.h
custom\drv\DMB\TCC78X\dmb_hw.c 12
Nor/Nand F T-Flash添加新的NAND:Drv\src\NAND_MTD.cstatic const flash_list NAND_ID_Table[] ={//{ ID, planesize in MB, blocksize in KB, pagesize in B, address cycle, IO bus width, mtd sub driver} //添加新的NAND的相关信息(参考芯片Spec)}DA(Download Agent)部分代码(一般不需修改)DA_SRC\src\nand_dev_tbl.cConst NAND_Device_S
g_NandFlashDevTbl[] ={
//加入新的NAND信息(参考芯片Spec)};添加新的Nor FlashDA_SRC\src\flash_dev_tbl.cConst Nor_Device_S
g_FlashDevTbl[] ={
//加入新的Nor信息(参考芯片Spec)}; 对于DA的修改;需重新生成DA文件用于Flash Download Tool
来自团队:
其他类似问题
为您推荐:
mtk的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁邮箱账号:
请输入邮箱帐号!
请输入账号密码!
请输入Djob码!
自动登录 (网吧,公共环境下请取消)
授权登录:
还没有账号,
深圳市德凯瑞科技有限公司
公司行业:
机电、机械制造、模具、汽车、汽配、船舶、厨具、摩托车、维修等
招聘人数:
提供月薪:
工作性质:
学历要求:
工作年限:
年龄要求:
职位类别:
光通信工程师,射频工程师,电子工程师
工作地点:
深圳-南山区
职位描述:
&&&&1)本科以上学历,通讯工程、计算机、自动化等相关专业,英语4级以上;2)2年以上Linux底层开发经验;3)熟悉Linux操作系统,具有实际开发调试设备驱动的经验;4)熟悉android系统架构;5)熟悉软件开发方法,掌握常用开发工具和调试手段;6)具备独立分析问题,解决问题的能力,有较强的团队合作精神及良好的协调沟通能力。7)熟练掌握MTK智能机、功能机驱动调试方法。8)有带项目经验, 了解MTK智能机、功能机MMI框架,可制作客户需求。9)有MTK平台驱动调试经验的优先。
查看地图位置
统一热线:5服务热线:
◆◆扫我,找工作更得劲!
该职位已过期,不接受申请
岗位职责:&
1. 负责手机软件的代码编写、平台集成与调试;
2.手机软件BUG分析、跟踪与解决;
3.MTK功能机平台驱动的调试工作。
1、有良好的个人素养和敬业精神,勤奋,务实,上进心强,责任心强, 具有良好的工作态度、沟通技巧和团队协作精神;
2、从事过MTK平台手机开发,具有四年以上MTK平台工作经验,熟悉MT6260、MT6261平台的软件架构;&
3、能够独自承担MTK功能机平台的驱动开发工作,包括lcd touchpanel keypad camara sensor sd battery bluetooth的调试等等;
4、熟悉MTK功能机平台SOCKET网络应用开发,具有ublox gps芯片的调试经验,有定位项目的开发经验;
5、热爱软件开发工作,学习能力强,能够独立思考,注重工作效率,软件设计思想成熟,思路清晰;&
6、项目紧急的情况下能接受加班,有MMI界面开发能力者优先考虑。
该职位已过期,不接受申请
深圳万瑞博科技有限公司
深圳万瑞博科技有限公司是一家集研发、设计、生产及销售为一体的高科技技术企业,公司秉承“品质第一,信誉至上”的经营理念,为广大用户提供高品质、高性能、高价值的优质产品,公司凭借强大的自主研发团队,成功开发出多款美观、时尚、功能强大的智能可穿戴产品,主要产品有:时尚智能手表、智能手环、智能眼镜、智能戒指、老人智能手表、儿童智能手表、智能宠物环、智能老人信息卡及智能学生卡等。 公司将倡导“团结、拼搏、求实...
该公司其它职位
邮件发送该职位
最多可填写3个邮箱地址
您的邮箱地址(必填):
同时收藏该职位(收藏夹已满)
订阅同类职位
邮件发送成功
已成功将该职位发送给位收件人
您的订阅已超过上限,如需继续订阅,请在
中至少停用1条订阅。
收藏夹已满
您尚未登录,最多可在本机收藏5个职位。更多跨平台收藏请
您也可以将职位
合并收藏成功
我们已经将您在未登录时收藏的5个职位合并到收藏夹。
/ 深圳网监处备案号:
&&&|&&&法律声明&&&|&&&网站地图mtk刷机驱动|mtk通用usb刷机驱动 - 未来软件园下载站最安全的下载网站、值得信赖的软件下载站!
> mtk通用usb刷机驱动mtk通用usb刷机驱动更新时间: 软件类别:其他驱动授权: 免费软件语言: 简体中文平台: WinXP,Win7,Win8.1标签:     相关软件更新时间:
更新时间:
更新时间:
更新时间:
更新时间:
下载周排行下载月排行1
本类推荐软件20.2 MB/简体中文/4
4.72 MB/简体中文/4
9.16 MB/简体中文/5
5.80MB/简体中文/5
3.14 MB/简体中文/5
6.41 MB/简体中文/5
25.73 MB/简体中文/4
11.43 MB/简体中文/3
14.4 MB/简体中文/3
2.62 MB/简体中文/5
装机必备软件聊天杀毒输入法影音下载浏览器其他热门关键字 mtk通用usb刷机驱动能够帮助电脑连接MTK系统的智能手机,兼容win7系统。还拥有ADB联机驱动和刷机驱动自动安装版。基本简介  【ADB联机驱动】  这个是豌豆荚和91助手同步手机时候的驱动,开启USB调试后,接上电脑,即可提示发现新硬件,这时候把路径指向【ADB联机驱动】即可。  【刷机驱动自动安装版】  这个是MTK智能机刷机必须要的驱动,没有这个是刷机不了的,进度条不会走动的!很简单,打开这个文件夹,点击安装即可。  发现新硬件后,如果提示安装不成功,请【【补充】提示无驱动-解决INF无效】按里面的教程操作  将mdmcpq.inf复制到c:\windows\inf  将usbser.sys复制到c:\windows\system32\drivers即可。上一篇: 下一篇:
相关壁纸:下载地址: mtk通用usb刷机驱动

我要回帖

更多关于 mtk 驱动调试 的文章

 

随机推荐