MTK驱动目录和配置简介
2009-03-12 16:44 setsail_wu 阅读(259) 评论(0) 编辑 收藏 举报MTK驱动目录和配置简介
驱动程序主要分散于两个目录
$PROJECT/custom/drv
$PROJECT/drv
很明显,第一个目录是客户化项目的驱动程序,第二目录就是主要的驱动,是比较相对独立的模块。编译时,custom 是个作为一个独立的模块。
当然,还有一些接口定义的目录,它们在
$PROJECT/interface/hwdrv
$PROJECT/interface/drv_def
运用程序 $PROJECT/custom/drv/Drv_Tool/DrvGen.exe 可以对 GPIO,GPO,ENIT,ADC,KEYPAD进行定制设置.
有个默认文件$PROJECT/custom/drv/misc_drv/$PROJECT_NAME/codegen/codegen.dws
可以用DrvGen直接打开它,然后进行修改,生成的*.h *.c文件与codegen.dws在同一目录下.
驱动代码里,一个很显著的宏,就是 __CUST_NEW__ ,常常碰到
#ifndef __CUST_NEW__
// the default settings
else
// user customize
#endif
就是由DrvGen产生的代码段. 如果对硬件足够了解,可以从原理图 和PCB板图对照直接改代码。
驱动离不开操作系统的支持,我们知道,MTK的 kal对 nucleus os 进行了封装,那么KAL相关的定义的头文件kal_release.h 就不能错过了,驱动直接调用系统提供的函数。
最后,总结一下,手机启动过程如下:
开机 -> 初始化硬件 -> 初始化软件(读取NV,保存为全局变量) -> 开机动画,搜寻网络,Sim卡等 -> Idle界面。