欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    [精选]MTK手机设备驱动编写介绍.pptx

    • 资源ID:96464026       资源大小:252.37KB        全文页数:30页
    • 资源格式: PPTX        下载积分:25金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要25金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [精选]MTK手机设备驱动编写介绍.pptx

    MTK DRIVER INTRODUCTION首先需要注意两个宏定义1._CUST_NEW_程序中有多处用该宏将代码隔开Make文件中假设如下定义:DRV_CUSTOM_TOOL_SUPPORT =TRUE Option.mak文件中ifdef DRV_CUSTOM_TOOL_SUPPORT ifeq$strip$DRV_CUSTOM_TOOL_SUPPORT,TRUE _DEFS +=_CUST_NEW_ endifendif2.WIN32#ifndef WIN32#endif用该宏将真机与模拟器的代码分隔开 一.GPIO口的初使化与使用 GPIO口的初始化方法:两种:1.工具customdrvDrv_ToolDrvGen.exe 修改:customdrvmisc_drvIWIT23_NEP_07A_PMJ_BBcodegencodegen.dws 2.程序中修改:Gpio_drv.c void GPIO_initvoid 操作 1.写状态 a.模式修改 GPIO_ModeSetupkal_uint16 pin,kal_uint16 conf_dada b.方向修改 void GPIO_InitIOchar direction,char port c.置高与置低 GPIO_WriteIOchar data,char port d.上拉与下拉的使能void GPIO_PullenSetupkal_uint16 pin,kal_bool enable 2.读取状态 a.返回模式char GPIO_ReturnModechar port;b.返回方向char GPIO_ReturnDirchar port;c.返回电平值char GPIO_ReturnDoutchar port;3.GPIO使用中需注意的问题 二.中断的配置与使用.中断个数 8个EINT0,EINT1为专用中断,EINT2-7 与GPIO等功能复用.设置中断模式通过DRV_TOOL或Gpio_initvoid来初始化,也可在程序中通过GPIO_ModeSetupkal_uint16 pin,kal_uint16 conf_dada随时修改.中断注册函数 在某个TASK中注册中断,建议注册在AUX_TASK中,便于管理 EINT_RegistrationFLICK_EINT_NO,KAL_TRUE,flick_state,FLICK_EINT_HISR,KAL_TRUE;.中断处理函数以FLICK及BATTERY两个中断为例:void FLICK_EINT_HISRvoid /added by Jeff Ji 071024 ilm_struct *flick_ilm;aux_id_struct *aux_id_data;if flick_state=LEVEL_HIGH aux_id_data=aux_id_struct*construct_local_parasizeofaux_id_struct,TD_CTRL;aux_id_data-aux_id=AUX_ID_FLICK_OFF;DRV_BuildPrimitiveflick_ilm,MOD_EINT_HISR,MOD_UEM,MSG_ID_AUX_ID,aux_id_data;else aux_id_data=aux_id_struct*construct_local_parasizeofaux_id_struct,TD_CTRL;aux_id_data-aux_id=AUX_ID_FLICK_ON;DRV_BuildPrimitiveflick_ilm,MOD_EINT_HISR,MOD_UEM,MSG_ID_AUX_ID,aux_id_data;msg_send_ext_queueflick_ilm;flick_state=!flick_state;EINT_Set_PolarityFLICK_EINT_NO,flick_state;void BATTERY_EINT_HISRvoid iwit_battery_state=!iwit_battery_state;EINT_Set_PolarityBAT_EINT_NO,iwit_battery_state;iwit_fakeChargerAct=KAL_TRUE;ifiwit_battery_state=LEVEL_HIGH/plug out bmt_set_chr_statusbmt_chr_out;bmt_charger_actionKAL_FALSE;else/plug in ifiwit_charger_present bmt_set_chr_statusbmt_chr_in;bmt_charger_actionKAL_TRUE;三.键盘配置5X6键盘Powerkey单独,第6列 DEVICE_KEY_ENDKeypad_def.c 配置行列矩阵Kbd_table.h 定义 DRIVER KEY CODEKeyBrd.c 定义KeyPadMap GlobalConstants.h 定义MMI KEY CODE 四.LCD驱动 Lcd_sw.h 1.定义写命令及写数据的函数#define LCD_CtrlWrite_HX8306A_data *volatile kal_uint32*LCD_HX8306A_CTRL_ADDR=_data&0 xFF002|_data&0 xFF1;LCD_delay_HX8306A;#define LCD_DataWrite_HX8306A_data *volatile kal_uint32*LCD_HX8306A_DATA_ADDR=_data&0 xFF002|_data&0 xFF1;LCD_delay_HX8306A;2.定义是否使用DMA方式#define LCD_CMD_DMA_MODE 3.假设是并口屏,要定义LCD接口的位数#define LCD_18BIT_MODE Lcd.c void LCD_FunConfigvoid MainLCD=&LCD_func_ST7549T;void LCD_Init_ST7549Tkal_uint32 bkground,void*buf_addrvoid LCD_BlockWrite_ST7549Tkal_uint16 startx,kal_uint16 starty,kal_uint16 endx,kal_uint16 endyvoid LCD_EnterSleep_ST7549Tvoidvoid LCD_ExitSleep_ST7549Tvoidvoid LCD_SetContrast_ST7549Tkal_uint8 level 串口屏void init_lcd_interfacevoid SPI_Initialize;/modified by jeff ji 071024/*init_lcd_interface*void lcdSendSerialDatakal_uint8 SerialData,kal_bool rs#define lcdSendCmdcmd lcdSendSerialDatacmd,0#define lcdSendDatadata lcdSendSerialDatadata,1 并口屏:void init_lcd_interfacevoid kal_uint32 i;REG_LCD_ROI_CTRL=0;CLEAR_LCD_CTRL_RESET_PIN;#if definedMT6219|definedMT6226|definedMT6226M|definedMT6227|definedMT6223|definedMT6223P SET_LCD_PARALLEL_CE2WR_SETUP_TIMEkal_uint322;SET_LCD_PARALLEL_CE2WR_HOLD_TIME2;SET_LCD_PARALLEL_CE2RD_SETUP_TIME2;SET_LCD_PARALLEL_WRITE_WAIT_STATE3;SET_LCD_PARALLEL_READ_LATENCY_TIME31;SET_LCD_ROI_CTRL_CMD_LATENCY3#if definedMT6226|definedMT6226M|definedMT6227|definedMT6223|definedMT6223P#if definedLCD_16BIT_MODE SET_LCD_PARALLEL_16BIT_DATA_BUS;/ywm+20060518#elif definedLCD_18BIT_MODE GPIO_ModeSetup55,1;*volatile unsigned short*0 x801201B0|=0 x4000;*volatile unsigned short*0 x801201D0|=0 x0001;SET_LCD_PARALLEL_18BIT_DATA_BUS;#elif definedLCD_8BIT_MODE SET_LCD_PARALLEL_8BIT_DATA_BUS;#endif#endif#if definedMT6219 DISABLE_LCD_PARALLEL_SYNC;#endif#endif SET_LCD_CTRL_RESET_PIN;Delayms100;/*init_lcd_interface*/五.音效优化1.Speaker2.Receiver3.Micphone模式:normal;handfree;headset Nvram_default_audio.c值的范围 0-255Audcoeff.c FIR 需使用音频测试仪器测出的参数,一般都是normal模式下的参数;handfree模式下的参数要依靠经验和尝试来确定。const unsigned short DG_DL_Speech =0 x1000;const unsigned short DG_Microphone =0 x1400;以上两个变量为Receiver及Microphone的数字增益,值可以在0 x1000至0 x2000之间调整,但一般情况下不需调整。使用默认值,而只调整Nvram_default_audio.c当中的模拟增益值的大小即可audcoeff_default.h#define DEFAULT_SPEECH_LOUDSPK_MODE_PARA 128,224,5128,0,374,0,400,0 第一个参数范围值0至1024,值越大,回声抑制越弱;值越小,回声抑制越强。该值可以用于改善音频的回声及断续。其它值不建议修改._Apply_Mic_Setting对MIC的设置,注意MIC的单端及差分设置void _apply_mic_setting_c63216kal_int16 a_lowestif afe.mic_src=L1SP_LNA_1 /*Headset Mode*/*AFE_VAC_CON0|=0 x0480;/*Switch input source to headset microphone*/*AFE_VAC_CON1|=0 x0040;/*Switch on resister string*/else /*Normal Mode*/*AFE_VAC_CON0&=0 x0480;/*Switch input source to normal microphone*/*AFE_VAC_CON1&=0 x0040;/*Switch off resister string*/六.ADC使用 1.工具配置2.系数设置 Chr_parameter.cconst kal_uint16 adc_volt_factorADC_MAX_CHANNEL 100,100,50,250,50,50,/*NC*/50/*NC*/,50为一倍3.ADC测量 Auxmain.c 七.Touch panel 1.MAKE文件中如下配置TOUCH_PANEL_SUPPORT =MT63012.Touch_panel_spi.h#define SPI_DIN_PIN gpio_tp_spi_din_pin /*GPO*/#define SPI_CLK_PIN gpio_tp_spi_clk_pin/*GPO*/#define SPI_DOUT_PIN gpio_tp_spi_dout_pin/*GPI*/#define SPI_CS_PIN gpio_tp_spi_cs_pin/*GPO*/#define SPI_BUSY_PIN gpio_tp_spi_busy_pin/*GPI*/3.Touch_panel_custom.h#define TOUCH_PANEL_COORD_X_START 0#define TOUCH_PANEL_COORD_X_END 239#define TOUCH_PANEL_COORD_Y_START 0#define TOUCH_PANEL_COORD_Y_END 319 八.USB 1.MAKE文件中_CHARGER_USB_DETECT_WIHT_ONE_EINT_ _USB_ENABLE_ USB_IN_NORMAL_MODE_SUPPORT=TRUE2.ADC配置,工具配置 ADC_CHR_USB3.Chr_parameter.cconst kal_uint16 adc_volt_factorADC_MAX_CHANNEL 100,100,50,250,50,50,/*NC*/50/*NC*/,九.UART 串口初始化 Uart.c中,void UART_HWInitUART_PORT port UARTDCBStruct UART_DefaultConfig=UART_BAUD_115200,/*baud;*/len_8,/*dataBits;*/sb_1,/*stopBits;*/pa_none,/*parity;*/fc_none,/*no flow control*/0 x11,/*xonChar;*/0 x13,/*xoffChar;*/KAL_FALSE ;关于AT模式串口及Trace模式串口的设置NVRAMNvram_ mon_config.cstatic kal_uint8 const NVRAM_EF_PORT_SETTING_DEFAULT=#if defined_ONLY_ONE_UART_ 0 x63,0 x00,/*TST uses uart_port2value is 1*/0 x00,0 x00,/*APP uses uart_port1*/#else 0 x01,0 x00,/*TST uses uart_port2value is 1*/0 x00,0 x00,/*APP uses uart_port1*/#endif#if definedEMPTY_MMI 0 x00,0 x10,0 x0E,0 x00,/*tst default baud rate base=921600=0 x000E1000*/#else 0 x00,0 xC2,0 x01,0 x00,/*tst default baud rate base=115200=0 x0001C200*/#endif#if defined _GPRS_MODE_ 0 x00,0 xC2,0 x01,0 x00,/*ps default baud rate base=115200=0 x0001C200*/#else 0 x00,0 xC2,0 x01,0 x00,/*ps default baud rate base=57600=0 x0000E100*/#endif 0 x00,/*High SpeedSIM*/0 x00,/*SWDBG*/0 x03,0 x63,/*uart power setting,plus 1-byte padding*/0 x00,0 x00,0 x00,0 x00 /*CTI baud rate*/;十.充电控制1.充电器检测 EINT 配置2.充电开始与停止 bmt_charge_start;bmt_charge_end;3.充电电流控制Pmu.cpmu_chr_cur_level pmu_ret_chr_currentvoid4.电池电量等级 kal_uint32 const NVRAM_EF_CUST_HW_LEVEL_TBL_DEFAULT=5.chr_parameter.c 十一.工厂测试模式1.FactoryModeSrc.cconst testlet TestsMAX_AUTO_TEST_ITEMS 2.Nvram_ mon_config.cstatic kal_uint8 const NVRAM_EF_AUTOTEST_DEFAULTNVRAM_EF_AUTOTEST_SIZE 十二.其它 WDT的使用调试时使用,在出现死循环情况时.void WDT_Enablekal_bool en将该函数默认为Disable.但当RAM CRUSH掉后,无效.void DRV_RESETvoid LCD,键盘背光及马达控制Uem_gpio.ckal_bool custom_cfg_gpio_set_levelkal_uint8 gpio_dev_type,kal_uint8 gpio_dev_level 3.工程模式*#3646633#4.META工具的使用5.总的初始化函数Init.c 中void Application_Initialize void*first_available_memory9、静夜四无邻,荒居旧业贫。11月-2311月-23Sunday,November 26,202310、雨中黄叶树,灯下白头人。05:54:5205:54:5205:5411/26/2023 5:54:52 AM11、以我独沈久,愧君相见频。11月-2305:54:5205:54Nov-2326-Nov-2312、故人江海别,几度隔山川。05:54:5205:54:5205:54Sunday,November 26,202313、乍见翻疑梦,相悲各问年。11月-2311月-2305:54:5205:54:52November 26,202314、他乡生白发,旧国见青山。26 十一月 20235:54:52 上午05:54:5211月-2315、比不了得就不比,得不到的就不要。十一月 235:54 上午11月-2305:54November 26,202316、行动出成果,工作出财富。2023/11/26 5:54:5205:54:5226 November 202317、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。5:54:52 上午5:54 上午05:54:5211月-239、没有失败,只有暂时停止成功!。11月-2311月-23Sunday,November 26,202310、很多事情努力了未必有结果,但是不努力却什么改变也没有。05:54:5205:54:5205:5411/26/2023 5:54:52 AM11、成功就是日复一日那一点点小小努力的积累。11月-2305:54:5205:54Nov-2326-Nov-2312、世间成事,不求其绝对圆满,留一份缺乏,可得无限完美。05:54:5205:54:5205:54Sunday,November 26,202313、不知香积寺,数里入云峰。11月-2311月-2305:54:5205:54:52November 26,202314、意志坚强的人能把世界放在手中像泥块一样任意揉捏。26 十一月 20235:54:52 上午05:54:5211月-2315、楚塞三湘接,荆门九派通。十一月 235:54 上午11月-2305:54November 26,202316、少年十五二十时,步行夺得胡马骑。2023/11/26 5:54:5205:54:5226 November 202317、空山新雨后,天气晚来秋。5:54:52 上午5:54 上午05:54:5211月-239、杨柳散和风,青山澹吾虑。11月-2311月-23Sunday,November 26,202310、阅读一切好书如同和过去最杰出的人谈话。05:54:5205:54:5205:5411/26/2023 5:54:52 AM11、越是没有本领的就越加自命非凡。11月-2305:54:5205:54Nov-2326-Nov-2312、越是无能的人,越喜欢挑剔别人的错儿。05:54:5205:54:5205:54Sunday,November 26,202313、知人者智,自知者明。胜人者有力,自胜者强。11月-2311月-2305:54:5205:54:52November 26,202314、意志坚强的人能把世界放在手中像泥块一样任意揉捏。26 十一月 20235:54:52 上午05:54:5211月-2315、最具挑战性的挑战莫过于提升自我。十一月 235:54 上午11月-2305:54November 26,202316、业余生活要有意义,不要越轨。2023/11/26 5:54:5205:54:5226 November 202317、一个人即使已登上顶峰,也仍要自强不息。5:54:52 上午5:54 上午05:54:5211月-23MOMODA POWERPOINTLorem ipsum dolor sit amet,consectetur adipiscing elit.Fusce id urna blandit,eleifend nulla ac,fringilla purus.Nulla iaculis tempor felis ut cursus.感感 谢谢 您您 的的 下下 载载 观观 看看专家告诉

    注意事项

    本文([精选]MTK手机设备驱动编写介绍.pptx)为本站会员(lil****205)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开