STM32的ST-link调试下载,JTAG,SWD,JLINK变量查看和位的逻辑电平查看各种调试接口硬件介绍

调试原理

  • STM32F-10X使用M3内核,该内核支持复杂的同i傲视操作,硬件调试模块允许在取指令(指令单步运行)或访问数据(数据断电时)使得内核停止。在内核停止时,内核状态都可被查询,完成查询后内核和外设被复原

  • 支持两种操作接口: 串行接口 JTAG调试接口

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 参考:https://www.cnblogs.com/neverguveip/p/9457261.html,https://www.cnblogs.com/neverguveip/p/9457262.html
    JTAG
    用的计算机的并口,JTAG也是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。但在满足该协议的实际硬件中,添加了电源接口或接地,一般是20引脚、14引脚和10引脚
    在这里插入图片描述
    SWD接口
    串行调试(Serial Wire Debug),需要引脚少,与JTAG相比,SWD只需要两根线,分别为:SWCLK和SWDIO。SWDIO–串行数据线,用于数据的读出和写入;SWDCLK–串行时钟线,提供所需要的时钟信号;一般来说,大多数单片机的JTAG接口和SWDIO接口是复用的,SWD也是用J-Link工具来实现的。半导体的ST-Link也是支持SWD模式的
    RDI接口
    远程调试接口(Remote Debug Interface),是ARM公司提出的标准调试接口
    J-Link
    是德国SEGGER公司推出基于JTAG的仿真器。简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒。JLINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。速度,效率,功能都很好,据说是众多仿真器里最强悍的
    ULINK
    是ARM/KEIL公司推出的仿真器,目前网上可找到的是其升级版本,并且仅可以在Keil软件上使用,增加了串行调试(SWD)支持
    ST-Link仿真器
    是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,其主要功能有:

  • 编程功能:可烧写FLASH ROM、EEPROM、AFR等;

  • 仿真功能:支持全速运行、单步调试、断点调试等各种调试方法,可查看IO状态,变量数据等;

  • 仿真性能:采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快;

  • 编程性能:采用USB2.0接口,进行SWIM / JTAG / SWD下载,下载速度快;
    SWIM(Single wire interface module)调试接口:STM8的调试接口,(ST-Link v2烧录器带有该接口)
    参考:https://blog.csdn.net/u011774239/article/details/105752115, https://download.csdn.net/download/leafkai/3508326
    在这里插入图片描述在这里插入图片描述

模拟仿真

不需要连接硬件,配置好型号就能仿真
在这里插入图片描述

在线仿真进入debug窗口

在线仿真需要注意硬件连接,一定先使用ST-Link连接好硬件,设置好配置**
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

实时调试过程中的按钮作用

在这里插入图片描述
在线调试按钮功能讲解

按钮名称功能
复位程序重新开始执行
执行到断点执行到程序添加断点的地方
停止运行使得程序和硬件同步停止,可以进入一步一步调试,
执行进去,执行过去,执行出去三个都是针对函数执行来说的
执行到光标处有点儿像断点,但光标只能有一个
汇编窗口显示汇编窗口
堆栈局部变量窗口查看局部变量变化,方便分析
观察窗口可单独搜索自己想要查看的变量
内存查看窗口可以用来查看内存中某个地址中数值变化,对状态控制时查看情况很好用
串口打印窗口出现一个类似串口打印的窗口,显示从串口打印的东西
逻辑分析窗口查看IO的电平变化
系统查看窗口各种外设寄存器查看窗口

在这里插入图片描述

查看变量的步骤,

实际下图中的LED0是一个bit位,并不合适,只是为了说明操作步骤
在这里插入图片描述

查看位的逻辑电平

参考:https://blog.csdn.net/qq_36958104/article/details/119188894
必须在软件模拟情况下,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一个查看GPIOB_PE5的例子

首先,连接好硬件,keil5的电源debug打开,
在这里插入图片描述
按照上图步骤打开GPIOE的监视窗口
在这里插入图片描述
在这里插入图片描述
从表中可以看出PE5的输出模式是0011,也就是50MHZ的推挽输出模式,ODR寄存器的读取也是1高电平。
在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
stm32f103c8芯片制作的J-LinkST-Link调试器,功能和成品模块几乎一样,同外观也十分小巧,便于携带和使用。 搜集了相关制作资料,画PCB板,焊接制作,烧固件,分别做了J-LinkST-Link,都可以用,效果。成本虽然低不了多少,但对于一个电子爱好者,谁不想自己亲手做个下载器和调试器。 烧录固件: 焊接好实物后,是不能用keil软件烧程序的,因为固件只是一个hex文件,必须要用到其他工具烧录,这里有两种 1.使用J-Link烧录工具下载,这个工具在电脑J-Link软件SEGGE里有,可以使用JTAGSWD方式下载,具体步骤可以百度搜下。 2.采用串口下载,将C8单片机BOOT0置高,配置成串口烧录程序,工具为flymcu,具体步骤可以百度搜下。 关于烧录固件后,插上USB没反应(情况比较多),或者与开发工具通信不正常下载不了程序(笔者做ST-Link遇到过): 前者笔者遇到过的情况为,USB与单片机间的限流电阻太大或者上拉电阻过大过小,使得USB与单片机通信不正常;还有一个就是晶振焊接外壳与焊盘短接,晶振短路了,没反应;另外就是没有焊接晶振起振电容,晶振无法起振,单片机没工作。当然还有可能就是单片机烧坏了(这种情况比较少)。 对于后者通信不正常,一般是由于烧录进去的固件版本低了,这可以升级固件,当然这个候就不是用下载工具像烧固件那样升级了,而是利用电脑USB口给升级,制作的J-Link keil会自动检测和升级,而制作的ST-Link则需要其他工具,如STM32 ST-LINK Utility,网上都有例程。 J-Link下载ST-Link调试器 电路城语:免费分享设计资料,不提供技术支持,请大家使用前验证资料的正确性! PCB工程、固件库、工具资料至附件下载
在考察当前市面上现有的仿真器之后,我们推出一款硬件软件均开源的仿真器,相比目前流行的jlinkstlink,具有以下优势: 1. 硬件原理图PCB完全开源,软件开源,无版权风险。当前市面上的jlink/stlink均为盗版,使用上存在一些法律问题,部分jlink和IDE如MDK配合使用,会提示盗版而无法正常使用,且部分jlink版本存在使用一段间后丢固件的问题,一旦固件丢失,需要手动操作软件恢复固件,操作极其繁琐。同 jlink售价亦较为昂贵。 2.引出SWD接口,支持主流上调试软件,包括keil、IAR、openocd,均支持使用SWD进行下载、单步调试。 3. 引出JTAG接口,配合openocd可支持全球范围内几乎所有SoC芯片的调试,如ARM Cortex-A系列、DSP、FPGA、MIPS等,因为SWD协议只是ARM自己定义的私有协议,而JTAG则是国际IEEE 1149标准。通常的仿真器目标芯片一般为ARM Cortex-M系列,均未引出JTAG接口,而本产品引出JTAG接口,适合您在其他平台下进行开发调试工作。 4.支持虚拟串口(也就是既可以用来当仿真器,又可以作为串口工具使用,替代ch340、cp2102,pl2303)。 5. DAPLink是CMSIS-DAP仿真器的升级版,也是ARM官方在开源社区力推的仿真器,最大的特点是支持U盘拖拽烧录。插入DAPLink之后,PC上会出来一个U盘,只需将hex或者bin文件拖入到U盘中,即可完成烧录。 6. DAPLink支持U盘固件升级,只需将nRST接地,插入DAPLink,PC上即会出来一个U盘,只需将新的固件(hex或者bin文件)拖入到U盘中,即可完成固件升级。因为DAPLink实现了一个带U盘功能的bootloader,可以方便的完成固件升级。若您有基于STM32的产品正在量产,而且产品后续可能需要升级,则DAPLink中的bootloader代码非常值得您参考,客户端不需要安装复杂的IDE或者烧写工具才能完成升级,只需拖动到U盘即可方便的完成您的产品升级。 7. 具有一定深度的原理性的教程讲解视频,包括从硬件到软件,适合对嵌入式开发感兴趣的朋友观看学习。 更多信息,请点击https://github.com/wuxx/nanoDAP。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值