ARM Coresight 及 DS-5 介绍 5 - DS-5 断点设置及常用Debug 命令

news2024/11/15 8:27:35

文章目录

    • 1.1 DS-5 Debug 方法梳理
      • 1.2.1 DS-5 设置断点 Debug
      • 1.2.2 DS-5 常用 Debug 命令

1.1 DS-5 Debug 方法梳理

通常在调试过程中需要打断点来进行单步调试,这个时候可以按照下面步骤来进行:

  • 在使用 DS-5 Debug 之前需要先 load 所编译的 elf 文件:
    在这里插入图片描述

  • 设置好路径:
    在这里插入图片描述
    在这里插入图片描述

1.2.1 DS-5 设置断点 Debug

在上面完成 elf 文件的 load 及 路径设置后,我们就可以使用DS-5进行设置断点进行调试了。下面以 在 i2c_debug.c 中的 i2c_debug函数中

简单设置一个断点来介绍:
在这里插入图片描述

1.2.2 DS-5 常用 Debug 命令

1)查看寄存器命令

info registers
R0          0x200C4EDE
R1          0x000B6E24
R2          0x00000067
R3          0x00000073
R4          0xDEADBEEF
R5          0xDEADBEEF
R6          0xDEADBEEF
R7          0x200C5F58
R8          0xDEADBEEF
R9          0xDEADBEEF
R10         0xDEADBEEF
R11         0xDEADBEEF
R12         0x00000008
SP          0x200C5F58
SP_MAIN     0x2001F4C8
SP_PROCESS  0x200C5F58
LR          0x0001970F
PC          0x0005D258
xPSR        0x81010000   Nzcvq_T_inactive_0
PRIMASK     0x00000000
BASEPRI     0x00000000
FAULTMASK   0x00000000
CONTROL     0x00000006

2)查看 memory/寄存器命令

x/w 0x56020000
0x56020000:  0x00000000

3)查看函数栈

info stack
#0 rt_strcmp(cs = 0x200C4EE1 "get", ct = 0xB6E27 "set") at kservice.c:468
#1 i2c_debug_mode_help(argc = 5, mode = 0x200C4EDE "i2cget") at i2c_debug.c:64
#2 i2c_debug(argc = 5, argv = (char**) 0x200C601C) at i2c_debug.c:89
#3 _msh_exec_cmd(cmd = 0x200C4EDE "i2cget", length = 22, retp = (int*) 0x200C6078) at msh.c:342
#4 msh_exec(cmd = 0x200C4EDE "i2cget", length = 22) at msh.c:402
#5 finsh_thread_entry(parameter = (void*) 0x0) at shell.c:722
#6 _rt_thread_exit() at thread.c:105


backtrace -5
#2 i2c_debug(argc = 5, argv = (char**) 0x200C601C) at i2c_debug.c:89
#3 _msh_exec_cmd(cmd = 0x200C4EDE "i2cget", length = 22, retp = (int*) 0x200C6078) at msh.c:342
#4 msh_exec(cmd = 0x200C4EDE "i2cget", length = 22) at msh.c:402
#5 finsh_thread_entry(parameter = (void*) 0x0) at shell.c:722
#6 _rt_thread_exit() at thread.c:105
  1. 内存写操作
memory set 0x66020000 32 0x1
x/w 0x66020000
0x66020000:  0x00000001

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/447199.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【css】使用css实现提示框各种弹出效果。

简言 最近工作编写页面时,需要有一个提示框从下到上弹出的效果。 冥想了一下,实现了出来。 记录下实现思路。 实现思路 实现步骤如下: 编写样式。 首页要有承载内容的容器(box)。外层在套一个包装盒子(用来进行定位…

超详细的ubuntu安装opencv2.0//test ok

目录 1. 首先确保在Ubuntu上已经安装了cmake和make 1.1 安装make 1.2 安装cmake 2 安装依赖环境 3 下载opencv源码 4 编译源码并安装 4.1 进入opencv源码目录中,新建build文件夹 4.2 进入build文件夹,打开终端使用cmake生成makefile 4.3 安装ope…

Windows环境下实现设计模式——迭代器模式(JAVA版)

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows环境下如何编程实现迭代器模式(设计模式)。 不知道大家有没有这样的感觉,看了一大堆编程和设计模式的书,却还是很难理解设计模式&#xff…

轻松掌握k8s的kubectl使用命令行操作Ingress知识点03

1、Ingress将所有Service统一网关入口 底层也是使用了nginx,所以使用Ingress才是整个项目的统一入口。 官网地址:https://kubernetes.github.io/ingress-nginx/ 1、安装 先下载安装文件 wget https://raw.githubusercontent.com/kubernetes/ingress-…

HTB-Tenet

HTB-Tenet 信息收集80端口/users.txt目录/wordpress/wp-login.php tenet.htb 立足www-data -> neilneil -> root 信息收集 80端口 apache 2.4.49存在的exploit。 目录扫描 /users.txt目录 /wordpress/wp-login.php 在Go to Tenet超链接会出现tenet.htb。 添加至hosts再…

【Linux基础IO之 内存文件操作】

目录: 前言一、引入C语言中的文件操作系统文件操作open 位图权限close、write、readlseek C语言中的文件操作函数与系统文件操作函数的联系 三、文件描述符1.文件描述符是什么2.文件缓冲区再谈重定向 四、文件缓冲区分类语言级缓冲区为什么要有两个缓冲区 五、仿写c…

如何选择CDN加速平台?

现如今全球CDN市场规模逐年攀升,在2017年全球CDN市场规模约为75亿美元,到2021年增长到200亿美元左右。我国CDN行业同样保持高速发展,自2017年的135亿元增长到2022年的300亿元左右。但是国内的CDN市场规模仅为全球市场的15%-20%,海外CDN市场空间巨大。 接…

每日学术速递4.21

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Pretrained Language Models as Visual Planners for Human Assistance 标题:预训练语言模型作为人工协助的视觉规划器 作者:Dhruvesh Patel, Hamid Eghbal…

【Linux高性能服务器编程】信号处理方法之统一事件源

目录 为什么要用统一事件源统一事件源的概念统一事件源的应用 为什么要用统一事件源 信号是一种异步事件:信号处理函数和程序的主循环是两条不同的执行路径。即当进程收到信号时,操作系统会中断进程当前的正常流程,转而进入信号处理函数去处…

机器学习笔记 - MediaPipe结合OpenCV分析人体标准运动姿势

一、简述 在之前的文章中,对于MediaPipe进行了初步了解,并对结合OpenCV进行人体姿势估计的技术的处理思路进行看了一些探讨。 https://skydance.blog.csdn.net/article/details/123508782https://skydance.blog.csdn.net/article/details/123508782 这里我们要进行一…

奥艺大会 | 国际奥艺委员会与意大利环境基金会达成合作

4月17日,国际奥艺委员会执行主席Rachel Qin和副秘书长Linda Xu受邀前往意大利环境基金会(Fondo Ambiente Italiano,简称FAI),与意大利环境基金会罗马主席Giuseppe Morganti进行会面。 OLYMP’ARTS 2023奥艺大会以“环…

机器学习实战 第2周 监督学习

机器学习算法原理 代码实现 优化方法

云擎未来,智信天下:2023移动云大会分论坛“抢先看”

“云擎未来,智信天下”——2023移动云大会,将于4月25日—26日在苏州盛大开启。本次大会是由中国移动集团主办的云计算行业最高规格大会之一,邀请众多政府领导、院士专家、行业大咖齐聚一堂,对话前沿科技、探讨热点产业问题&#x…

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

yolov5 1. yolov5网络架构与组件1.1 网络可视化工具 netron1.2 不同模型的配置1.3 Focus 模块1.4 CSPNet 跨阶段局部网络1.5 SPP 空间金字塔池化1.6 PANet 路径聚合网络 2. 损失函数2.1 类别预测2.2 边界框回归2.3 回顾IoU2.4 IoU推广——GIoU loss2.5 IoU推广——DIoU loss2.6…

性能分析方法论简介

文章目录 1. 前言2. 性能分析概述3. 性能分析方法论一览3.1 TSA 和 USE3.1.1 TSA3.1.1.1 TSA 概述3.1.1.2 TSA 状态转换3.1.1.3 延迟类状态3.1.1.3 TSA 总结 3.1.2 USE3.1.2.1 USE 简介3.1.2.2 低利用率是否意味着没有饱和?3.1.2.3 使用 USE3.1.2.3 常见资源列表 和…

基于springboot+Vue的大学生高校学科竞赛报名管理系统

(4)学生: 个人中心:此页面,用户可查看其个人信息,可进行修改个人信息操作; 个人竞赛报名模块:查看已创建的学科竞赛,并可报名。 团队竞赛报名模块:查看已创建…

(二十)查找算法-二分查找

1 基本介绍 二分查找又叫折半查找,是一种高效简单的查找算法,通常用于在有序的数组中查找某个元素,例如从{1,2,4,6,8,9,10,23,24}的数组中查找值是8的元素,就可以采用二分查找法。 二分查找的思想: 给一个有序的序列…

【Qt5】快速傅里叶变换(FFTW库)+QCustomplot

文章目录 一、Windows下的FFTW库下载、配置、使用使用windows的lib工具生成库添加库文件到qt 一、Windows下的FFTW库下载、配置、使用 下载地址:https://fftw.org/pub/fftw/ 使用windows的lib工具生成库 Windows环境解压出来,在当前目录打开命令行&…

mysql数据库(工具类、DBUtils(应用)、数据库连接池、密码处理)

增删改查的工具类 操作数据库常用的执行方法: execute()可以进行增删改查 executeUpdate() 可以执行增删改 但是不能执行查询 exeuctQuery():只可以执行查询 我们在封装这个工具类的时候,只需要封装两种:一…

Centos7 安装NVM【安装node、安装教程】

1.编辑安装脚本 vim install.sh这里为了防止无法访问到github,这里特地将安装脚本复制过来了 对应网站:raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh #!/usr/bin/env bash{ # this ensures the entire script is downloaded #nvm_has() {t…