STM32调试功能

文章目录

    • STM32调试功能
      • 1.硬件接口图
      • 2.调试原理
      • 3.引脚分配
      • 4.调试接口使用方式
      • 5.芯片配置

STM32调试功能

1.硬件接口图

STM32调试功能_第1张图片

2.调试原理

Cortex-M内核(M0/M3/M4/M7等)包含用于高级调试功能的硬件。利用这些调试功能,可以在取指(指令断点)或访问数据(数据断点)时停止内核。内核停止时,可以查询内核的内部状态和系统的外部状态。查询完成之后,将恢复内核和系统并恢复程序执行。

Cortex-M内核(MO/M3/M4/M7等)集成了串行SWD/JTAG调试接口(SWJ-DP),包括JTAG-DP接口(5个引脚)和SW-DP接口(2个引脚)。

  • JTAG调试接口(JTAG-DP)为5针标准JTAG接口。
  • 串口调试接口(SW-DP)为2针串行调试(时钟+数据)接口。

SW-DP的2个引脚和JTAG的5个引脚中部分引脚复用。

3.引脚分配

STM32调试功能_第2张图片

复位后,MCU会将用于SWJ-DP的全部5个引脚指定为专用引脚(AFO),可供调试工具立即使用。但是MCU可以禁止部分或者全部SWJ-DP端口,进而释放相关引脚以用作GPIO口。
STM32调试功能_第3张图片

如果引脚我们想作为其他复用功能使用,那么跟其他I0口复用映射配置方法是一致的。

我们目前只有1301和2001有JTAG功能,其他芯片只支持SWD
1301只支持JTAG、2001支持两种协议切换

4.调试接口使用方式

STM32调试功能_第4张图片

1.使用Jlink连接

Jlink驱动:SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace

pylink文档:PyLink — PyLink

2.读取内存地址

3.获取内存地址的默认值 register.py

5.芯片配置

环境搭建

1.按章Jlink 驱动, 安装位置:D:\Program Files\SEGGER\ Jlink

2.pycharm 下载并安装jlink支持的pylink_sqrare-0.14.1-py2.py3-none-any.whl, 内网放在C:\Anaconda3 \Lib\site-packages下, 用命令python setup.exe install 安装这个库,python 命令不识别添加环境变量:

C:\Anaconda3 C:\ Anaconda3\Scripts C:\ Anaconda3\Libary\bin

3.使keil能是被到芯片的型号配置:

下载并解压: Jlink HT device-FLASH 下载.rar

包含:HT 和 JLinkDevices.xml

  • 配置jlink: 将JLinkDevices.xml 复制到 Jlink 安装目录下:D:\Program Files\SEGGER\ Jlink \

    ​ 将HT 复制到 D:\Program Files\SEGGER\ Jlink \ Devices

  • 配置user: 将JLink安装目录下的 Devices 、 JlinkDevices.xml 、 Jlink_x64.dll 直接复制到 D:Users\kxdeng\AppData\Local\Temp

  • 配置 keil: 将HT 中的所有文件 复制到 keil 的安装目录下: D:\keil_v5\ARM\Flash 中

参考文档:

1.首页 | Read the Docs

2.Installation — PyLink

3.https://blog.csdn.net/jf_52001760/article/details/122382671

4.https://pypi.org/project/pylink-square/0.14.3/#files

你可能感兴趣的:(stm32,单片机,嵌入式硬件)