MTK系统错误类型分析

移动开发
MTK系统错误类型分析是本文要介绍的内容,主要是来了解MTK系统中出现的问题,系统错误中有两种典型的分类,一种是CPU触发的系统错误,另外一种是软件触发的系统错误。

MTK系统错误类型分析是本文要介绍的内容,主要是来了解MTK系统中出现的问题,系统错误中有两种典型的分类,一种是CPU触发的系统错误,另外一种是软件触发的系统错误。

1、CPU触发(检测到)的系统错误

Undefined Instruction Exception(没有定义的指令错误)

本来的意思是指:ARM解析不了当前指令如何执行,换句话说,当前指令不属于ARM指令集。但是大家看到这里会感到纳闷,这种错误怎么可能会发生?除非ADS和RVCT等编译器出现bug,否则这种错误不可能没有在编译阶段里揪出来。这些编译器吃白米饭的么,连是不是ARM的指令集里的指令还不知道吗?所以出现这种错误一定不是代码的问题。出现这种错误很可能是程序跑飞,跑到data区域执行了。跑飞的原因有很多,如函数指针问题,或者局部变量溢出把堆栈中的函数返回地址写坏了,等等

Software Interrupt Exception

给大家先看看有趣的东东,MTK介绍SWI exception类型时写的:

  1. The software interrupt instruction (SWI) is used to enter Supervisor mode,   
  2. usually to request a particular supervisor function.  

借问各位大侠,从上面那段话能知道SWI是exception么?我实在是忍无可忍,甚至达到了抓狂的程度。看了上面的解释,完全搞不懂SWI与exception有丝毫关系。SWI其实可以解释为软件触发中断,但在MTK的系统中,不会用到这种软中断。所以假设软中断被触发了,一定是程序跑飞了。到此,大家终于明白SWI为什么也算是exception一种了。

Pre-fetch Abort Exception

预取指令错误是指CPU从RAM或者ROM中读取指令时,所提供的地址是个非法地址(RAM和ROM以外的地址)。一般是函数指针问题,或者局部变量溢出把堆栈中的函数返回地址写坏了,等等

Data Abort Exception

数据错误是指访问RAM或ROM中数据时,所提供的地址是个非法地址(RAM和ROM以外的地址)。一般是数据指针出现问题。

2、软件触发(检测到)的系统错误

Assert Error

程序员在代码中埋的Assert语句,在MTK代码中有3种:ASSERT(),EXT_ASSERT(),EXT_ASSERT_DUMP()

Fatal Error

可以理解为写在KAL层中的Assert语句,这是MTK的System工程师在KAL层埋的一些Assert语句。KAL层是系统的适配层,因此在这层里面出现问题,一般都是与系统的异常相关。如:ctrl buffer不足,外部队列满了之类的错误

System Lockup

文档中是写系统挂起。小弟不才,debug这么多年都未能与这种异常邂逅。

小结:MTK系统错误类型分析的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-09-05 19:02:45

MTK系统字符串

2011-09-06 10:10:12

MTK系统Android系统

2011-09-06 14:10:18

MTK系统时间

2011-09-06 13:19:04

MTK手机软件系统

2011-09-06 13:58:28

MTK系统

2011-11-21 17:20:02

DCOM错误日志

2021-02-05 08:18:29

JavaScript开发代码

2011-09-05 18:49:50

MTK手机软件系统

2010-07-15 14:32:00

AIX TELNET

2009-09-10 14:21:58

LINQ匿名类型

2009-09-10 13:24:36

Linq参数类型

2011-09-06 13:15:04

MTK文件系统内存

2024-01-16 09:35:00

数据库应用

2011-09-13 15:26:25

MTK环境搭建

2011-08-31 10:12:26

MTK手机平台

2011-09-06 09:14:27

MTK平台软件

2010-09-03 10:33:38

ppp内核

2011-06-08 17:07:55

本地化测试

2010-05-21 10:02:56

2011-09-07 10:02:13

MTK6516CPU
点赞
收藏

51CTO技术栈公众号