IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> Jlink-commander查找程序跑死 -> 正文阅读

[嵌入式]Jlink-commander查找程序跑死

问题现象

写了个测试程序,运行2小时后出现程序陷入死循环。设备已经死机。利用没有复位的剩余价值减少代码review的范围,

基础介绍

  • 堆栈指针R13(SP)

    当ARM进入异常模式的时候,程序就可以把一般通用寄存器压入堆栈,返回时再出栈,保证了各种模式下程序的状态的完整性。

  • 连接寄存器R14(LR)
    每种模式下r14都有自身版组,它有两个特殊功能:

  1. 保存子程序返回地址。
  2. 当异常发生时,异常模式的r14用来保存异常返回地址,将r14如栈可以处理嵌套中断。
  • 程序计数寄存器R15
    PC 指向当前的程序地址。如果修改它的值,就能改变程序的执行流。

实现原理

查看死机时PC,LR,SP三个特殊的寄存器的值。然后通过仿真中的汇编直接查找对应的程序。

实际操作

首先需要准备好jlink和三根杜邦线链接SDO、SCK和GND。千万不要连复位引脚,因为很有可能不小心复位了,导致案发现场被破坏。
然后打开Jlink Commander软件
在这里插入图片描述

1、敲入以下命令:connect
根据提示选择对应芯片
在这里插入图片描述
2、输入h:
可以看到对应指针的值,记下这三个值。因为我的程序都在sdram里面跑,在rt1052单片机中对应的地址都是0x80000000之后的。
在这里插入图片描述

3、可以试下g(go继续跑) 、h(halt)看下程序是否还在跑。因为我这边PC指针一直在这个值,所以怀疑是个死循环。
4、使用mem指令看sp压栈的内容,我们找出附近所有0x80xxxxxxx开头的地址并进行记录。这里是小端模式所以对应的应该是xx xx xx 80。(需要根据实际单片和代码在哪里运行分析,也可能是内部ram0x20xxxxxx,也可能是0x68xxxxxx的sram,stm32芯片外部扩展地址可能与nxp不一致,所以一定要看芯片手册)
在这里插入图片描述
5、断电重启或者另外一台设备进行仿真
在这里插入图片描述
输入需要查询的地址,注意需要加上0x,例如0x80015BBF。先查PC和LR,如果没有什么发现再去看SP指针的那一堆数据中可疑的地址。
在这里插入图片描述
然后定位到了对应函数。这边是因为fifo队列满了导致死循环
在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 09:30:35  更:2021-08-28 09:32:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:19:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计