arm跑飞 分析

摘要:
当arm跑飞后,可以用ICE追踪是哪边出错了:1.链接ICE,修改Ice的mode,由udf-˃system.(因为跑飞了,在UDF)2.查看寄存器:LR对应callbackfunction的地址;SP对应压栈的数据;3.在outFiles文件下输入:fromelf-cMICRON_ENTERPRISE_DEAN_B0KB_RAIN_DPP_DBG.axf˃output.file将axf转换文件格

当arm跑飞后,可以用ICE 追踪是哪边出错了:

1. 链接ICE, 修改Ice的mode,由 udf -> system. (因为跑飞了,在UDF)

2. 查看寄存器: LR对应callback function的地址; SP对应压栈的数据;

3. 在outFiles文件下输入:fromelf -c MICRON_ENTERPRISE_DEAN_B0KB_RAIN_DPP_DBG.axf > output.file 将axf转换文件格式:

4. LR对应的值查找对应的地址:

假设:LR:0x801c6300

ClrAbortState
        0x801c62f8:    e59f23c0    .#..    LDR      r2,[pc,#960] ; [0x801c66c0] = 0x4003674
        0x801c62fc:    e92d4010    .@-.    PUSH     {r4,lr}
        0x801c6300:    e5d21001    ....    LDRB     r1,[r2,#1]
        0x801c6304:    e5d23000    .0..    LDRB     r3,[r2,#0]
        0x801c6308:    e1831401    ....    ORR      r1,r3,r1,LSL #8
        0x801c630c:    e1c10000    ....    BIC      r0,r1,r0

那么出错的时候在函数ClrAbortState里;

5.SP 对应压栈的地址

假设:0x04000B50

0x0C5208BC 0x04003A7C 0x0000032A 0x00000000 0x00000000 ********************
0x00000000    0x00000000    0x0001BDB4    0x00000000    0x00010770    ********************
0x04002604    0x00000001    0x00000000    0x000104E8    0x00000000    ********************

由于 0x0C5208BC 是一个无效的指向,所以看0x04003A7C ;

在map文件中看到

gWorkloadCtrl                            0x04003a7c   Data          36  Workload_Control.o(data_sram_zi)

所以跑飞的就跟这几个信息有关。

免责声明:文章转载自《arm跑飞 分析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Illegal modifier for parameter *** , only final is permitted”阿里云常用产品汇总及解释-copy下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CSS设置文字方向,让文字竖排显示

只需一条属性 writing-mode:vertical-lr;     这个属性可以设置文字在水平方向还是在竖直方向的排布 菜鸟教程解释是下面这个样子的: horizontal-tb:水平方向自上而下的书写方式。即 left-right-top-bottom vertical-rl:垂直方向自右而左的书写方式。即 top-bottom-right-l...

Reactor构架模式及框架概述

Reactor框架是ACE各个框架中最基础的一个框架,其他框架都或多或少地用到了Reactor框架。本文分析Reactor构架模式的基本原理。 2.1  Reactor构架模式 对每一个构架模式的分析,我们都使用参考文献的分析风格,着重分析意图、上下文、问题、解决方案、结构和实现 6个方面的内容。而实现就是ACE源代码。 1. 意图 在事件驱动的应用中,...

@ConfigurationProperties 配置详解

文章转自 https://blog.csdn.net/qq_26000415/article/details/78942494 前言新的一年到了,在这里先祝大家新年快乐.我们在上一篇spring boot 源码解析12-servlet容器的建立 中 分析 ServerProperties时,发现其类上有@ConfigurationProperties 注解...

高德APP启动耗时剖析与优化实践(iOS篇)

前言最近高德地图APP完成了一次启动优化专项,超预期将双端启动的耗时都降低了65%以上,iOS在iPhone7上速度达到了400毫秒以内。就像产品们用后说的,快到不习惯。算一下每天为用户省下的时间,还是蛮有成就感的,本文做个小结。 (文中配图均为多才多艺的技术哥哥手绘)   启动阶段性能多维度分析 要优化,首先要做到的是对启动阶段的各个性能纬度做分析,...

【转】Java类加载原理解析

原链接 1 基本信息 每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。 Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多, 但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚...

Dubbo学习笔记5:Dubbo整体框架分析

Dubbo的分层架构 本文将简单介绍Dubbo的分层架构设计,如下图是Dubbo官方的整体架构图: Dubbo官方提供的该架构图很复杂,一开始我们没必要深入细节,下面我们简单介绍下其中的主要模块。 其中Service和Config层为API,对于服务提供方来说,使用ServiceConfig API来代表一个要发布的服务配置对象,对于服务消费方来说,R...