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

news2025/1/19 11:19:37

目录

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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1455444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【激光SLAM】激光的前端配准算法

文章目录 ICP匹配方法(Point to Point)PL-ICP匹配方法(Point to Line)基于优化的匹配方法(Optimization-based Method)优化方法的求解地图双线性插值拉格朗日插值法——一维线性插值 相关方法(C…

HCIP-MGRE实验配置、PPP的PAP认证与CHAP认证、MGRE、GRE网络搭建、NAT

实验要求 R5为ISP,只能进行IP地址配素,其所有地址均为公有IP地址R1和R5间使用PPP的PAP认证,R5为主认证方 R2与R5之间使用PPP的chap认证,R5为主认证方 R3与R5之间使用HDLC封装。R1/R2/R3构建一个MGRE环境,R1为中心站点;R1、R4间为…

深入解析Android AIDL:实现跨进程通信的利器

深入解析Android AIDL:实现跨进程通信的利器 1. 介绍Android AIDL Android Interface Definition Language (AIDL) 是一种Android系统中的跨进程通信机制。AIDL允许一个应用程序的组件与另一个应用程序的组件通信,并在两者之间传输数据。 AIDL的主要作…

2024 VNCTF----misc---sqlshark sql盲注+流量分析

流量分析 wireshark 可以看到很多 any/**/Or/**/(iF(((((Ord(sUbstr((sElect(grOup_cOncat(password))frOm(users)) frOm 1 fOr 1))))in(80))),1,0))# P any/**/Or/**/(iF(((((Ord(sUbstr((sElect(grOup_cOncat(password))frOm(users)) frOm 1 fOr 1))))in(104))),1,0))#…

我的NPI项目之Android Camera (二) -- 核心部件之 Camera Sensor

说到Camera模组,我们比较关心的是用的什么样的sensor? sensor的分辨率多少,sensor的像素多大,sensor是哪家生产的等等一些问题。今天,我们就穿越时间,将sensor的历史扒一扒。 Wikipedia先看一下&#xff1…

初识 Rust 语言

目录 前言一、Rust 的背景二、Rust的特性三、部署开发环境,编写一个简单demo1、在ubuntu 20.04部署环境2、编写demo测试 四、如何看待Linux内核引入Rust 前言 自Linux 6.1起,初始的Rust基础设施被添加到Linux内核中。此后为了使内核驱动程序能够用Rust编…

C++--Linux基础使用

文章目录 几个简单命令开机关机重启查看当前目录切换当前目录列出当前目录下的目录和文件列出指定目录下的目录和文件清屏查看/设置时间 目录和文件目录概要目录详细说明相对路径和绝对路径 上古神器vi创建/打开文件vi 的两种模式vi 的常用命令 用户管理组管理用户管理修改用户…

小迪安全25WEB 攻防-通用漏洞SQL 读写注入MYSQLMSSQLPostgreSQL

#知识点: 1、SQL 注入-MYSQL 数据库 2、SQL 注入-MSSQL(SQL server) 数据库 3、SQL 注入-PostgreSQL 数据库 #详细点: Access 无高权限注入点-只能猜解,还是暴力猜解 因为access的数据库是独立存在的,不存在统一管理 …

应用回归分析:多重共线性

多重共线性的概念 在回归分析中,我们通常关注的是如何利用一个或多个自变量(解释变量)来预测一个因变量(响应变量)。当我们使用多元线性回归模型时,理想的情况是模型中的每一个自变量都能提供独特的、对因…

Cesium 问题——加载 gltf 格式的模型之后太小,如何让相机视角拉近

文章目录 问题分析问题 刚加载的模型太小,如何拉近视角放大 分析 在这里有两种方式进行拉近视角, 一种是点击复位进行视角拉近一种是刚加载就直接拉近视角// 模型三加载 this.damModel = new Cesium.Entity({name: "gltf模型",position:</

5、Linux 常用指令

一、帮助指令 1.man 指令 语法 man [命令或配置文件] //功能描述&#xff1a;获得帮助手册上的信息查看 ls 命令的帮助信息 man ls信息作用NAME命令名称SYNOPSIS如何使用命令DESCRIPTION描述命令SEE ALSO相关的手册 2.help 指令 语法 help [命令] //功能描述&#xff1a;获得…

AttributeError: module ‘distutils‘ has no attribute ‘version‘

报错 AttributeError: module ‘distutils’ has no attribute ‘version’ 出现如下图报错&#xff1a; 或者可以通过修改torch版本和固定setuptools版本为59.5.0解决&#xff0c;但是我觉得前者有点麻烦&#xff0c;后者尝试无效&#xff0c;于是找到下图路径中的文件__init…

洛谷 P1019 [NOIP2000 提高组] 单词接龙

参考代码 #include <bits/stdc.h> using namespace std; string s[25]; int vis[25], ans, now 1, n; void dfs(int k) { ans max(ans, now); for(int i 1; i < n; i) if(vis[i] < 2) { for(int j 0; j < s[k].length(); j) …

N叉树的前序遍历

1.题目 这道题是2024-2-18的签到题&#xff0c;题目难度为简单。 考察的知识点为DFS算法&#xff08;树的前序遍历&#xff09;。 题目链接&#xff1a;N叉树的前序遍历 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历…

[Flink04] Flink部署实践

Flink部署支持三种模式&#xff1a;本地部署、Standalone部署、Flink on Yarn部署。 独立&#xff08;Standalone&#xff09;模式由Flink自身提供资源&#xff0c;无需其他框架&#xff0c;这种方式降低了和其他第三方资源框架的耦合性&#xff0c;独立性非常强。但Flink 是大…

Shiro-04-shiro 详细架构

详细架构 下图显示了Shiro的核心架构概念&#xff0c;并简要概述了每个架构&#xff1a; 下面我们对除了核心组件的部分做一下简单的介绍&#xff1a; Authentication&#xff08;身份验证&#xff09; 身份验证是验证用户身份的过程。 也就是说&#xff0c;当用户通过应用…

相机图像质量研究(32)常见问题总结:图像处理对成像的影响--振铃效应

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

VMware Ubuntu 无网卡驱动怎么办?

网上拷了一个VMware的Ubuntu系统&#xff0c;结果网络没法连接。 ifconfig命令一看&#xff0c;只有lo的本地回环网卡&#xff0c;没有真实网卡驱动。 很简单&#xff0c;一下三步就可以搞定。 首先&#xff0c;iplink show查看本地所有网卡。 我这里出现了一个ens33的网卡…

深度学习-分类任务---经典网络

文章目录 经典网络1 LeNet51.1 模型结构1.2 模型结构1.3 模型特性 2 AlexNet2.1 模型介绍2.2 模型结构2.3 模型解读2.4 模型特性 3 可视化ZFNet-转置卷积3.1 基本的思想及其过程3.2 卷积与转置卷积3.3 卷积可视化3.4 ZFNet和AlexNet比较 4 VGGNet4.1 模型结构4.2 模型特点 5 Ne…

21-k8s中pod的调度-污点和污点容忍

一、污点的概念 所谓的污点&#xff0c;就是给k8s集群中的节点设置的污点&#xff0c;通过设置污点&#xff0c;来规划资源创建时所在的节点&#xff1b; 污点的类型解释说明PreferNoshedule 节点设置这个五点类型后&#xff1b; 表示&#xff0c;该节点接受调度&#xff0c;但…