mtk初始化和执行流程

mtk 初始化流程
hal\system\init\src\init.c
hal\peripheral\src\drv_comm.c
custom\drv\misc_drv\_default_bb\mt6250\custom_drv_init.c
Application_Initialize-->
systemInitialization();//kal
内核的初始化 , 及中断初始化 , Initialize_FDD_tables
HWDInitialization();-->
USC_Start();//1us
时间管理
OSTD_Init();//OStimedate 初始化
RM_Init();//afterOSTD_Init()andbefore2Gand3GSMM'sinit()function
L1SM_Init();//L1
睡眠模式管理
HW_Divider_Initialization(); // 这个是干嘛的?
Drv_Init_Phase1(); -->// 一些硬件驱动初始化 hal\peripheral\src\drv_comm.c
DclPMU_Initialize(); // 电源管理
drv_hisr_init(); // 高级中断
lpwr_init(); //low power
DclPWM_Initialize(); //PWM
DclSADC_Initialize(); //ADC
custom_drv_init(); // 用户驱动初始化 custom_drv_init.c
DclAUX_Initialize(); //audio
Drv_Init_Phase2();-->// 一些硬件驱动初始化 hal\peripheral\src

stack_init_comp_info()-->初始化task任务


MTK执行流程
MMI_task通过 mmi_frm_fetch_msg_from_extQ_to_circularQ ( 将消息从外部队列复制到
循环队列),之后从循环队列读出消息并执行相应的函数。
switch (Message.msg_id)
{
case MSG_ID_TIMER_EXPIRY:
{
EvshedMMITimerHandler(&Message); //
处理定时器消息
}
break;
case MSG_ID_MMI_EQ_POWER_ON_IND:
{
开机模式
有正常启动( 用户按键盘后启动), 有充电启动, 还有闹钟闹时启动, 有异常启动。
这里所谓的启动, 有时候仅仅是显示一个用于表示状态的屏幕, 而不全是完整的启
动整个系统。
}
break;
default:
ProtocolEventHandler( ); //
处理消息
//函数是得到消息中保存对应消息处理函数的函数入口,并根据入口执行相应函数
break;


MTK平台http://bbs.16rd.com/forum-261-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值