简介

STM32支持连接调试器进行在线Debug调试,可以用于一步步的排查程序的错误
STM32F1系列的Cortex-M3 支持两种调试主机接口(debug host interface ) :

  • 第一个是广为使用的JTAG 接口
  • 另一个是新的“串行线(Serial Wire, SW)调试接口”,也就是SWD调试接口

SWD和JTAG两种调试接口仿真的区别

  • 两者的区别主要在于使用引脚的多少,STM32F1单片机往往没有很富裕的管脚资源,而 JTAG协议需要使用 4 根脚,而 SW 则只需要两根
  • 在大数据较大的情况下面使用JTAG 下载程序可能会失败,而用SWD下载程序下载失败的概率会大大降低
  • 使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的,例如ST-Link就支持同一个调试器使用两种仿真接口进行下载,主要取决于下载器是否支持
  • 由于SWD只占用用两个接口,JTAG占用4个,较少的接口可以降低PCB布线的难度以及缩小PCB板的体积

硬件接线图

JTAG:

SWD:

Cortex-M3的两种调试模式

  1. 停机模式
  • 指令执行被停止
  • SysTick 定时器停止
  • 支持单步操作
  • 中断可以在这期间悬起,并且可以在单步执行时响应。也可以掩蔽它们,使得单步
    时不受干扰
  1. 调试监视器模式
  • 处理器执行调试监视器异常的服务例程(异常号: 12)
  • SysTick 定时器继续运行
  • 新来的中断按普通执行时的原则来抢占
  • 执行单步操作
  • 存储器的内容(如堆栈内存)会在调试监视器的响应前后更新,因为有自动入栈和出栈的动作

一般用的比较多的是停机模式

keil5中对ST-Link调试器进行配置(SWD)

  1. 首先需要下载ST-link v2的驱动程序
  2. 打开Keil5,点击魔术棒
  3. 在debug选项卡中选则ST-Link调试器
  4. 点击Settings,选择SW模式以及速率
  5. 选择Reset and Run,核对所选择芯片的内存
  6. 单片机连接上ST-Link接口并在Keil5中点击Start/Stop Debug Session 即可开始使用ST-Link仿真

STM32笔记 (六)利用ST-Link进行Debug调试相关推荐

  1. 文本分类 决策树 python_NLTK学习笔记(六):利用机器学习进行文本分类

    关于分类文本,有三个问题 怎么识别出文本中用于明显分类的特征 怎么构建自动分类文本的模型 相关的语言知识 按照这个思路,博主进行了艰苦学习(手动捂脸..) 一.监督式分类:建立在训练语料基础上的分类 ...

  2. 使用STM32 ST-LINK Utility 烧录程序,ST LINK烧录程序,解锁FLASH

    关键词:ST LINK烧录程序,STLINK烧录程序,ST-LINK烧录程序,STLINK烧录程序,ST LINK解锁Flash 1.读取STM32内部FLASH及芯片信息 使用ST-Link连接硬件 ...

  3. 整理ST Link V2 与stm32连接经过

    整理ST Link V2 与stm32连接经过 一.购买合适的ST Link V2仿真器: 二.下载ST Link V2的驱动并安装: 本人过程并没有修改安装路径,直接下一步,对于驱动最好为默认安装路 ...

  4. STM32 ST link V2 固件 ST-LinkV2.J16.S4.hex

    STM32 ST link V2 固件 将一个STM32F103C8T6变成ST link V2 STM32 ST link V2 固件 ST-LinkV2.J16.S4.hex https://do ...

  5. 使用STM32F103CBT6自制ST LINK V2-1多功能烧录器

    基于STM32的ST LINK V 2-1多功能烧录器制作 前 言 根据官方相关文档可知 ST LINK V2-1拥有以下四大功能: ST LINK V2-1制作教程和资料说明 主空部分原理图(参考) ...

  6. STM32笔记之 Boot(自举模式)

    写在前面: 本文章旨在总结备份.方便以后查询,由于是个人总结,如有不对,欢迎指正:另外,内容大部分来自网络.书籍.和各类手册,如若侵权请告知,马上删帖致歉. 目录 一.自举配置 二.自举模式各简述 1 ...

  7. STM32笔记之 NVIC(嵌套向量中断控制器)

    写在前面: 本文章旨在总结备份.方便以后查询,由于是个人总结,如有不对,欢迎指正:另外,内容大部分来自网络.书籍.和各类手册,如若侵权请告知,马上删帖致歉. 目录 一.NVIC简单解释 二.抢占优先级 ...

  8. 吴恩达《机器学习》学习笔记六——过拟合与正则化

    吴恩达<机器学习>学习笔记六--过拟合与正则化 一. 过拟合问题 1.线性回归过拟合问题 2.逻辑回归过拟合问题 3.过拟合的解决 二. 正则化后的代价函数 1.正则化思想 2.实际使用的 ...

  9. ROS学习笔记六:理解ROS服务和参数

    ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...

最新文章

  1. linux migrations病毒守付进程分析
  2. Android 开发问题记录
  3. Spring 中基于 AOP 的 XML操作方式
  4. 《深入理解Java虚拟机》读书笔记一
  5. 转:flex [Inspectable]标签详解
  6. PL/SQL面向过程语言
  7. win10远程登陆deepin xrdp
  8. 三年蜜罐实验:黑客想从物联网设备中得到什么?
  9. 返回数组指针或引用。
  10. JavaScript实现表单验证功能
  11. VS 和 VS Code 更换字体
  12. 朱令被投毒案关键人物语料分析之孙维篇
  13. contiki 学习资料
  14. 百度飞桨携手精诺数据打造智慧熔炼,AI让年轻人一秒变身“老师傅”
  15. docker logs 查看日志
  16. 修改浏览器User-Agent
  17. Unity获取摄像头权限
  18. 刚子扯谈:源于Chanel的图片描述
  19. 班级管理html注册登录界面代码,基于JSP和SSH框架实现的班级管理系统
  20. 小密圈因技术原因暂停服务

热门文章

  1. 利用Album 实现仿微信图片选择(加入了图片剪裁)
  2. 实现目标的关键:管理层的目标管理策略
  3. uniapp打包离线App(ios) 实测可行
  4. 【资管数据源学习】关于基金账户、交易账户的一些问答
  5. PMI新人才三角如何构建自己的影响力?【洞见1】
  6. eclipse Egit解决冲突的方法
  7. java 数据库 触发器
  8. (程序员情感三部曲之一)找个程序员做老公,挺好!
  9. python对字典排序
  10. 互联网最值得加入的 173 家国企名单