应用开发的过程中,应用层导致的死机主要是hardfault或者softfault. 1-1 HARDFAULT的可能原因 从软件的角度,HARDFAULT主要产生可能原因: 1) 数组越界; 2)野指针; 3)未初始化硬件就开始操作或者是无中断服务函数; 4)任务堆栈溢出; 1-2 SOFTFAULT的可能原因 从软件的角度,SOFTFAULT主要产生在ASSERT(XXX)
1-3 捕捉问题的方法 捕捉问题的方法差不多有以下4种: 1)在线调试keil debug/attach; 2)死机现场dump; 3)死机现场输出或者保存; 4)第三方插件分析,如trace32: OM6621X提供了dump工具,具体的操作方法如下: OM6621X dump工具以及分析方法:
登录后下载附件: 不同的芯片型号 -dump的程序是不一样的。 |