DAP下载程序(在MDK上配置DAP)以及程序调试(Keil uVision5软件的使用)

目录

1.  在MDK上配置DAP

2.  了解不同开发板不同的下载算法

3.  DAP调试程序

3.1  JTAG/SWD调试原理概述

3.2  基础执行控制按钮

3.3  查看程序段/函数执行时间

3.4  结束仿真报错解决方法

3.5  工具栏常用窗口按钮介绍

3.5.1  Call Stack窗口:查看函数调用关系&局部变量

3.5.2  Watch窗口:查看函数首地址&变量值,设置全局变量在被读或写后自动停止运行

3.5.3  Memory窗口:内存查看窗口

3.5.4  Peripheral窗口:查看寄存器的值

4.  仿真时需要注意的点

4.1  仿真时使用MDK的Level 0等级优化

4.2  调试停止在断点处时,只是内核停止,外设会继续运行

4.3  断点的设置要有时间观念,考虑到是否会打断正常通信


1.  在MDK上配置DAP

        首先随便打开一个工程,找到下图方框位置点击;

        点击完后,进入如下界面,点击“Debug”,进入下图界面,将2中的选项勾选后,点击“Settings”;

        点击完进入如下界面,按照图示进行选择。

        操作完后返回如下界面,找到“Utilities”点击,勾选2所示的内容“Use Debug Driver”。

2.  了解不同开发板不同的下载算法

        首先随便打开一个工程,找到下图方框位置点击;

        点击完后,进入如下界面,点击“Debug”,进入下图界面,点击“Settings”;

        进入如下界面,其中2按照,如图进行勾选,3是STM32F103C8T6的算法下载。

3.  DAP调试程序

3.1  JTAG/SWD调试原理概述

        Cortex-M内核含有硬件调试模块,该模块可在取指(指令断点)或访问数据(数据断点)时停止。

        内核停止时,可以查询内核的内部状态和系统的外部状态。完成查询后,可恢复程序执行。

        灵活的SWJ-DP引脚分配。

3.2  基础执行控制按钮

        对于断点相关按钮

        点击开始/停止仿真按钮,进入如下界面:

        对于相应按键功能介绍

3.3  查看程序段/函数执行时间

        首先,点击魔术棒按钮,如下:

        进入到如下界面:

        按照顺序点击,进入如下界面:

        将“Core Clock”改为72MHz(使用的STM32F103C8T6,其他型号根据时钟频率进行相关更改)。

3.4  结束仿真报错解决方法

        我们在使用过程中可能在结束仿真时可能会遇到如下情况:

原因:MDK5.23以后对中文的支持不友好

解决方法:

1、仿真结束前将所有断点清除

2、将工程路径改浅,并改成全英文路径

3.5  工具栏常用窗口按钮介绍

3.5.1  Call Stack窗口:查看函数调用关系&局部变量

其中1是函数的类型名,2是函数的首地址,3是函数的返回类型

3.5.2  Watch窗口:查看函数首地址&变量值,设置全局变量在被读或写后自动停止运行
3.5.3  Memory窗口:内存查看窗口
3.5.4  Peripheral窗口:查看寄存器的值

4.  仿真时需要注意的点

4.1  仿真时使用MDK的Level 0等级优化

4.2  调试停止在断点处时,只是内核停止,外设会继续运行

4.3  断点的设置要有时间观念,考虑到是否会打断正常通信

Visual Studio编辑器左侧菜单栏不小心关掉如何打开(左侧解决方案资源管理器不显示如何打开)、C语言中int main和void main的区别以及C工程的创建_visual studio2022左边栏怎么打开-CSDN博客

Visual Studio编辑器中C4996 ‘scanf‘: This function or variable may be unsafe.问题解决方案-CSDN博客

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-19 12:26:07       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-19 12:26:07       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-19 12:26:07       87 阅读
  4. Python语言-面向对象

    2024-02-19 12:26:07       96 阅读

热门阅读

  1. git----->git pull和git fetch区别

    2024-02-19 12:26:07       52 阅读
  2. Mybatis

    Mybatis

    2024-02-19 12:26:07      47 阅读
  3. 前端给后端传值

    2024-02-19 12:26:07       52 阅读
  4. RSA后端加密,解密,加签及验签

    2024-02-19 12:26:07       52 阅读
  5. ES的使用场景深入详解

    2024-02-19 12:26:07       51 阅读
  6. elasticsearch常用命令

    2024-02-19 12:26:07       47 阅读
  7. 【国产MCU】-CH32V307-通用定时器(GPTM)-PWM输出

    2024-02-19 12:26:07       59 阅读
  8. 消息中间件-RocketMQ

    2024-02-19 12:26:07       42 阅读
  9. CCF编程能力等级认证GESP—C++5级—20231209

    2024-02-19 12:26:07       42 阅读