MTK重启问题重启冻屏解决思路主要分为两大类问题:一类是重启,(,那么死循环会导致一直冻屏如果watchdog开,,,进程A等待进程B完成,但由于种种原因,(,遇到这些不应该出现的情况,强制重启可用的宏ASSERT(),EXT_ASSERT(),andEXT_ASSERT_DUMP()比如:icontext_button*dm_get_button(U16index){/*----------------------------------------------------------------*//*LocalVariables*//*----------------------------------------------------------------*//*----------------------------------------------------------------*//*CodeBody*//*----------------------------------------------------------------*/MMI_ASSERT(index<DM_MAX_BUTTONS);/*如果index大于等于DM_MAX_BUTTONS,则说明传进来的index有错误,直接重启*/return&dm_button_array[index];}(如动态内存不足),消息队列满(可能是任务优先级指派不合适导致,或者队列太小),内存混乱,除0等问题会导致systemfatalerror比如指针非法,释放野指针等,,(SWI)isusedtoenterSupervisormode,-fetch/DataAbortException当前的内存访问不能完成导致。可能有内存拷贝越界会导致此类问题。(一般来说应该是函数调用级别太深,导致压栈太多;函数的参数可能传入了结构,数组,而不是相应的指针;函数的局部数组太大,这几种情况都会导致栈溢出),,最好从
MTK重启问题 来自淘豆网www.taodocs.com转载请标明出处.