STM32 调试debug 常规使用

2023-11-09

STM32 调试debug 常规使用

前言

该讲解适用于快速使用debug,由于缩短篇幅有些未进行实验演示,请按照本文说明自行验证。如果知道调试器这个东西,直接跳到软件阅读。该文章讲解了
	**MDK软件进行debug基本设置**
	**MDK进入debug后常用功能基本讲解**
	**MDK进行debug一些注意细节**

硬件:

1.准备

在进行debug调试时需要使用常用的调试器,如ST-LINK、U-LINK、J-LINK、DAP等调试器。使用SW接口或者JTAG接口等连接我们的单片机设备进行调试。常用调试器如下图:
st-link

J-LINK
JLINK(JTAG接口)与SWD接口等价替换
请添加图片描述
在这里插入图片描述

软件:

1.MDK配置debug

勾选这些选项,配置DEBUG返回信息。
调试信息选择
这里我们要选择右边栏选项进行硬件调试。
在这里插入图片描述
常用调试器如下图
在这里插入图片描述
如果使用野火/原子等调试器则则选择CMSIS-DPA Debugger
如果使用J-LINK 则选择J-link/J-TRACE…
这里使用官方ST-LINK为硬件调试器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.开始debug

选择Debug选项
在这里插入图片描述
讲解debug常用的一些图标功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:断点受设备的支持数量是有限,且在调试完成退出调试模式时需要将所有调试断点删除,可能会因为版本原因导致MDK崩溃。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32 调试debug 常规使用 的相关文章

  • 如何在 ARM 架构上从 RAM 运行代码

    我正在对 ARM Cortex R4 进行编程 并且有一些二进制文件 我想从 TCRAM 执行它们 只是为了看看性能的提升是否足够好 我知道我必须编写一个函数来将二进制文件复制到 RAM 这可以通过链接器脚本来完成 并且知道二进制文件的大小
  • 适用于arm(cortex-m3)的位置独立可执行文件(-pie)

    我正在使用codesourcery g lite 基于gcc4 7 2版本 为stm32 Cortex m3 编程 我希望动态加载可执行文件 我知道我有两个选择 1 可重定位的elf 需要一个elf解析器 2 具有全局偏移寄存器的位置无关代
  • 使用 gnueabihf 为 ARMv6 构建

    我尝试为 ARMv6 构建应用程序 但失败了 我猜问题是工具链支持硬浮点 但 ARMv6 不支持 好吧 首先我设置 march armv6 编译失败 opt gcc linaro arm linux gnueabihf 4 8 2014 0
  • 使用 STM32 USB 设备库将闪存作为大容量存储设备

    我的板上有这个闪存IC 它连接到我的STM32F04 ARM处理器 处理器的USB端口可供用户使用 我希望我的闪存在通过 USB 连接到 PC 时被检测为存储设备 作为第一步 我在程序中将 USB 类定义为 MSC 效果很好 因为当我将主板
  • 小型 ARM 微控制器的 RTOS 内核之间的可量化差异 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有许多不同的 RTOS 可用于微控制器 我专门寻找支持 ARM Cortex M 处理器的 RTOS 另外 我对闭源解决方案不感兴趣 试图从网站
  • 读取和打印手臂组件中的字符串

    我正在使用 ARMSim 刚刚开始学习汇编 所以如果我看起来一无所知 请原谅我 但我正在尝试从输入文件中读取字符串 然后将其打印到输出屏幕 到目前为止我有 equ SWI Open 0x66 open a file equ SWI Clos
  • Linux malloc() 在 ARM 和 x86 上的行为是否不同?

    这个网站上有很多关于内存分配的问题 但是我 找不到专门解决我的问题的人 这 问题 https stackoverflow com questions 19148296 linux memory overcommit details似乎最接近
  • 可以使用Visual Studio 2012构建ARM桌面程序吗?

    我正在使用 Visual Studio 2012 beta 我的桌面 win32 程序在 ARM 架构中编译得很好 升级到 Visual Studio 2012 RC 后 编译器无法工作并出现以下错误 不支持为 ARM 平台编译桌面应用程序
  • 如何在 Android 设备上运行 VS Code [重复]

    这个问题在这里已经有答案了 我有 Galaxy Tab S6 它具有替代笔记本电脑的很酷的功能 例如连接鼠标和键盘 但不幸的是它运行 Android 操作系统 并且没有很多开发应用程序可用于 Android 所以我想是否有一个选项可以在至少
  • M1 MacBook Pro 上的 Android Studio 无法使用 ABI armeabi-v7a 模拟系统映像

    我的 M1 Macbook Pro 上的 Android Studio 可以很好地模拟 ABI arm64 v8a 的所有系统映像 API 24 29 30 31 但是 它无法使用 ABI armeabi v7a 运行所有映像 例如 API
  • 为什么 i2c_smbus 函数不可用? (I2C——嵌入式Linux)

    有很多参考使用i2c smbus 开发嵌入式 Linux 软件时在 I2C 总线上进行通信的函数 什么时候i2c smbus函数如i2c smbus read word data在软件项目中引用了 ARM8 处理器错误 例如 i2c smb
  • 了解 ctags 文件格式

    我使用 Exhuberant ctags 来索引我的 c 项目中的所有标签 c project 是 Cortex M7 微控制器的嵌入式软件 结果是一个标签文件 我正在尝试阅读该文件并理解所写的内容 根据我找到的 ctags 和 Exhub
  • 基于 Windows 8 ARM 的平板电脑上的 VB6

    随着 Windows 8 将支持 VB6 我的问题是 Microsoft 是否在任何地方表示 是或否 VB6 应用程序将在基于 ARM 的平板电脑上运行 如果没有 是否有任何 ARM 模拟器 以便我们可以在 Windows 8 ARM 平板
  • AOSP 的“午餐”组合是什么意思?我需要选择什么?

    我是 Android 设备 ROM 开发的新手 无论如何 我现在正在为具有 64 位处理器的中国设备构建 AOSP 我按照 source android com 上的菜单进行操作 当我运行 午餐 命令时 终端显示 午餐菜单 选择一个组合 我
  • iPhone 3GS 上的 ARM 与 Thumb 性能比较,非浮点代码

    我想知道是否有人有关于 iPhone 3GS 上 ARM 与 Thumb 代码性能的硬性数据 特别是对于非浮点 VFP 或 NEON 代码 我知道 Thumb 模式下的浮点性能问题 更大的 ARM 指令的额外代码大小是否会在某个时刻成为性能
  • 什么是遗留中断?

    我正在开发一个项目 试图弄清楚 ARM 架构的全局中断控制器中如何处理中断 我正在使用 pl390 中断控制器 我看到有一条线被称为传统中断 它绕过了分配器逻辑 假设有 2 个中断可以被编程为传统中断 任何人都可以帮助解释一下什么是遗留中断
  • 设备树不匹配:.probe 从未被调用

    我无法理解设备树的工作原理 或者具体来说为什么该驱动程序无法初始化 这是在 android 版本 3 10 的 rockchip 供应商内核中 驱动程序 看门狗 rk29 wdt c 为了可读性而减少 static const struct
  • 英特尔的最后分支记录功能是英特尔处理器独有的吗?

    最后分支记录是指存储与最近执行的分支相关的源地址和目标地址的寄存器对 MSR 的集合 它们受英特尔酷睿 2 英特尔至强和英特尔凌动处理器系列的支持 http css csail mit edu 6 858 2012 readings ia3
  • ARM Cortex-M3 启动代码

    我试图了解 STM32 微控制器的 Keil realview v4 附带的初始化代码是如何工作的 具体来说 我试图了解堆栈是如何初始化的 In the 文档 http infocenter arm com help index jsp t
  • 上下文切换到安全模式(arm trustzone)的成本是多少

    我试图了解在arm中可信 安全 和非安全模式之间来回切换的成本 从非安全世界转移到安全世界时到底需要发生什么 我知道需要设置 ns 位 基于某些特殊指令 需要刷新和更新页表 刷新和更新处理器缓存 还有什么需要发生的吗 处理器缓存 它们是分段

随机推荐

  • C语言,对数组 int arr[]={12,32,45,56,2,45,23,67,43,7} 实现简单选择排序。

    对数组 int arr 12 32 45 56 2 45 23 67 43 7 实现简单选择排序 include
  • Zookeeper 命令和查看节点数据

    1 ZooKeeper命令行 在安装目录bin下 执行zkcli cmd 或zkcli sh 然后输入命令 常用命令 1 查看数据 ls ls2 2 获取数据 get 2 四字命令 一些数据使用zkCli命令查看不到 使用四字命令则可以获取
  • windows最小化安装mysql8

    第一步 下载 从官网下载 https dev mysql com downloads mysql 第二步 安装 下载后解压到目录即可 我这里解压到D MYSQL mysql 8 0 32 winx64 mysql 8 0 32 winx64
  • word中matlab的图片,转为pdf格式时失真如何解决?

    在matlab figure里面 Edit gt Copy Figure 粘贴到Word里 再转成PDF 会出现图片的标题 title 错位 解决 用adobe pdf 打印即可 不要另存为
  • 一些关于机器学习和统计方面值得阅读的书籍

    一些关于机器学习和统计方面值得阅读的书籍 一下著作都是一些经典的英文著作 不是崇洋媚外 大部分的知识都是由人老外提出并发展的 国内一些书籍质量实在不敢恭维 所以在初始的学习时 最好还是选择英文的著作 解除第一手资料 对于启发式的学习很有帮助
  • ubuntu 搭建hyperledger-fabric开发环境

    GO环境 建议方式2 版本较新 方式 sudo apt get install golang 方式 wget https storage googleapis com golang go1 9 linux amd64 tar gz sudo
  • 【R包安装】某个编辑包不存在,不存在叫‘xxx‘这个名字的程辑包

    一 问题 我在运行是python调用R包出现以下问题 不存在叫 mclust 这个名字的程辑包 二 解决 1 镜像网站 打开RStudio 在工具栏选择 Tools gt global option gt packages gt 选择中科大
  • Android Studio调整改变界面代码字体的大小

    Android Studio调整改变界面代码字体的大小 打开android studio 在菜单栏中 点击File 选择Setting 对界面代码字体大小更改 进入到设置窗口后 在左侧栏中找到Editor 点击小三角就能展开 找到Font
  • C# TCP通信以及报文格式和接收处理

    目前有一个小demo 模拟的是一台机子上的服务器和客户端的发送和接收消息 我打包上传 有兴趣的可以下载看看 网址是 Tcp通信 本机发送接收 https download csdn net download yuanyuanluoluo 1
  • NAVICAT 用新建查询导入数据的时候如何忽略错误继续执行

    NAVICAT 用新建查询导入数据的时候如何忽略错误继续执行 一 一次性导出查询记录 在这里插入图片描述 https img blog csdnimg cn 二 sql遇错继续执行 数据库右键 导入sql文件 选择忽略错误 点击确定
  • vue父组件调用子组件中的方法、值的几种方式

    1 ref 直接在父组件内部给子组件标签添加ref属性 然后通过ref属性来调用子组件的方法 父组件 Parent vue
  • 苹果应用商店上架流程

    上架过程分七个步骤 按步骤一步步来 仔细看这个流程 少走很多弯路 不用一步步去试错 新手也能快速掌握上架流程 1 创建APP身份证 App IDs 2 申请iOS发布证书 3 申请iOS发布描述文件 4 上传ios证书编译打包IPA 5 在
  • 关于Unity启动时间过长(启动黑屏时间长)的问题

    好吧 Unity启动确实比其他引擎生成的游戏包慢些 关键是你启动的时候还要等上一段时间才显示Splash那个logo图 最近项目有个蛋疼得需求 需要在启动界面加进度帧动画 我也是醉了 刚开始的思路 用Unity单独做个启动场景 让Splas
  • conda,anaconda,miniconda的区别

    可能从conda miniconda和anaconda三个名词来说用得最多比较熟悉的应该是anaconda吧 包办一切 帮我们安装好了很多包和环境 我们都喜欢用现成的东西 懒得自己捣鼓 最近刚好有项目需要 用了一下miniconda 才慢慢
  • Win10下 vc++6.0打开文件闪退解决

    Win10下vc 6 0闪退解决方法 网上下载一个filetool exe的启动程序 下载之后如图所示 打开这个文件 选择你要解压的路径 之后点击Unzip 之后出现一个FileTool的文件夹 在这里插入图片描述 用vc 6 0打开工作空
  • windows密码破解(哈希破解技术)

    一 windows密码与哈希 1 我们用于登录的windows密码 在windows系统中会进行加密 一般密码加密文件储存在c盘的windows system32 config目录下 文件名是SAM文件 在system目录下有两个非常重要的
  • web前端——常用的标签

    html概述 1 1html全称 html全称 Hyper Text Markup Language 超文本标记语言 对于不同的浏览器 对同一标记符可能会有不完全相同的解释 因而可能会有不同的显示效果 1 2 html语法结构
  • python关于TypeError: Required argument 'mat' (pos 2) not found错误解决方法

    这个错误提示意思是 没有找到要求的参数 即代码里的函数缺少必要的参数 下面举个显示图片的例子 import cv2 img cv2 imread data wiki png cv2 imshow img cv2 waitKey 0 运行时会
  • sqlserver:文件和文件组

    环境 window10 x64 专业版 sqlserver2014 参考 官网 文件和文件组体系结构 sql server 里的文件和文件组使用 SQL Server中数据库文件的存放方式 文件和文件组 SQL Server 文件和文件组
  • STM32 调试debug 常规使用

    STM32 调试debug 常规使用 前言 硬件 1 准备 软件 1 MDK配置debug 2 开始debug 前言 该讲解适用于快速使用debug 由于缩短篇幅有些未进行实验演示 请按照本文说明自行验证 如果知道调试器这个东西 直接跳到软