设备管理_mtk手机设备驱动编写介绍_第1页
设备管理_mtk手机设备驱动编写介绍_第2页
设备管理_mtk手机设备驱动编写介绍_第3页
设备管理_mtk手机设备驱动编写介绍_第4页
设备管理_mtk手机设备驱动编写介绍_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MTKDriverIntroduction 首先需要注意两个宏定义1 CUST NEW 程序中有多处用该宏将代码隔开Make文件中若如下定义 DRV CUSTOM TOOL SUPPORT TRUEOption mak文件中ifdefDRV CUSTOM TOOL SUPPORTifeq strip DRV CUSTOM TOOL SUPPORT TRUE COM DEFS CUST NEW endifendif 2 WIN32 ifndefWIN32 endif用该宏将真机与模拟器的代码分隔开 一 GPIO口的初使化与使用 GPIO口的初始化方法 两种 1 工具 custom drv Drv Tool DrvGen exe修改 custom drv misc drv IWIT23 NEP 07A PMJ BB codegen codegen dws2 程序中修改 Gpio drv cvoidGPIO init void 操作1 写状态a 模式修改GPIO ModeSetup kal uint16pin kal uint16conf dada b 方向修改voidGPIO InitIO chardirection charport c 置高与置低GPIO WriteIO chardata charport d 上拉与下拉的使能voidGPIO PullenSetup kal uint16pin kal boolenable 2 读取状态a 返回模式charGPIO ReturnMode charport b 返回方向charGPIO ReturnDir charport c 返回电平值charGPIO ReturnDout charport 3 GPIO使用中需注意的问题 二 中断的配置与使用 中断个数8个EINT0 EINT1为专用中断 EINT2 7与GPIO等功能复用 设置中断模式通过DRV TOOL或Gpio init void 来初始化 也可在程序中通过GPIO ModeSetup kal uint16pin kal uint16conf dada 随时修改 中断注册函数在某个TASK中注册中断 建议注册在AUX TASK中 便于管理EINT Registration FLICK EINT NO KAL TRUE flick state FLICK EINT HISR KAL TRUE 中断处理函数以FLICK及BATTERY两个中断为例 voidFLICK EINT HISR void addedbyJeffJi071024 ilm struct flick ilm aux id struct aux id data if flick state LEVEL HIGH aux id data aux id struct construct local para sizeof aux id struct TD CTRL aux id data aux id AUX ID FLICK OFF DRV BuildPrimitive flick ilm MOD EINT HISR MOD UEM MSG ID AUX ID aux id data else aux id data aux id struct construct local para sizeof aux id struct TD CTRL aux id data aux id AUX ID FLICK ON DRV BuildPrimitive flick ilm MOD EINT HISR MOD UEM MSG ID AUX ID aux id data msg send ext queue flick ilm flick state flick state EINT Set Polarity FLICK EINT NO flick state voidBATTERY EINT HISR void iwit battery state iwit battery state EINT Set Polarity BAT EINT NO iwit battery state iwit fakeChargerAct KAL TRUE if iwit battery state LEVEL HIGH plugout bmt set chr status bmt chr out bmt charger action KAL FALSE else plugin if iwit charger present bmt set chr status bmt chr in bmt charger action KAL TRUE 三 键盘配置 5X6键盘Powerkey单独 第6列DEVICE KEY ENDKeypad def c配置行列矩阵Kbd table h定义DRIVERKEYCODEKeyBrd c定义KeyPadMapGlobalConstants h定义MMIKEYCODE 四 LCD驱动Lcd sw h1 定义写命令及写数据的函数 defineLCD CtrlWrite HX8306A data volatilekal uint32 LCD HX8306A CTRL ADDR data 2 定义是否使用DMA方式 defineLCD CMD DMA MODE3 若是并口屏 要定义LCD接口的位数 defineLCD 18BIT MODE Lcd cvoidLCD FunConfig void MainLCD voidLCD Init ST7549T kal uint32bkground void buf addr voidLCD BlockWrite ST7549T kal uint16startx kal uint16starty kal uint16endx kal uint16endy voidLCD EnterSleep ST7549T void voidLCD ExitSleep ST7549T void voidLCD SetContrast ST7549T kal uint8level 串口屏voidinit lcd interface void SPI Initialize modifiedbyjeffji071024 init lcd interface voidlcdSendSerialData kal uint8SerialData kal boolrs definelcdSendCmd cmd lcdSendSerialData cmd 0 definelcdSendData data lcdSendSerialData data 1 并口屏 voidinit lcd interface void kal uint32i REG LCD ROI CTRL 0 CLEAR LCD CTRL RESET PIN if defined MT6219 defined MT6226 defined MT6226M defined MT6227 defined MT6223 defined MT6223P SET LCD PARALLEL CE2WR SETUP TIME kal uint32 2 SET LCD PARALLEL CE2WR HOLD TIME 2 SET LCD PARALLEL CE2RD SETUP TIME 2 SET LCD PARALLEL WRITE WAIT STATE 3 SET LCD PARALLEL READ LATENCY TIME 31 SET LCD ROI CTRL CMD LATENCY 3 if defined MT6226 defined MT6226M defined MT6227 defined MT6223 defined MT6223P if defined LCD 16BIT MODE SET LCD PARALLEL 16BIT DATA BUS ywm 20060518 elif defined LCD 18BIT MODE GPIO ModeSetup 55 1 volatileunsignedshort 0 x801201B0 0 x4000 volatileunsignedshort 0 x801201D0 0 x0001 SET LCD PARALLEL 18BIT DATA BUS elif defined LCD 8BIT MODE SET LCD PARALLEL 8BIT DATA BUS endif endif if defined MT6219 DISABLE LCD PARALLEL SYNC endif endifSET LCD CTRL RESET PIN Delayms 100 init lcd interface 五 音效优化 SpeakerReceiverMicphone模式 normal handfree headsetNvram default audio c值的范围0 255Audcoeff cFIR需使用音频测试仪器测出的参数 一般都是normal模式下的参数 handfree模式下的参数要依靠经验和尝试来确定 constunsignedshortDG DL Speech 0 x1000 constunsignedshortDG Microphone 0 x1400 以上两个变量为Receiver及Microphone的数字增益 值可以在0 x1000至0 x2000之间调整 但一般情况下不需调整 使用默认值 而只调整Nvram default audio c当中的模拟增益值的大小即可 audcoeff default h defineDEFAULT SPEECH LOUDSPK MODE PARA 128 224 5128 0 374 0 400 0 第一个参数范围值0至1024 值越大 回声抑制越弱 值越小 回声抑制越强 该值可以用于改善音频的回声及断续 其它值不建议修改 Apply Mic Setting对MIC的设置 注意MIC的单端及差分设置void apply mic setting c63216 kal int16a lowest if afe mic src L1SP LNA 1 HeadsetMode AFE VAC CON0 0 x0480 Switchinputsourcetoheadsetmicrophone AFE VAC CON1 0 x0040 Switchonresisterstring else NormalMode AFE VAC CON0 Switchoffresisterstring 六 ADC使用 1 工具配置2 系数设置Chr parameter cconstkal uint16adc volt factor ADC MAX CHANNEL 100 100 50 250 50 50 NC 50 NC 50为一倍 3 ADC测量Auxmain c 七 Touchpanel1 MAKE文件中如下配置TOUCH PANEL SUPPORT MT63012 Touch panel spi h defineSPI DIN PINgpio tp spi din pin GPO defineSPI CLK PINgpio tp spi clk pin GPO defineSPI DOUT PINgpio tp spi dout pin GPI defineSPI CS PINgpio tp spi cs pin GPO defineSPI BUSY PINgpio tp spi busy pin GPI 3 Touch panel custom h defineTOUCH PANEL COORD X START0 defineTOUCH PANEL COORD X END239 defineTOUCH PANEL COORD Y START0 defineTOUCH PANEL COORD Y END319 八 USB1 MAKE文件中 CHARGER USB DETECT WIHT ONE EINT USB ENABLE USB IN NORMAL MODE SUPPORT TRUE2 ADC配置 工具配置ADC CHR USB3 Chr parameter cconstkal uint16adc volt factor ADC MAX CHANNEL 100 100 50 250 50 50 NC 50 NC 九 UART串口初始化Uart c中 voidUART HWInit UART PORTport UARTDCBStructUART DefaultConfig UART BAUD 115200 baud len 8 dataBits sb 1 stopBits pa none parity fc none noflowcontrol 0 x11 xonChar 0 x13 xoffChar KAL FALSE 关于AT模式串口及Trace模式串口的设置 NVRAM Nvram common config cstatickal uint8constNVRAM EF PORT SETTING DEFAULT ifdefined ONLY ONE UART 0 x63 0 x00 TSTusesuart port2 valueis1 0 x00 0 x00 APPusesuart port1 else0 x01 0 x00 TSTusesuart port2 valueis1 0 x00 0 x00 APPusesuart port1 endif ifdefined EMPTY MMI 0 x00 0 x10 0 x0E 0 x00 tstdefaultbaudratebase 921600 0 x000E1000 else0 x00 0 xC2 0 x01 0 x00 tstdefaultbaudratebase 115200 0 x0001C200 endif ifdefined GPRS MODE 0 x00 0 xC2 0 x01 0 x00 psdefaultbaudratebase 115200 0 x0001C200 else0 x00 0 xC2 0 x01 0 x00 psdefaultbaudratebase 57600 0 x0000E100 endif0 x00 HighSpeedSIM 0 x00 SWDBG 0 x03 0 x63 uartpowersetting plus1 bytepadding 0 x00 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论