MTK 手机设备驱动编写介绍.ppt

MTK 手机设备驱动编写介绍.ppt

ID:48730912

大小:1.30 MB

页数:29页

时间:2020-01-20

MTK 手机设备驱动编写介绍.ppt_第1页
MTK 手机设备驱动编写介绍.ppt_第2页
MTK 手机设备驱动编写介绍.ppt_第3页
MTK 手机设备驱动编写介绍.ppt_第4页
MTK 手机设备驱动编写介绍.ppt_第5页
资源描述:

《MTK 手机设备驱动编写介绍.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、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__endifendif2.WIN32#ifndefWIN32………………#endif用该宏将真机与模拟器的代码分隔开一

2、.GPIO口的初使化与使用<1>GPIO口的初始化方法:两种:1.工具customdrvDrv_ToolDrvGen.exe修改:customdrvmisc_drvIWIT23_NEP_07A_PMJ_BBcodegencodegen.dws2.程序中修改:Gpio_drv.cvoidGPIO_init(void)<2>操作1.写状态a.模式修改GPIO_ModeSetup(kal_uint16pin,kal_uint16conf_dada)b.方向修改voidGPIO_InitIO(chardirectio

3、n,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使用中需注意的问题二.中断的配置与使用<1>.中断个数8个EINT0,EIN

4、T1为专用中断,EINT2-7与GPIO等功能复用<2>.设置中断模式通过DRV_TOOL或Gpio_init(void)来初始化,也可在程序中通过GPIO_ModeSetup(kal_uint16pin,kal_uint16conf_dada)随时修改<3>.中断注册函数在某个TASK中注册中断,建议注册在AUX_TASK中,便于管理EINT_Registration(FLICK_EINT_NO,KAL_TRUE,flick_state,FLICK_EINT_HISR,KAL_TRUE);<4>.中断处理函数以FLICK及BA

5、TTERY两个中断为例: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_BuildPrimiti

6、ve(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_

7、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==L

8、EVEL_HIGH)//plugout{bmt_set_chr_status(bmt_chr_out);bmt_charger_action(KAL_FALSE);}else//plugin{if(iwit_charger_present){bmt_set_ch

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。